Tugas Pendahuluan (Percobaan 1 Kondisi 6)
Modul 3
Percobaan 1 Kondisi 6
Tambahkan resistor sebelum LED sebesar 1k ohmListing Program
Percobaan ini merupakan salah satu penggunaan komunikasi arduino UART, karena metode UART ini adalah metode asyncronus, maka pada penggunaanya menggunakan start bit, parity dan end bit.
//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");
}
else
{
Serial.print("2");
}
delay(200);
}
//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
}
else
{
digitalWrite(led,LOW); //LED mati
}
}
}
Pada program tersebut diketahui ada 2 program untuk 2 arduino, yaitu master dan slave. Master merupakan pengirim sedangkan slave adalah penerima. Pada master kita deklarasikan button sebagai input_pullup yang tersambung dengan pin 2, button akan meberi sinyal ke arduino 1, ketika button diberi logika maka akan dikirimkan ke arduino slave.
Pada arduino slave kita hubungkan pin 8 dengan LED sebagai output. Kemudian menggunakan syntak serial.avaible agar data yang di kirim master dapat di terima oleh arduino slave. Kemudian di deklarasikan data sebagai serial.read data dari master. Ketika data 1 maka LED hidup dan yang lain arduino mati.
Pada simulasi proteus yang telah di berikan program arduino. maka ketika kita menekan button LED akan menyala dan begitu juga untuk sebaliknya.
Tidak ada komentar:
Posting Komentar