I've run into a problem connecting a 2x20 HD44780-compatible LCD (it says DEM20231 on the board) to my Arduino. I'm using the new LiquidCrystal library from Limor Fried and double- and triple-checked all connections. Everything looks good but the display doesn't do anything.
Check your contrast adjustment. The first time I tried and LCD, I thought it was messed up. Turned out, I was the one messed up. It caught me again later on too, so that's the first thing I'd check. Unless you put voltage in the wrong place of give it too much voltage, it should be pretty robust.
I second the contrast advice.
On the question if it can be fried - unless you work with a lots of volts and amps I think those things are pretty stable. YMMV.
Thanks for the advice... I double-double-checked (quadruple-checked?) and I've got 4.95V across Vss-V0 (pins 2 and 3). Basically, I connected V0 straight to GND.
Is that right or should it be 0? Connecting V0 to 5V doesn't do anything either... should it?
the contrast pin really should be connected to a variable resistor. Some panels work if connected to ground but if you are having trouble with yours you should go the extra mile and connect it up properly.
see: http://arduino.cc/en/Tutorial/LiquidCrystal
All of the LCDs I've used thusfar haven't been legible at all without using a pot to tweak the contrast pin into a very narrow range. YMMV, but try using a pot on the contrast pin before you right off the display.
Yeah, the variable resistor is the first thing I did. And now again, after trying the direct route. I got a 10kO connected to 5V, V0 and GND. Still nothing.
What's supposed to happen when connecting up the display anyway? Is there some sort of startup message or does it light up?
Hehe.. yeah, I thought of that. I uploaded the "Hello World" sketch, even connected a LED to see if it runs the loop. It does.
Maybe I'm doing something wrong with the data lines? I connected RS to pin 13 on the Arduino, Enable to pin 12, and DB4 to DB7 on the LCD to pins 11 to 8 respectively.
I then initialize the library like so:
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);