Jika dilihat bentuk i2C memang terlihat sama. Padahal sebenarnya mereka memiliki alamat yang berbeda-beda, nah biasanya masalah datang dikarenakan kamu salah memasukan alamat i2C kamu pada sketch pemrograman.
Untuk itu cara mudahnya adalah dengan Memindai LCD i2C, dan mengetahui berapa alamat i2C kamu yang sebenarnya. Ok, berikut cara mudahnya…
Siapkan terlebih dahulu:
- Arduino BELI
- LCD 16×2 dan I2c BELI
- Kabel jumper Male-Female BELI
Kemudian silahkan rangkai seperti gambar dibawah ini:
CATATAN:
- Hubungkan pin VCC pada LCD i2C ke pin 5V Arduino
- Hubungkan pin GND pada LCD i2C ke pin GND Arduino
- Hubungkan pin SCL pada LCD i2C ke pin SCL (atau bisa pake pin A5) Arduino
- Hubungkan pin SDA pada LCD i2C ke pin SDA (atau bisa pake pin A4) Arduino
Lalu ketik ulang atau salin program dibawah ini:
#include <Wire.h>;
void setup(){
Wire.begin();
Serial.begin(9600);
while (!Serial);
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("ditemukan Perangkat i2C pada alamat 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4){
Serial.print("tidak ditemukan alamat 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("Tidak Ditemukan Alamat i2c\n");
else
Serial.println("selesai\n");
delay(5000);
}
Jika sudah Done Uploading, kamu tinggal buka Serial Monitor, set Baud Rate ke 9600 maka akan muncul penampakan seperti dibawah ini:
Klik Untuk Memperjelas Gambar!Nah alamatnya adalah 0x3F, punya setiap orang tentu saja akan berbeda-beda bukan. Baik, Selamat mencoba, dan harus berhasil. 😉