Hey all,
My 1602A 16x2 LCD screen (which uses the Hitachi HD44780 driver) used to work fine. I use a Mega 2560, as well as an UNO. When I plug it in, wired up as per the tutorial (http://arduino.cc/en/Tutorial/LiquidCrystalSerial), I only get blocks displaying on the top line and nothing on the second. I'm using the tutorials setup purely for debugging purposes.
I soldered a row of header pins onto the board, and have successfully tested the connections via continuity test. (Tested between the top of the pins on the board to the end of the wire going into the Arduino). Every connection used is sound, and my backlight is disconnected (but it works when plugged in).
With this simple code, the blocks will change in brightness every 500ms, but not display any text.
Picture 1: Showing the wiring (sorry if unclear) (Click for full size)
Picture 2: Showing the soldering (Click for full size)
Code: Taken from the tut, with the ports changed to match my wiring
I know my RS and E are on 2 and 3, my code has been updated accordingly
#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3, 6,7,8,9); //(RS,E,D4,D5,D6,D7)
/*Initialize LCD Screen
VSS =GND
VDD =5V
VO =Pot Wiper
RS =12
RW =GND
E =11
D4 =6
D5 =7
D6 =8
D7 =9
*/
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}
void loop() {
// Turn off the display:
lcd.noDisplay();
delay(500);
// Turn on the display:
lcd.display();
delay(500);
}
Can anyone see what I've done wrong, or what I should do next?
EDIT:
I have read all the related posts I could find, none of the solutions have worked thus far