1. Kondisi
[Kembali] Tambahkan resistor sebelum Button sebesar 1k ohm
2. Gambar Rangkaian Simulasi
[Kembali]Rangkaian ketika Button tidak ditekan |
- Flowchart untuk Arduino MASTER
4. Listing Program
[Kembali] //MASTER
#define button 2 //Deklarasi pin 2 untuk button
void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
pinMode(button,INPUT_PULLUP); // Deklarasi button sebagai input_pullup
Serial.begin(9600); //Set baud rate 9600
}
void loop() //Semua kode dalam fungsi ini dieksekusi berulang
{
int nilai = digitalRead(button); //membaca nilai dari 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(); // membaca perintah atau data
if(data=='1') //Jika data yang dikirimkan berlogika
{
digitalWrite(led,HIGH); //LED menyala
}
else
{
digitalWrite(led,LOW); //LED mati
}
}
}
5. Video
[Kembali] Percobaan diatas merupakan rangkaian percobaan komunikasi UART dimana komunikasi antara 2 Arduino yang dibagi menjadi MASTER dan SLAVE. Pada arduino MASTER dihubungkan sebuah button dengan pin 2 arduino. Sebelum button dihubungkan sebuah resistor dengan besar 1K ohm. LAlu dihubungkan ke ground. Selanjutnya pada Arduino SLAVE, dihubungkan sebuah LED pada pin 12 Arduino, dan dilanjutkan ke ground.
Pada pin TXD dan pin RXD. pada arduino akan dihubungkan secara silang. pada pin TXD MASTER akan dihubungkan dengan pin RXD SLAVE. dan pin RXD MASTER akan dihubungkan dengan pin TXD SLAVE. Hal ini bertujuan untuk komunikasi antara arduino. Pada program telah diatur ketika Button ditekan, maka akan bernilai 0, ini disebabkan Button dihubungkan pada ground. pada saat ini serial.print akan menampilkan nilai "1", nilai atau data ini akan dikirimkan dan dibaca oleh slave. Pada slave terdapat serial.read yang akan membaca data. Sehingga ketika serial.read membaca data "1" maka akan menghidupkan LED, dengan delay sebesar 200 ms.
Sebaliknya, jika button tidak ditekan maka akan menampilan serial.print "2",maka pada SLAVE akan mambaca data dan akan mematikan LED.
Listing Program MASTER disini
Listing program SLAVE disini
Video disini
HTML disini
Datasheet LED disini
Datasheet Arduino disini
Datasheet resistor disini
Datasheet Button disini
Tidak ada komentar:
Posting Komentar