Repost...not sure why the first one posted before I was done.
I have been ripping my hair out for three days trying to get the Hacktronics 20x4 LCD to work in 4 bit mode. Here is the pin config that they recommend
1 (VSS) to GND Arduino pin*
2 (VDD) to + 5v Arduino pin
3 (contrast) to potentiometer to GND Arduino pin*
4 RS to Arduino pin 12
5 R/W to Arduino pin 11
6 Enable to Arduino pin 10
7 No connection
8 No connection
9 No connection
10 No connection
11 (Data 4) to Arduino pin 5
12 (Data 5) to Arduino pin 4
13 (Data 6) to Arduino pin 3
14 (Data 7) to Arduino pin 2
15 Backlight to Resistor to Arduino pin 13**
16 Backlight GND to GND Arduino pin*
This is the demo sketch that I am using
// character LCD example code
// www.hacktronics.com
#include <LiquidCrystal.h>
// Connections:
// rs (LCD pin 4) to Arduino pin 12
// rw (LCD pin 5) to Arduino pin 11
// enable (LCD pin 6) to Arduino pin 10
// LCD pin 15 to Arduino pin 13
// LCD pins d4, d5, d6, d7 to Arduino pins 5, 4, 3, 2
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);
int backLight = 13; // pin 13 will control the backlight
void setup()
{
pinMode(backLight, OUTPUT);
digitalWrite(backLight, HIGH); // turn backlight on. Replace 'HIGH' with 'LOW' to turn it off.
lcd.begin(20,4); // columns, rows. use 16,2 for a 16x2 LCD, etc.
lcd.clear(); // start with a blank screen
lcd.setCursor(0,0); // set cursor to column 0, row 0 (the first row)
lcd.print("Hello, World"); // change this text to whatever you like. keep it clean.
lcd.setCursor(0,1); // set cursor to column 0, row 1
lcd.print("hacktronics.com");
// if you have a 4 row LCD, uncomment these lines to write to the bottom rows
// and change the lcd.begin() statement above.
//lcd.setCursor(0,2); // set cursor to column 0, row 2
//lcd.print("Row 3");
//lcd.setCursor(0,3); // set cursor to column 0, row 3
//lcd.print("Row 4");
}
void loop()
{
}
Problem is that no characters are displayed and the backlight flashes on and off (like Blinky) along with onboard LED Moved backlight to +5 with resistor solving that problem. Contrast works fine. I get two lines of square boxed even though sketch set to 20x4. Program complies fine with no errors however when uploading to Ardunio UNO R3 I get the following message in lower box of compiler " Binary Sketch.........(of a 32.256 byte maximum) avrdude: stk500_getsync() : not in sync: resp=0x00"
I have soldered the pins to the LCD and pushed them into the breadboard. I have tripple checked the wiring. No matter what I do I have the same problem plus the LED on pin 13 continues to blink. Thinking I might have damaged or miswired something I loaded the Sketch onto a brand new Arduino UNO R3 (not attached to the LCD) and got the same blinking LED. Since there is nothing in the Void Loop why is the LED flashing?
This morning I updated the Arduino compiler to 1.0.2 and tried the example sketch changing the wiring to match that sketch....same exact problem.
HELP!
Please be gental with me I am an old guy and can't take much more
Thanks
Allen