By | 21/10/2020

Hello Sobat Kendali Elektro.
Pada artikel sebelumnya saya membahas tentang Cara dua Arduino Berkomunikasi dengan I2C dimana master sebagai penerima datanya dan slave sebagai pengirim datanya,

pada artikel kali ini saya akan mencoba Cara dua Adruino Berkomunikasi dengan Serial sebelum itu saya akan menjelaskan sedikit mengenai komunikasi serial.
Komunikasi serial atau juga sering disebut sebagai komunikasi TX RX yang artinya untuk melakukan komuunikasi serial kita membutuhkan pin transmiter dan pin receiver.
sehingga untuk bisa dua perangkat berkomunikasi dengan Serial maka kita harus menghubungkan

Contoh Aplikasi Komunikasi Dua Serial Arduino

TX dengan RX
RX dengan TX

diibaratkan telinga mendengarkan perkataan mulut dan mulut memberikan suara ke telinga.
pada Arduino Mega 2560 dan Due terdapat empat Pin Serial yang siap digunakan sedangkan untuk Arduino NanoProminiUno, hanya memiliki satu Pin Serial. Sehingga untuk menambahkan pin Serial pada Arduino Nano, Uno atau promini kita bisa menggunakan library <SoftwareSerial.h>

contoh program nya seperti berikut :

#include <SoftwareSerial.h>
SoftwareSerial serial_com(3,2);  // untuk pin 3 sebagai Rx dan pin 2 sebagai Tx

sekarang saya akan mencoba untuk melakukan komunikasi antar dua Arduino dengan Serial 
pertama kita lakukan wiring.

Pin 3 Arduino_receiver ——- Pin 2 Arduino_transmitter
Pin 2 Adruino_transmitter —– Pin 3 Arduino_receiver

untuk lebih jelasnya silahkan lihat gambar berikut ini :

Tutorial Arduino, Komunikasi Serial Antar Arduino

selanjutnya silahkan buat program untuk Arduino sebagai Transmitter

#include <SoftwareSerial.h>

SoftwareSerial serial(2,3);

void setup() {
  // put your setup code here, to run once:
serial.begin(9600);
serial.print("www.kendalielektro.com & www.cecekliwat.xyz");
}

void loop() {
  // put your main code here, to run repeatedly:

}

dan berikut adalah program untuk Adruino sebagai Receiver

#include <SoftwareSerial.h>

SoftwareSerial serial(3,2);

String data;
void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
while (serial.available()>0){
  delay(10);
  char c = serial.read();
data+=c;

}if (data.length()>0){
  Serial.println(data);
  data="";
}
}

Mungkin cukup Sekian dulu artikel kali ini, kurang lebihnya mohon maaf, silahkan beri masukan dan kritikan di kolom komentar dibawah ini !

keyword :

komunikasi arduino serial
cara dua arduino berkomunikasi
cara menggunakan serial arduino
komunikasi serial
Arduino Serial
Serial

36 Replies to “Tutorial Arduino, Komunikasi Serial Antar Arduino”

  1. Mumtazah Farm

    Gan… bisa kasih contoh peogram master – slave nya ndak?

    Sy masih bingung menyisipkan coding nya…

    Sy terbiasa dg arduino PLC soale…

    Reply
  2. J husein

    gan kalau mau buat akuisisi data dengan menggunakan 2 buah arduino, tetapi komunikasi datanya dengan gelombang sinus gimana ? atau dengan menggunakan komunikasi serial juga ?

    Reply
  3. Agus Juliana

    assalamu'alaikum wr wb
    saya mau nanya tentang komunikasi data di arduino, apakah bisa satu arduino menerima data dari beberapa arduino dengan berbagai jenis modul komunikasi ?
    contohnya saya mau menerima data dari hc-12 (wireless) dan dari rs485 dengan kabel, apakah arduino tersebut bisa menerima data dari kedua modul tersebut ? terimakasih

    Reply
  4. Anak Kendali

    bisa gan,, kayaknya itu modul pakai serial ya komunikasinya,,

    jadi gunakan aja seperti tutorial di atas, dan tambain aja port serialnya

    SoftwareSerial serial1(2,3);
    SoftwareSerial serial2(4,5);
    SoftwareSerial serial2(6,7);

    Reply
          1. admin Post author

            itu ada di layar pojok kanan bawah

  5. Harpan Saputra

    gan, kalo arduino mega ke uno sama kaya gitu ato gimana? mohon maaf karena saya masih baru menggunakan arduino karena ini tugas kampus

    Reply
  6. Anak Kendali

    sama gan, cuma Arduino MEGA punya kelebihan, Hardware Serial nya ada 4, coba di perhatikan, Arduino mega ada pin tx rx, tx1 rx1, tx2 rx2, tx3 rx3,

    nah dihubungin nya ke salah satu tx rx diatas,,
    jadi misal kalo pake tx1 rx1 pake programnya

    Serial1.begin(9600);
    Serial1.read();
    Serial1.write();
    Serial1.print();

    Reply
  7. Ragil Andika Johan

    Gan, apa bisa menghubungkan arduino mega 2560 dengan nodeMcu esp8266 ? Jdi nnti utk komunikasi menggunakan nodeMcu esp8266, sedangkan utk pin I/O menggunakan arduino mega 2560

    Reply
  8. Anak Kendali

    bisa banget gan,, pakai Serial1 atau Serial2 atau Serial3 di arduino mega2560 nya

    dan pake SoftwareSerial di Nodemcu ESP8266 nya

    Reply
  9. Zura

    Gan, bisa gak dari transmitter itu ngirim data 2 atau lebih sekaligus ? Kalo bisa gimana ya ?

    Reply
    1. herul Post author

      bisa gan,,
      Serial.print(data1);
      Serial.print(‘,’);
      Serial.print(data2);

      Reply
        1. herul Post author

          di parsing,, bedain atau pisahin data1 dan data2, cari di blog ini, parsing data serial

          Reply
  10. Ba

    Gan, kalo serial 1,2,3 kepake semua trus mau nambah serial lagi nanti di program kirimnya nulisnya serial4.println atau gimana?

    Reply
    1. herul Post author

      pake sofwtareSerial

      variablenya bebas contoh

      SoftwraeSerial Serial_baru(pin RX, pin TX); // dari digital pin

      Serial_baru.println

      Reply
  11. Dodi

    gan kalo | while (serial.available()>0) | di pakai datanya ngga keluar tapi kalo di hapus mucul nya kotak2 kenapa ya, pakai mega sama uno mega master uno slave pin 10 11

    Reply
  12. M. Irfan Wahyuni

    saya sudah coba gan tpi kok gk muncul ya data yg dari pengirim di serial monitor nya si arduino reciver?

    Reply
    1. herul Post author

      baudrate dan konfigurasi pin bagaimana?

      Reply
      1. M. Irfan Wahyuni

        SoftwareSerial serial(2,3); (pada arduino 1 dan 2 masing-masing menggunakan program tersebut)
        (arduino 1) pin 2 (RX) menuju pin 3 (TX) (arduino 2)
        (arduino 1) pin 3 (TX) menuju pin 2 (RX) (arduino 2)
        baudrate sudah saya samakan yaitu 9600
        yang saya masih bingungkan, apakah nanti nanti nya data pada arduino 1 akan tampil pada serial monitor arduino 2? begitukah hasil akhir dari program tersebut?

        Reply

Leave a Reply

Your email address will not be published. Required fields are marked *