PERCOBAAN 1 KONDISI 4
1. Kondisi[Back]
Percobaan 1 Kondisi 4 "Ubah Bound rate pada slave menjadi 34500"
2. Gambar Rangkaian Simulasi[Back]
3. Video 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
}
}
}
Tidak ada komentar:
Posting Komentar