Not working 16x2 LCD

Hello! For a month I try to make my 16x2 lcd screen work. All the while the screen shows 16 dark rectangles in each row. I tried all versions, but it doesn't work. :frowning: Can someone help me? I tried LCD connect with Arduino UNO.

Thank you.
Sorry for my bad english.

Lcd - screen (image from google) I hope someone can help me.

Have you got a contrast potentiometer in the circuit? There should be one with its two outer legs connected to ground and +5V and it's wiper connected to V0 (pin 3)

Yes, I had tried with potentiometer, rectangles remained brighter or darker

Can you post a picture of how you have it wired up?

Yes, I had tried with potentiometer, rectangles remained brighter or darker

Start with the potentiometer setting that gives the darkest rectangles then slowly turn it toward the other end.

Is there some point where the lower row of rectangles disappears but the upper row still remains visible?

At the other end is the display completely blank?

Don

I had tried all sorts of turning the potentiometer. Rectangle just remained less visible to went out completely.

Images:
link1
link2
link3
link4
link5
link6

I know that mine solderings is awful, but I am sure that everything is working.

Firstly re melt your solder joints till they run properly.

Secondly check where pin 4 goes to, it should be grounded.

Can you show an over all picture that is in focus.

I suspect your problem revolves around the data wires, and the R/W.

Secondly check where pin 4 goes to, it should be grounded.

I certainly hope not.

Don

I previously asked this question: "Is there some point where the lower row of rectangles disappears but the upper row still remains visible?"

Your photo shows that there is indeed such a point. This means that the device has power and the potentiometer is correctly wired (although it probably isn't adjusted optimally).

The single row of rectangles means that your LCD controller is not being properly initialized. This can be due to improper code but is more often due to faulty wiring.

The LCD will not work if the wires are not soldered properly. Your soldering definitely requires some improvement. You can find help here:
adafruit guide to excellent soldering

You should also be aware that the type of jumper wires that you are using, if they originate in China, are quite likely to be defective.

Don

floresta:
I certainly hope not.

Don

Sorry, I meant pin 5, the R/W pin/.

To my experience, this kind of issue is the result of either poor connections (as ChilliTronix suggested) - check the soldering, wires, where each wire goes, even the breadboard itself - or bad initialization in the code.

If you haven't already done so, Before you write your own code, follow this guide carefully:

floresta:
The single row of rectangles means that your LCD controller is not being properly initialized. This can be due to improper code but is more often due to faulty wiring.

However, since both are possible causes, the rule always is: Post the code you are using! Use the "code" tags generated by the little scroll-and-plus icon above the reply window, copy and paste the whole code from your IDE in between the tags.

Use the "code" tags generated by the little scroll-and-plus icon ....

Look again - it's not a plus.

You are not alone in making this mistaken observation. I think it is time to retire this particular icon.

Back on topic ... we really can't fully tell if the code is correct unless we also have a photograph of the actual wiring.

Don

I'm have the same issue as OP. Seems that each diagram on the internet leads me to either only the backlighting to work, or the LCD working (no characters, just all points within each matrix are lit). Any diagrams for the Arduino Uno and the 16-pin LCD that actually work would be greatly appreciated. (I'm a complete noob with electronics. Don't even know what an inductor, capactior or a transistor do.)

Well when we have had a couple of people with the same problem with our LCD's we direct them to a page on our website here.

We also get them to send a picture of their wiring and/or soldering.

Greetings- New guy here with a similar issue as the OP. I bought an Arduino starter kit from VILROS that came with a genuine R3 UNO. The diagrams in the Arduino online guide would not work for my display even though it was described as the same Hitachi driven display that I seem to have.I kept getting the same result as another poster who got a screen full of solid blocks no matter how set the contrast.I ended up using the diagram shown at Raspberry Pi RetroPie and Arduino Downloads | Vilros.com with the sketchs from the Arduino liquid-crystal library, minus a backlight all worked as expected.
Does any one know why the Arduino diagrams would not work with my display?

I ended up using the diagram shown at www.vilros.com/lcd-tutorial ...

Just how do the connections shown in your photo differ from the 'Arduino diagrams'?

We would have to know which 'Arduino diagrams' you are talking about and be able to see the diagrams in the vilros tutorial to be able to make any suggestions

Don

Hi and welcome.
They probably would have worked, if you would have told the sketch that you are using a different wiring.

Looks like you are using pin D1, which is serial TX (the photo doesn't really show that clearly).
If so, then if you are using this and the serial port for debugging or so, you'll have some interesting effects on your display.
Therefore this would be a poor example.

Would need to see your sketch or a photo from another angle to be 100 % sure about this.

thank you for the replies- This wiring shown in this sketchs tutorial did not work with the Arduino Liquid Crystal sketches,

/*
  LiquidCrystal Library - Blink

 Demonstrates the use a 16x2 LCD display.  The LiquidCrystal
 library works with all LCD displays that are compatible with the
 Hitachi HD44780 driver. There are many of them out there, and you
 can usually tell them by the 16-pin interface.

 This sketch prints "Hello World!" to the LCD and makes the
 cursor block blink.

 The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * 10K resistor:
   * ends to +5V and ground
   * wiper to LCD VO pin (pin 3)

 Library originally added 18 Apr 2008
 by David A. Mellis
 library modified 5 Jul 2009
 by Limor Fried (http://www.ladyada.net)
 example added 9 Jul 2009
 by Tom Igoe
 modified 22 Nov 2010
 by Tom Igoe

 This example code is in the public domain.

 http://arduino.cc/en/Tutorial/LiquidCrystalBlink

 */

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

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

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() {
  // Turn off the blinking cursor:
  lcd.noBlink();
  delay(3000);
  // Turn on the blinking cursor:
  lcd.blink();
  delay(3000);
}

This wiring (at the link belowfrom vilros) did work with the sketch above (and all of the other liquid Chrystal sketchs from the Arduino examples library.)

This wiring (at the link belowfrom vilros) did work with the sketch above (and all of the other liquid Chrystal sketchs from the Arduino examples library.)
https://www.vilros.com/lcd-tutorial

Please provide your email and password so we can look at that site.

Don