[SOLVED] Putting generic LCD Keypad Shield to work

Hello,

First of all, I would like to apologize in advance if you think this post is not nice or that I am lazy to search through previous topics. Unfortunately I am with a tight schedule, and have decided to post this question while still looking trough the forum and other sites for information about my issue. Perhaps with 5 minutes of someone's time here I will save like 5 hours of an "adrift" search.

So, to the problem itself, rather simple and newbie question. Bought a LCD keypad shield exactly like this generic one: LCD Keypad Shield for Arduino.

Attached as shield to Arduino UNO. Uploaded Hello World example code of LiquidCrystal library, as attached, to test the LCD. LCD shield lights up but shows no character.

Tried again changing LCD initialization line to: LiquidCrystal lcd(8,9,4,5,6,7). Still same behaviour, backlight lights up, no character.

The RST button of keypad is working. With a multimeter, I have checked that essential pins connections are fine in the shield (D4,D5,D6,D7,D8,D9).

Do you know any way I can certify my LCD is not functioning properly so I can request a refund or exchange?

Best regards

HelloWorld.ino (1.51 KB)

ren1:
. . .

Bought a LCD keypad shield exactly like this generic one: http://www.hobbytronics.co.uk/arduino-lcd-keypad-shield.

. . .

Are you sure yours is exactly like the one in your non-link? In other words have you checked that the 'essential pins' actually go back to the appropriate pins on the display itself?

What you are calling the 'LCD initialization line' is actually called the 'descriptor' and it is essential that the numbers in it's argument match your actual connections.

Don

Hi Don, thanks for the quick answer.

So, just to make sure, in the descriptor I should put:
LiquidCrystal lcd(RS, E, D4, D5, D6, D7)
Right?

If yes, then yes, I have checked with a multimeter where the pins on LCD are going to in Arduino, and have stated it correctly in the descriptor. In my model, the descriptor is:
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

The LCD just lights up, and anything more. Is there anything I am missing here? Is there any checking I can perform in the LCD?

EDIT:

Turns out to be that I am more inexperienced with LCD than I suspected. I was searching throught the forum when I saw an anser by you floresta, in another post, talking about the contrast control that I had forgotten about. After a while turning it, the screen and text just popped out. I turned a slightly a bit more, and the screen disappeared. It seems that, at least this model I am with, is quite sensitive to this contrast control.

Thanks for all the help floresta, at this and in the other post that you posted about the contrast.

Best regards

What do you see on the screen?

I see you have it solved now.

Hi Larry!

It had worked fine the other day, displayed the correct text, with good contrast. The initial problem was indeed the contrast. Now I was uploading a new sketch and I am just getting strange symbols. Then I uploaded the previous code, that was previously working, and it gives me strange symbols as well. I am now figuring out what I have changed from the "working state" to the actual one. It should be something silly hahaha.

But yes, the initial problem has been solved. I will tackle this problem of mine now, but it shouldnt be too hard to solve it as well, since the lcd was working fine just 10 minutes ago.

EDIT:

And then I just figured out all my board/lcd needed was a reset. I was uploading the sketch and right after finishing the arduino began to run it and the lcd produced those strange symbols. I just unplugged the USB cable, which was powering the board, waited 10 seconds, re-plugged, and everything just worked fine.

Best regards and thanks for the help

Renan

ren1:
It seems that, at least this model I am with, is quite sensitive to this contrast control.

Due to a design blunder that has been mindlessly replicated even through successive manufacturers' datasheets from the original HD44780 "test" circuit, the contrast control is always sensitive and only ever functions over about one tenth of the control range, which is why it is often provided as a ten turn potentiometer.