Anda di sini

Pemrograman

[Tutorial Arduino] Bingung Cari Alamat I2C? Pakai I2C Scanner !

Aditya Suranata - 07 Juli 2017 22:07:22 0

Jika jaman dulu kita ruwet dengan semrawutnya kabel pada pin I/O mikrokontroler, sekarang berkat adanya komunikasi I2C keruwetan ini perlahan sirna. Banyak modul mikrokontroler yang telah menggunakan I2C sebagai metode komunikasinya. Alasannya tentu saja karena teknologi ini lebih nyaman untuk digunakan, hanya perlu dua kabel data untuk menghubungkan ratusan modul. Salah satu modul yang terkenal menggunakan I2C adalah modul LCD.

Nah karena banyaknya modul yang menggunakan komunikasi I2C, dan mereka berasal dari vendor yang beragam maka muncul masalah baru yaitu bagaimana menemukan alamat modul yang kita maksud. Perlu diketahui bahwa perangkat I2C memiliki alamat unik yang membedakan mereka ketika mereka dipasang berbarengan. Hal ini hampir mirip dengan sistem pengalamatan IP Address pada jaringan komputer (LAN) konvensional.

Catatan kali ini akan membahas mengenai cara bagaimana menemukan alamat-alamat perangkat yang terhubung ke mikrokontroler kita melalui komunikasi I2C.

Langsung saja, untuk melakukannya kita dapat menggunakan program I2C Scanner, dan kode programnya adalah sebagai berikut:

#include <Wire.h> 
void setup()
{
  Wire.begin();
  Serial.begin(9600);
}
 
void loop()
{
  byte error, address;
  int nDevices; 
  Serial.println("Memindai...");
  nDevices = 0;
  for(address = 1; address < 127; address++ )
  {
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
 
    if (error == 0)
    {
      Serial.print("I2C terbaca pada alamat 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");
 
      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Ada error yang tidak diketahui pada alamat 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("Tidak ada satupun alamat I2C yang ditemukan\n");
  else
    Serial.println("selesai\n");
 
  delay(5000);
}

Setelah mengupload kode program tersebut, kalian dapat melihat daftar perangkat yang terhubung melalui serial monitor pada Arduino IDE.

Hasilnya,

Oke! Sekian catatan singkat ini, semoga ada gunanya. Hehe.

853
Image

Aditya Suranata

Aditya suka menulis, bukan hanya sekedar hobi, menulis menjadi medianya untuk mencurahkan pikiran dan perasaan. Di TutorKeren.com kebanyakan menyumbang tulisan sesuai dengan minat dan keahliannya yaitu pada kategori pemrograman dan elektronika. Selain itu juga gemar menulis mengenai hal-hal umum, seperti ilmu alam, sosial dan beberapa pengalamannya yang mungkin bisa berguna untuk orang lain.

Artikel Menarik Lainnya
Mari Gabung

Halo Emo 51 , Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.