Cara Mudah Mengganti / Mengubah Alamat I2C IIC LCD

What? Ubah alamat I2C?

Bagaimana bisa perangkat yang kita beli dari pabrikan bisa kita ubah-ubah?!

Oke kita akan bahas langsung ya, nah untuk para master-master mungkin ini merupakan hal yang tidak asing lagi ya. Namun bagi para pemula seperti admin :p, ini merupakan hal yang sangat baru.. hee. Pada kasus disini biasanya dibutuhkan pada saat kita hendak menggunakan 2 atau lebih perangkat/modul(sama) yang membutuhkan komunikasi I2C atau biasa kita menggunakan pin SDA dan SCL pada satu kontroller. Misalnya ingin menggabungkan 2 buah LCD, tutorialnya bisa dilihat di Cara Menggabungkan 2 LCD I2C pada Arduino kemudian ternyata kita mempunyai 2 LCD yang mempunyai alamat yang sama misal 0x27. Jadi bingung kan cara menggabungkannya sedangkan di deklarasi alamatnya harus berbeda.

Lah terus bagaimana caranya?

Sekarang silahkan temen-temen lihat perangkat/module I2C saya contohkan module i2c LCD, temen-temen bisa saja menggunakan module yang tedapat komunikasi I2C lainnya. Perhatikan baik-baik gambar di bawah ini.
Arduino
Dari gambar di atas terdapat A0 A1 dan A2, pin ini bukan pin analog layaknya pin analaog di Arduino ya, melainkan pin address dari IC PCF8574. Nah dari pin address inilah nanti kita bisa ubah alamat I2C nya. Temen-temen perhatikan juga ya di atas A0 A1 dan A2 terdapat 3 pin juga, itu semua merupakan GND

Sampai disini sudah mulai terbayang belum ya?

Yap dengan menghubungkan salah satu pin address(A0, A1, A2) ke GND temen-temen sudah bisa mengganti / mengubah alamat I2C nya. Bagaimana cara menghubungkannya? mudah kok, tinggal siapkan solder dan timah kemudian tinggal solderkan misalnya A0 ke GND. Hasilnya bisa dilihat di bawah ini.
cara mengganti i2c

Selanjutnya silahkan scan alamat i2C menggunakan program di bawah ini :

#include <Wire.h>

void setup()
{
Wire.begin();
Serial.begin(115200);
Serial.println("nI2C Scanner");
}

void loop()
{
byte error, address;
int nDevices;

Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");

nDevices++;
}
else if (error==4)
{
Serial.print("Unknow error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices foundn");
else
Serial.println("donen");

delay(5000);
}

Upload program scan i2c di atas sampai done uploading.

Berikut ini merupakan hasil perubahan alamat i2c nya :
- Alamat awal 0x27
- A0 dihubungkan ke GND : menjadi 0x26
- A1 dihubungkan ke GND : menjadi 0x25
- A2 dihubungkan ke GND : menjadi 0x23

Note:

Cara ini bisa difungsikan berbagai perangkat/module yang mempunyai komunikasi i2c. Jadi tidak hanya module i2c LCD saja yang bisa.

Baca juga :


Demikian pembahasan kali ini, jangan lupa untuk share ya jika bermanfaat dan semoga berhasil. Kunjungi juga fanspage Symask di facebook untuk mendapatkan update-update tutorial menarik lainnya dari Symask. Terima kasih.

0 Response to "Cara Mudah Mengganti / Mengubah Alamat I2C IIC LCD"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel

Iklan Bawah Artikel