Pada rangkaian ini menggunakan komunikasi UART (Universal Asynchronous Receiver-Transmitter). Kedua arduino masing-masing berperan sebagai master dan slave. Master akan mengirim data ke slave dan slave mengeksekusi data yang diberikan oleh master. Push button berfungsi sebagai input dari master. Ketika push button ditekan maka akan berlogika low dan apabila diangkat akan berlogika high. Saat master mengirimkan logika low ke slave maka LED akan hidup dan mati secara bergantian dengan jeda 1000 ms. Sedangkan saat master mengirimkan logika high ke slave maka LED akan mati.
//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);
//Button ditekan
if (nilai == 0)
{
Serial.print("1");
}
else
{
Serial.print("2");
}
delay(1000);
}//SLAVE
#define led 12 //Deklarasi pin 12 untuk LED
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(led, OUTPUT); //Deklarasi LED sebagai output
Serial.begin(9600); //Set baud rate 9600
}
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
delay(1000);
digitalWrite(led,LOW); //LED mati
delay(1000);
}else{
digitalWrite(led,LOW); //LED mati
}
}
}
Tidak ada komentar:
Posting Komentar