I am developing an assembly application that includes a HD-44780 compatible 20x4 display over the I2C bus. After several attempts, I have finally managed to initialize the display in 4-bit mode and show a message, but after a few seconds the display seems to go crazy.
To eliminate the possibility of a bad initialization, I have tested the display with the Arduino example sketch I2C_Hello_World.ino, with the same result.
This 15 second video shows the behavior of the display
This is the sketch:
#include "Wire.h" // For I2C
#include "LCD.h" // For LCD
#include "LiquidCrystal_I2C.h" // Added library*
//Set the pins on the I2C chip used for LCD connections
//ADDR,EN,R/W,RS,D4,D5,D6,D7
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3,POSITIVE); // 0x27 is the default I2C bus address of the backpack-see article
void setup()
{
// Set off LCD module
lcd.begin (20,4); // 16 x 2 LCD module
lcd.setBacklight(HIGH);
// lcd.clear();
lcd.setCursor(0,1);
lcd.print("LEDMedia art digital");
lcd.setCursor(0,2);
lcd.print("Traverser v.0.0.1");
}
void loop()
{
}
Is this display damaged? Has anyone else come across this behavior? If the display is not damaged, is there a hardware or software reason to explain it?
Thanks for your help.