Komunikasi serial (UART) antar Arduino (Master Slave)
Assalamulaikum warahmatullahi wabarakatuh
Komunikasi
serial antar arduino biasanya digunakan pada saat kita membuat suatu
sistem yang memiliki master dan slave. Pada tutorial ini kita akan
mengontrol sebuah LED yang ada di arduino master dengan cara menekan
tombol button yang ada pada arduino slave.
Berikut rangkaiannya:
ctt : master yang terhubung dengan LED sedangkan Slave yang terhubung
dengan button
Wiring:
- pin 10 master
terhubung dengan pin 11 slave
- pin 11 master
terhubung dengan pin 10 slave
- LED terhubung ke
pin 12 master
- button terhubung
ke pin 12 slave
- dan jangan lupa untuk catu daya arduinonya
- dan jangan lupa untuk catu daya arduinonya
Pada rangkaian di
atas untuk button tidak perlu dihubungkan terlebih dalu ke resistor
itu dikarenakan kita akan menggunakan resistor pull-up yang ada pada
arduino.
Berikut code program
master:
#include
<SoftwareSerial.h>
#define led 12
SoftwareSerial
master(10, 11); ///Rx, Tx
void setup() {
master.begin(9600);
pinMode(led,
OUTPUT);
}
void loop() {
if(master.available()>0){
char data =
master.read();
if(data == 'H')
digitalWrite(led, HIGH);
else if(data ==
'L') digitalWrite(led, LOW);
}
}
penjelasan program
diatas >> jika arduino master menerima data karakter 'H' dari
arduino slave maka led pada arduino master menyala, jika data yang
diterima arduino master berupa karakter 'L' dari arduino slave, maka
led pada arduino master akan mati atau padam.
Berikut code
program arduino slave:
#include
<SoftwareSerial.h>
#define button 12
int counter = 2;
SoftwareSerial
slave(10, 11); //Rx Tx
void setup() {
slave.begin(9600);
// menggunakan resistor pull-up pada arduino
// menggunakan resistor pull-up pada arduino
pinMode(button,
INPUT_PULLUP);
}
void loop() {
if(digitalRead(button == 0){
counter++;
delay(250);
if(counter %2 ==
0)slave.write('H');
else
slave.write('L');
}
}
}
Penjelasan program
di atas (slave) jika button ditekan maka arduno slave akan mengirimkan
karakter 'H' ke arduino master, jika button ditekan lagi maka arduino
slave akan mengirimkan karakter 'L' ke arduino master dan jika button
ditekan lagi maka arduino slave akan mengirimkan karakter 'H' ke arduno
master. Dan bergantian karakter dikirim ke arduino master jika button
ditekan lagi.
Yok langsung
dicoba….
Semoga bermanfaat dapat
membantu…………...
Kenapa program slavenya gagal verify ya?
ReplyDelete