I bought one of the 20x2 character LCDs from Tayda Electronics (product link, and datasheet link) and have just wired it up to use with the LiquidCrystal hello world example edited with lcd.begin(20, 2);.
While I have a lit backlight I don't see any text.
I've rechecked my wiring - just wanted to confirm someone else out there has had success with these (if so, I might have a sick one). Are there any known traps for new players with this unit?
There doesn't appear to be any reason why that display will not work with the LiquidCrystal library. Post some photos along with your code so we can check things out.
Thanks for the confirmation Don. The code is right from the example sketch so that leaves my soldering or the module itself (ie the variable that's throwing this off is something I've done). I'll take another closer look tonight.
Cheers ! Geoff
Do you see a row of blocks on the first line when you just apply power to the LCD?
Do they disappear when the Arduino starts the sketch (couple of seconds after applying power)?
If you don't make sure that you've wired the contrast pot correctly and tweak it so you see the blocks when you only apply power to the LCD. Another way to test it for a short period is simply ground the Vo pin.
No blocks. Just a solid backlit screen is all I see
Here my generic step by step approach that should work:
(1) If the module has a backlight then get it working properly. This involves only pins 15 and 16 on your LCD module. Make sure to use a current limiting resistor if there is none on the LCD module.
(2) Get the power and contrast working properly. This involves only pins 1, 2, and 3 on your LCD module. You should be able to see blocks on one row of a two row display and on two rows of a four row display.
NOTE: The Arduino has not been used yet, except as a possible source for the power needed for the first two steps. Do not try to go any further until this is working. If you don't see the blocks then no amount of program code will help.
(3) Connect the LCD R/W pin (pin 5) to GND.
(4) Connect the six control and data wires between your LCD module and your Arduino.
(5) Upload your sketch and it should work.
If you still don't get a display then make sure that your wiring matches the numbers in the descriptor (or vice versa).
//LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(7, 8, 9, 10, 11, 12); // put your pin numbers here
If you get a display but it is garbled or has some other problems then try again with a 'static' sketch, one that displays a simple message on the top row of the display and then stops. All of your code should be in setup() and loop() should be empty between the brackets.
Don Thanks so much for the step-by-step above. I didn't find anything obvious that was stopping it, so I'm presuming I had a dodgey solder joint on my boxed header.
I can confirm the Tayda 20x2 works just like a bought one