By | 20/10/2020

Hello Sahabat Anak Kendali.
Pada kesempatan kali ini saya akan mencoba untuk mengakses Arduino dimana ada dua buah Aduino yang saling berhubungan atau Berkomunikasi antar keduanya menggunakan Komunikasi I2C (Inter Intgrated Circuit) dimana saya bisa mengatur Arduino tersebut menjadi Slave atau master, slave atau master keduanya bisa dijadikan untuk mengirim data atau sebagai penerima data tergantung kita memprogramnya.

Apa Itu Komunikasi I2C Arduino ?

pada komunikasi I2C kita menggunakan komunikasi sinkron yang artinya pengiriman clock secara bersamaan dan juga kita dapat menggunakan beberapa perangkat sekaligus  dengan maksimal perangkat 112, dan jika kita menggunakan banyak perangkat maka kita wajib menggunakan resistor pullup pada jalur SDA dan SCL nya. silahkan baca Apa itu Resistor PullUp dan PullDown
baiklah disini saya akan mencoba untuk Membuat dua Arduino berkomunikasi dimana Slave sebagai Pengirim datanya dan Master sebagai Penerima datanya langsung saja kita lakukan wiring seperti pada gambar berikut

Tutorial Komunikasi I2C Antar Arduino

Code Arduino to Arduino I2C

Setelah kita selesai membuat wiringnya selanjutnya kita akan mengupload program yang sudah tersedia pada menu Example jika tidak ada silahkan download terlebih dahulu library nya disini   untuk program Matser nya silahkan buat seperti berikut :

String data;   
#include <Wire.h>   
void setup() {   
Wire.begin();           
Serial.begin(9600);  
}   
void loop() {   
Wire.requestFrom(7, 6); // 7 adalah alamat untuk perangkat yang akan terhubung dengan master, 6 adalah banyaknya data dalam bytes yang diterima      
while (Wire.available()) {      
char c = Wire.read();      
Serial.print(c);      
if (c==' '){     
Serial.println(c);   
}  
}   
delay(500); 
}   


berikut adalah program untuk Slave nya :  

#include <Wire.h>   
void setup() {   
Wire.begin(7);                   
Wire.onRequest(requestEvent);  
}   
void loop() {   
delay(100); 
}     
void requestEvent() {   
Wire.write("hello ");  
}

mungkin cukup itu artikel Cara Dua Arduino Berkomunikasi dengan I2C mohon maaf jika ada keslahan, silahkan beri masukan dan saranya di kolom komentar !   Baca Juga Cara Arduino Berkomunikasi dengan Serial  

keyword :
menghubungkan dua Arduino
dua arduino
komunikasi dua arduino
cara mengakses i2c
i2c arduino
belajar arduino i2c
komunikasi dua arduino i2c
kendali elektro

4 Replies to “Tutorial Komunikasi I2C Antar Arduino”

  1. Aziz Werkheiser

    untuk saya tau apa yang saya lakukan sudah benar seperti yang anda maksud gimana caranya? seperti apa yang terjadi pada Arduino setelah itu? gimana cara bermainnya…. Terima kasih

    Reply
  2. Anak Kendali

    artikel ini menjelaskan komunikasi dua arduino anggep saja satu sebagai master dan satunya slave,,

    program slave akan mengirim karakter "Hello" ke master, untuk mencobanya,, misalkan kita gunakan arduino uno sebagai master dan nano sebagai slave.

    uplode program slave ke nano (artikel diatas) kemudian ganti port comnya untuk upload program master ke uno, buka serial com, dan tekan2 tombol restart nano, maka akan tampil kata "Hello"

    kenapa harus di restart dulu ? karena program kirim datanya di letakan dalam void setup, kalo di letakan dalam void loop, maka akan terus menerus mengirim

    Reply
  3. tatik

    mantabbs,terima kasih telah berbagi ilmu, ohya klo ada waktu tolong tulis juga dunk contoh proyek komunikasi I2C seperti ini tapi arduino slave dihubungkan dengan sensor,Bagaimana si arduino slave mengirim informasi hasil sensor tersebut ke arduini master, nantinya data sensor tsb akan digunakan lebih lanjut oleh arduino master. Terimakasih

    Reply
  4. Anak Kendali

    baik mas terimakasih sudah berkomentar, nanti akan saya buatkan artikel contoh project seperti yang mas jelaskan diatas, namun untuk sekedar saran dari saya kalo untuk aplikasian seperti itu menggunakan komunikasi Serial menurut saya lebih baik. tapi tetep akan saya buatkan tutorial artikel nya nanti 🙂

    Reply

Leave a Reply

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