Mengecek Alamat I2C LCD 16X2
Dengan Program Arduino
Mengecek Alamat I2C LCD 16X2 Dengan Program Arduino |
- Pendahuluan
Sedang mencoba menggunakan LCD 16X2 yang tergabung dengan
modul komunikasi I2C tapi gagal dan tidak dapat menampilkan tulisan ke LCD?
Padahal kabel sudah benar, Port atau pin sudah sesuai, power supply masuk dan
sesuai (5v), program berhasil di upload tidak ada error, lalu apa yang salah
ya???
Sebelum
kita membahas panjang lebar, jangan lupa singgah ke blog saya à http://festyy.com/wNiBaj
untuk membaca materi-materi lainnya tentang Otomatisasi PLC maupun
mikrokontroler dan juga Subscribe serta
Like
channel youtube saya di (fungky king) https://www.youtube.com/channel/UCWbN7TqlN68FxeFY7uCNhkA
untuk melihat hasil dari percobaan-percobaan dengan mikrokontroler yang telah
dibuat.
Pada pembahasan sebelumnya tentang “Program LCD 16X2 Dengan Komunikasi I2C
(Inter-Integrated Circuit) / Two-wire (TWI)” sudah kita jabarkan
mulai dari rangkaian hingga programnya. Jika sudah mengikuti langkah-langkah
yang tersedia dan membacanya tetapi masih belum berhasil menampilkan text ke
LCD 16X2 dengan komunikasi I2C, berarti kamu perlu mengikuti sebuah langkah PENTING yang
akan kita bahas yaitu “Mengecek Alamat
I2C LCD 16X2 Dengan Program Arduino”.
- Pembahasan
LCD
16X2 yang tergabung dengan sebuah modul komunikasi I2C nomor seri PCF8574. Jika dilihat dari bentuk IC modul I2Cnya memang
terlihat sama. Padahal sebenarnya mereka memiliki alamat yang berbeda-beda,
dari alamat berbeda itulah komunikasi I2C tidak saling bertabrakan datanya
walaupun menggunakan modul I2C lebih dari satu. Masalah yang sering terjadi,
terkadang pengguna mengira bahwa setiap modul I2C yang dijual memiliki alamat
yang sama, maka mereka hanya menggunakan contoh program yang tersedia tanpa
mengubah alamat I2Cnya.
Untuk mengetahui alamat dari modul I2C yang kamu
pakai, maka kita dapat mengeceknya dengan menscanning menggunakan program
Arduino yang nantinya akan menampilkan berapa alamat dari I2C yang digunakan.
Sehingga kedepannya, saat menggunakan modul I2C tidak terjadi lagi kegagalan yang
bahkan bukan dari sisi hardware melainkan program alamatnya yang tidak tepat.
- Perancangan
Hal
utama yang perlu diperhatikan sebelum mengecek alamat dari modul I2C yang
digunakan yaitu:
1. Mengecek
rangkaian antara LCD 16X2 I2C sudah sesuai dan benar terkoneksi.
2. Hubungkan
pin SCL pada LCD i2C ke pin SCL (atau bisa pake pin A5) Arduino UNO
3. Hubungkan
pin SDA pada LCD i2C ke pin SDA (atau bisa pake pin A4) Arduino UNO
4. Dan
power supply serta ground sudah terhubung dengan benar dan sesuai.
Setelah
semua tahapan diatas telah dipastikan sesuai dan benar, selanjutnya langkah
terakhir yaitu salin program dibawah ini yang berfungsi untuk mengecek alamat
dari modul I2C yang digunakan.
#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);
}
|
Setelah
disalin ke Arduino IDE program diatas, maka uploadlah ke Arduino yang digunakan
tunggu hingga proses upload selesai. Setelah selesai buka Serial Monitor yang
terdapat pada Aplikasi Arduino IDE, Lalu Set Baud Rate ke 9600 maka akan muncul tulisan pada layar monitor Serial
seperti gambar dibawah ini:
Gambar 01. Hasil Scanning Alamat I2C |
Dari
hasil scanning tersebut didapatkan bahwa alamat modul I2C yang digunakan adalah
0x3F. Tentu saja alamat ini berbeda-beda, maka dari itu sebelum kita
menggunakan modul yang berbasis komunikasi I2C, kita disarankan untuk mengecek
alamat yang dipakai oleh masing-masing modul agar kita tidak mengira terjadi
kerusakan pada hardware.
Catatan: Jika kamu gak berhasil, maka perhatikan kode yang ini LiquidCrystal_I2C lcd(0x3F, 16, 2); yang
bagian 0x27 itu adalah alamat i2C kamu, ada kemungkinan alamat kamu bukan yang
itu, bisa jadi 0x3F atau yang lainnya.
- Penutup
Demikian penjabaran singkat tentang “Mengecek Alamat I2C LCD 16X2 Dengan
Program Arduino”. Untuk selanjutnya,
buat yang ingin mempelajari Arduino dan lebih mengenal Arduino ataupun sistem
Automation lainnya silakan follow akun sosial
media saya di facebook “fungkyking” juga
diblog saya di http://festyy.com/wNiBaj dan jangan
lupa subscribe serta Like
channel youtube saya juga di (fungky king) https://www.youtube.com/channel/UCWbN7TqlN68FxeFY7uCNhkA untuk
melihat tulisan-tulisan serta hasil rancangan alat-alat berbasis mikrokontroler
yang kami buat. Kami juga menerima pembuatan alat-alat elektronika baik untuk
penelitian ataupun alat untuk syarat kelulusan.
Demikian pembahasan singkat yang dapat dibahas, mohon
maaf jika terdapat kesalahan dalam penulisan yang mana semua ini semata-mata
hanya opini pribadi berdasarkan pengalaman. Jika ada kekurangan dan tambahan
dari materi pembahasan yang dibahas silahkan dapat teman-teman sertakan pada
kolom komentar tambahan materi yang ingin disampaikan, sampaikan pertanyaan dan
isi kolom komentar dengan bijak.
Terima Kasih,
Salam Otomatisasi
Afriansyah, S.T.
(Fungky King)
fungkyking01@gmail.com
Kata
Kunci / Keywords: ATMEGA, Arduino, Arduino IDE, Arduino UNO, Bahasa C,
fungkynotes.blogspot.co.id, fungky corporation, fungky king, microcontroller,
otomatis, pemprograman, programming, plc, NodeMCU, ESP8266, Internet of Things
(IoT), Wi-Fi, PWM, ADC, LED, Blink, I2C (Inter-Integrated
Circuit), Two-wire (TWI), Program LCD 16X2 I2C (Inter-Integrated Circuit)
Referensi / Reference:
- www.arduino.ac.id
- http://festyy.com/wNiBaj
- http://destyy.com/wMatJW
- http://arduino.cc/en/Main/Software
- www.google.com
- https://kelasrobot.com/
- 8-bit Atmel Microcontroller
with 128Kbytes In-System Programmable Flash: ATMEGA128
- Atmel, AVR318: Dallas 1-Wire Master on tinyAVR and megaAVR
- Afriansyah. 2012. Pengukur Kadar pH Air Berbasis Mikrokontroler ATMega 8, TE-UGM, Yogyakarta.
- https://fungkynotes.blogspot.com/2019/03/menghubungkan-aplikasi-arduino-ide.html
- https://fungkynotes.blogspot.com/2019/02/instruksi-instruksi-dasar-pada.html
- https://fungkynotes.blogspot.com/2019/02/apa-itu-sketch-arduino.html
- http://arduino.cc/en/Guide/Windows
No comments:
Post a Comment
Berfikirlah kreatif dengan komentar yang bijak. Salam Otomatisasi.!