Tutorial Program I2C Scanner Untuk Mengetahui I2C Address Dari Device Atau Module Elektronik Lengkap

 

Apa itu I2C

I2C adalah protokol serial untuk antarmuka dua kawat (two-wire) untuk menghubungkan perangkat / device / modul elktronik kecepatan rendah seperti mikrokontroler, EEPROMs, konverter A / D dan D / A, antarmuka I / O dan periferal serupa lainnya dalam embedded sistem.

Protokol I2C diciptakan oleh Philips dan sekarang digunakan oleh hampir semua produsen IC besar. Setiap perangkat I2C slave membutuhkan alamat agar bisa berkomunikasi dengan perangkat I2C master yang bertindak sebagai pengontrol komunikasi data.

Kelebihan Protokol I2C

  • Sistem menjadi lebih sederhana karena hanya menggunakan dua kawat (two-wire) untuk berkomunikasi dengan banyak periferal. Dengan syarat masing-masing device / periferal mempunyai I2C Address yang berbeda.
  • Menghemat I/O port dari Mikrokontroler / Minimum Sistem karena hanya menggunakan port I2C.

Seringkali peralatan / modul elektronik I2C yang ada di pasaran tidak disertakan informasi mengenai address nya. Padahal I2C Address merupakan prasyarat utama agar kita bisa mengakses dan berkomunikasi dengan peralatan atau modul tersebut.

Pada akhir artikel ini, kami sertakan kode program atau sketch Arduino untuk mendeteksi atau mengetahui I2C Address dari modul atau device elektronik yang kita tidak mengetahui I2C Addressnya.


Kode Program

// I2C Scanner
 // Written by Nick Gammon
 // Date: 20th April 2011
 #include <Wire.h>
 void setup() {
   Serial.begin (9600);
 // Leonardo: wait for serial port to connect
   while (!Serial) 
     {
     }
 Serial.println ();
   Serial.println ("I2C scanner. Scanning …");
   byte count = 0;
 Wire.begin();
   for (byte i = 1; i < 120; i++)
   {
     Wire.beginTransmission (i);
     if (Wire.endTransmission () == 0)
       {
       Serial.print ("Found address: ");
       Serial.print (i, DEC);
       Serial.print (" (0x");
       Serial.print (i, HEX);
       Serial.println (")");
       count++;
       delay (1);  // maybe unneeded?
       } // end of good response
   } // end of for loop
   Serial.println ("Done.");
   Serial.print ("Found ");
   Serial.print (count, DEC);
   Serial.println (" device(s).");
 }  // end of setup
 void loop() {}

+++++++ Semoga Bermanfaat +++++++

Post a Comment for "Tutorial Program I2C Scanner Untuk Mengetahui I2C Address Dari Device Atau Module Elektronik Lengkap"