mengatasi LCD tidak bisa menampilkan teks dikarenakan library sudah tidak kompatibel, update terbaru untuk menampilkan teks lcd 16x2 I2C dengan arduino dibutuhkan
library terbaru, karena library yang lama dan sering digunakan itu sudah tidak
kompatibel dengan I2C terbaru, hasilnya jika menggunakan library yang versi
lama teks tidak akan muncul di LCD, maka dalam pembahasan kali ini akan
diberikan solusi library yang kompatibel dengan LCD I2C terbaru
Pertama
siapkan komponen yang dibutuhkan
- Arduino
- LCD 16x2 I2C
- Kabel jumper
- Laptop yang terinstal Arduino IDE
Rangkai
komponen seperti pada gambar dibawah ini :
Keterangan
:
- Hubungkan pin VCC pada i2c di LCD ke pin 5v pada arduino
- Hubungkan pin GND pada i2c di LCD ke pin GND pada arduino
- Pin SDA hubungkan ke pin SDA / A4 pada arduino
- Pin SCL hubungkan ke pin SCL / A5 pada arduino
Selanjutnya
untuk menampilkan teks diperlukan library pada arduino ide
- Pertama instal library pada arduino ide dengan cara pilih menu tools kemudian manage libraries dan akan muncul jendela baru
- Ketikkan PCF8574 pada kolom pencarian lalu instal, pada gambar dibawah in karena sudah di instal dan butuh di update maka yang muncul adalah tombol update
- Tunggu sampai proses instal selesai kemudian close jendela tersebut
- Buka pada menu file > example di arduino ide dan cari “LiquidCrystal_PCF8574” kemudian klik, contoh program akan muncul dan upload program pada board arduino atau kalain copy program dibawah ini
[program]
#include <LiquidCrystal_PCF8574.h>
#include <Wire.h>
LiquidCrystal_PCF8574 lcd(0x27); // set the LCD address to 0x27 for a 16 chars and 2 line display
int show = -1;
void setup()
{
int error;
Serial.begin(115200);
Serial.println("LCD...");
// wait on Serial to be available on Leonardo
while (!Serial)
;
Serial.println("Dose: check for LCD");
// See http://playground.arduino.cc/Main/I2cScanner how to test for a I2C device.
Wire.begin();
Wire.beginTransmission(0x27);
error = Wire.endTransmission();
Serial.print("Error: ");
Serial.print(error);
if (error == 0) {
Serial.println(": LCD found.");
show = 0;
lcd.begin(16, 2); // initialize the lcd
} else {
Serial.println(": LCD not found.");
} // if
} // setup()
void loop()
{
if (show == 0) {
lcd.setBacklight(255);
lcd.home();
lcd.clear();
lcd.print("Hello LCD");
delay(1000);
lcd.setBacklight(0);
delay(400);
lcd.setBacklight(255);
} else if (show == 1) {
lcd.clear();
lcd.print("Cursor On");
lcd.cursor();
} else if (show == 2) {
lcd.clear();
lcd.print("Cursor Blink");
lcd.blink();
} else if (show == 3) {
lcd.clear();
lcd.print("Cursor OFF");
lcd.noBlink();
lcd.noCursor();
} else if (show == 4) {
lcd.clear();
lcd.print("Display Off");
lcd.noDisplay();
} else if (show == 5) {
lcd.clear();
lcd.print("Display On");
lcd.display();
} else if (show == 7) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("*** first line.");
lcd.setCursor(0, 1);
lcd.print("*** second line.");
} else if (show == 8) {
lcd.scrollDisplayLeft();
} else if (show == 9) {
lcd.scrollDisplayLeft();
} else if (show == 10) {
lcd.scrollDisplayLeft();
} else if (show == 11) {
lcd.scrollDisplayRight();
} else if (show == 12) {
lcd.clear();
lcd.print("write-");
} else if (show > 12) {
lcd.print(show - 13);
} // if
delay(1400);
show = (show + 1) % 16;
} // loop()
- Tunggu sampai uplaod selesai dan lihat hasilnya, teks akan muncul di LCD
Itulah
cara terbaru untuk mengatasi jika LCD 16x2 i2c tidak dapat memunculkan teks
karena library sudah kadaluarsa