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

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
  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…………...


Comments

Post a Comment

Popular posts from this blog

Menggunakan Driver Motor IBT-2 BTS7960 dengan arduino

Register-Register pada CPU--> Arsitektur komputer

Komunikasi Serial pada Arduino