a) Memahami prinsip kerja UART,SPI, dan I2C
b) Mengaplikasikan protokol komunikasi UART,SPI,dan I2C pada arduino
2. Alat dan Bahan[Back]
Alat dan bahan yang digunakan pada percobaan pertama yaitu
3. Rangkaian Simulasi[Back]
4. Prinsip Kerja Rangkaian[Back]
Sebelumnya boundrate adalah kecepatan transfer data dalam bit per satuan detik. Dan pada percobaan ini kita menggunakan komunikasi UART yang bekerja secara asinkronus.Jadi kita tidak menggunakan clock tetapi boud rate. Pin transmiter pada master akan dihubungkan ke receiver slave. Sedangkan transmitter slave dihubungkan ke receiver master.Pin 2 digital master dihubungkan ke button dan pin 12 slave dihubungkan ke LED dan ground. Push button berfungsi sebagai input pull up dari master artinya ketika ditekan akan berlogika 0 dan ketika diangkat berlogika 1. Arduino master menerima input dari push button kemudian arduino master akan mentransfer data ke arduino slave. Dan di arduino slave akan diperiksa apakah ada perintah dari arduino master.
Dan programnya sendiri
> Master
//MASTER
#define button 2 //Deklarasi pin 2 untuk button
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(button,INPUT_PULLUP);
Serial.begin(9600); //Set baud rate 9600
}
void loop() //Semua kode dalam fungsi ini dieksekusi berulang
{
int nilai = digitalRead(button);
//ditekan
if(nilai == 0)
{
Serial.print("1"); // Mengirim data ke port serial, dan mencetak angka 1
}
else
{
Serial.print("2");
}
delay(200);
}
>Slave
//SLAVE
#define led A1 //Deklarasi pin 12 untuk LED
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(led,OUTPUT); //Deklarasi LED sebagai output
Serial.begin(34500); //Set baud rate 34500
}
void loop() //Semua program dalam fungsi ini dieksekusi berulang
{
if(Serial.available()>0)
{
int data = Serial.read();
if(data=='1') //Jika data yang dikirimkan berlogika
{
digitalWrite(led,HIGH); //LED menyala
}
else
{
digitalWrite(led,LOW); //LED mati
}
}
}
5. Video Rangkaian[Back]
6. Analisa[Back]
1. Analisa bagaimana hasil jika memvariasikan boudrate antar master dan slave terhadap output yang dihasilkan!
Jawab : Percobaan pertama kita menggunakan komunikasi UART dimana komunikasi ini menggunakan boudrate dalam kecepatan data , jadi jika variasi boudrate dari master dan slave sama maka arduino akan bisa berjalan / komunikasi. Kemudian jika boudrate dari master dan slave itu berbeda maka arduino tidak akan berjalan. Karena boudrate merupakan kecepatan transfer data dalam bit per satuan detik, jadi jika kecepatan transfer data berbeda maka komunikasinya tidak dapat terjadi.
2. Analisa pengaruh jika kabel pada Rx master ke Tx Slave diputus!
Jawab: Pada percobaan ini, Jika Rx master ke Tx slave diputus tidak akan berpengaruh karena yang mengirim data itu dari master ke slave sehingga yang diperlukan yaitu Tx master ke Rx slave.Namun jika slave juga akan mengirim data, maka kabel Rx master ke Tx slave itu harus di sambung, jika tidak maka pengiriman data tidak terjadi.
3. Analisa pengaruh jika kabel pada Tx master ke Rx slave diputus!
Jawab : Jika kondisi ini terjadi maka tidak akan terjadi pengiriman dan penerimaan data (komunikasi). Dimana master itu merupakan pengirim data dan slave penerima data jadi dibutuhkan Tx master dan Rx slave terhubung agar komunikasi terjadi
4. Analisa pengaruh penggunaan input pullup pada program!
Jawab : Agar rangkaian berjalan, maka kita harus mendeklarasikan pinmode button itu pull up. Karena bentuk rangkaian kita itu rangkaian pull up dimana ketika dia kondisi tidak ditekan dia berlogika 1 dan ketika ditekan dia berlogika low.
7. Link Download[Back]
Download HTML disini
Download Video Rangkaian disini
Tidak ada komentar:
Posting Komentar