One thing to check is if your contrast is set correctly. You should be able to adjust the contrast so you can just see all the pixels when the panel is powered up. Too much contrast and all the pixels become dark, too little and you wont see any pixels.
Also, triple check the wiring and ensure that the pins in the sketch match the wiring, it's a common cause of problems.
I have found 16x1 displays a pain to interface, I suggest you get the 16x4 display going first, But I can't find any info on that Epson part number, are your sure the number is correct? Do you have a link to a datasheet for that panel? Are you sure its hd44780 compatible.
yes, the EPSON 16X4 is hd44780 compatible ( there is 1 ship on the rear face from Hitachi 6B3 HD44780A00), but i can't find datasheet to...so i have trace the connecting from this ship (with is datasheet) to the connector, to match the wiring.
for the contrast...how to know if it's set correctly ???
With the potentiometer, i have juste a little way to obtein the black scares...if i manipulate it...the lcd is off between 90% of the way, and rapidly, on the 10% i can have the black (with little fading transition)....???
With the pot adjusted so all the pixels just become visible when powered up but not being driven, can you then see any change in the pixels when you run your test sketch?
Not sure what else to suggest if you are 100% positive that the wiring is ok. Perhaps someone else can provide some helpful tips
i'm sure that the wiring is like i write on this tread (i'have make this 10 times to be sure...) but not sure at all about the choice of pin on lcd. exemple, is my Enable pin the 6 on the lcd ??? i think, but i'm not sure...:(((((((
I'm having the same problem with the Arduino V12 LCD library. Wiring up everything correctly according to the demo results in a row of black squares, both on a 2x24 and a 2x16 hitachi display.
Here's the interesting bit: If I wire up the rest of the data pins and use the 8-bit constructor it works. I do wind up with a couple of extra solid blocks at the end, but my text displays fine.
It seems like there's something wrong with the 4-bit mode, at least with the way it works on some displays.
I haven't had too much time to debug this, especially since I'm a total noob when it comes to this sort of thing, but I was hoping this info might help someone more knowledgeable figure out what was going on.
To the OP. I struggled with the same issue, regarding the typo in the 0012 LiquidCrystal - HelloWorld example. I have a 14 pin 20x2 LCD using the HD44780 protocol. Here is my data and what permitted me to get this project up and running.
The following is an except from the data sheet for my LCD describing its pinouts.
Pin No
Signal
Function
1
GND
Ground
2
VDD
+5 Power Supply
3
VD
LCD Drive Voltage
4
RS
“H” Data Input “L” Command Input
5
R/W
Read/Write
6
E
Enable Signal
7
DB0
Data Bus 0
8
DB1
Data Bus 1
9
DB2
Data Bus 2
10
DB3
Data Bus 3
11
DB4
Data Bus 4
12
DB5
Data Bus 5
13
DB6
Data Bus 6
14
DB7
Data Bus 7
Data Bus Pins 0-7 are used for 8 bit operation.
Data Bus Pins 4-7 are used for 4 bit operation.
To get the example to work, please note...
THE PIN COMMENTS IN THE EXAMPLE ARE INCORRECT!
Arduino Pin
LCD Pin
LCD Signal
2
14
DB7
3
13
DB6
4
12
DB5
5
11
DB4
10
6
Enable
11
5
Read/Write
12
4
RS
Then make sure you have LCD pin 3 going to your 10k pot. LCD pin 1 to GND and LCD pin 2 goes to VDD.
Do you have the pot wired so that the ends are connected to +5v and ground, with the center wiper connected to pin 3? If, when you adjust the pot, does the visibility of the pixels change If you can never see any pixels with the lcd powered, then it could be a bad LCD although most likely its a wiring problem.
if all else fails, perhaps posting a clear picture of your wiring may provide a clue for someone here to help you.
I'm running Arduino v12 IDE and had no problems running the 4bitLCD library. I modified the cpp file to use the pins I wanted it to use and from there, my only goof was not connecting the contrast control so I wasted a couple of hours trying to figure out why it didn't work when it really was working correctly. I doubt very much it is the library which is the problem.