LCD keypad shield (dfrobot) doesn't work

Hi everybody!

Well...I've just buy a LCD keypad shield in dx and I try to work it, but I can't. I've search in google and it's supposed that the potentiometer doesn't works well.

This is the program that I'm trying to show. LiquidCrystal Library - Hello World:

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}

void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
}

Do you think that the potenciometer is the problem? How could I fix it?

Thank you so much!!!

orive:
Hi everybody!

Well...I've just buy a LCD keypad shield in dx and I try to work it, but I can't. I've search in google and it's supposed that the potentiometer doesn't works well.

Do you think that the potenciometer is the problem? How could I fix it?

Thank you so much!!!

So it won't show anything ? 8) 8) 8) 8)
Well i don't think its the potentiometer , however you can use a PWM output instead of it..
why don't you show us the wiring..

Do you think that the potenciometer is the problem?

No, because you can see the black rectangles on the first line of your display.

Your display is not being initialized properly. Are you sure that the program code is being downloaded into your Arduino?

Also, have you read the very first thread in this section of the forum? It is the one that is 'sticky' so it always appears first, the title is 'bold' so it stands out, and it says "Warning to users of some vendors LCD keypad shields".

The particular shield that initiated that thread is a DF Robot LCD Keypad shield although it might be an earlier model than the one you have.

Don

I haven't shown the wiring, because it's quite simple in this kind of shield LCD.

Also, when I launch the program, rx and tx LEDs turn on. So I think that it isn't a communication issue.

thanks!!!

There must be something wrong with your code,or the code is not uploaded to the board.. also i noticed your board is an arduino clone, maybe it has trouble communicating with your lcd? I dont really know...

Once again... Are you sure that the program code is being downloaded into your Arduino?

Add some code to loop() that will blink an LED to find out. Make sure that it is a different LED or a different blink rate than the default 'blinky'.

Don

floresta:
Once again... Are you sure that the program code is being downloaded into your Arduino?

Add some code to loop() that will blink an LED to find out. Make sure that it is a different LED or a different blink rate than the default 'blinky'.

Don

Yeah, I've been testing a program code with a LED and it works perfectly. I think that the LCD is defective... =(

Thanks!!!

I think that the LCD is defective.

I doubt it since you are getting the single row of blocks. This means that it internal routines have (incorrectly) initialized the controller and your program code, which would correctly initialize the controller, has not done it's job.

Don

I have one exactly like yours. If you post the code I try it with mine.
But I think that the problem is the code, or maybe you have 1 soldering joint not well soldered. Do you have a soldering iron?

Hi.

Could you mention the DX SKU (article number) of this device ?
Also, show the example sketch you used.
And please put that in [code] [/code] tags.
This might shed some light on the problem, but we need both SKU and sketch.

I did receive a defective display in a similar DX offer, but that didn't show anything (no first row boxes like yours), confirming floresta's answers.
In the unlikely case this would be a defective display, my experiences with DX in such cases are positive.
But you have to be absolutely sure that there is some defect instead of a software failure.

The SKU number is 118059 and I think that it isn't a problem that it's a clone arduino, doesn't it?

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);
}

Thanks!!!

I still keep my point. I think is a problem of soldering. Or in the soldering of the LCD to the board of the shield or if soldering of the header to the board of the shield or even of the header to the board of the Arduino.

EDIT: I even add something more. If is a problem in the soldering joints, the problem will be in one of 6 pins: E, RS, D4, D5, D6, D7.

Please check if there is contact between the bottom of the lcd pins and the usb connector on the uno. It looks to be metal and unusually tall. In the photo it looks taller than the 7-15v connector and I know that on my keypad lcd shield the button pins touch that one when it is seated.

My DFR LCD like yours also fires up with the black blocks. But I uploaded your code and it displays "hello, world!" on the top line with the seconds underneath.

So it's not your code.....

As cattledog mentioned,
Look very closely at the USB connector and U16 header pins that are also close to that connector,
when the shield is installed.
The USB connector and that header can interfere with shields.

Perhaps the LCD pins are on the connector or the pins.

I refuse to buy Arduino boards that use that type of USB connector.
There really is no need for it.

--- bill

vnl285.jpg

bperrybap, in mine the USB connector is close but don't touch the shield board. So, I believe that in this case, it don't touch it too. Even if it touches the board, in that place there is nothing that can be a problem (see the picture where is show the shield up side down).

Still won't work ? :~ :~

No, the USB conector doesn't touch with the shield board. Well.. even if pins looks like are fine, I'll try to solder some pins.

Thanks! :slight_smile:

I can confirm that this SKU 118059 shield has the problem (haven't had trouble because of that, but that beside) that is addressed here.

The constructor that fits it is:

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

So that is correct in your code.

The USB connector doesn't touch those pins, it's about 3 mm (0.12 ") inwards from those pins on the shield.

I have written a review (along with 76 others) about this product, part of what is in it:

me:
Cons:
Unit was DOA, with a non working display. After ordering and receiving a new display, fixing it was easy. There's no data available (haven't foud one yet) so had to follow the traces to find out how to set it up, which is an easy job. Display updates a bit slow compared to some other one i tried.

Other:
So here's the setup for the display part: LiquidCrystal lcd(8, 9, 4, 5, 6, 7); Reading the keys on analog(0) returns (usb powered): Select : 723 Left :482 Up : 133 Down : 308 Right : 0 The value "Down" will probably always be 0 but the other ones can vary because of external influences like load of the power supply and temperature. so you would have to test for a range covering mentioned values.

Indeed, check for bad contacts, if you have any soldering skills, just redo the pins from display to shield, and shield to Arduino headers.

I have purchased the same board and yes the same problem occurred. I found out that though it shows program upload successfully but the program was not loaded because i have selected the wrong board as default. so please check the board in tools menu. upload twice and you will be successful