LCD 16 pin. Absolutely not working

Hi Guys,

I am new to arduino. I tried a couple of leds and analog inputs. Working fine. But I am totally stuck with my LCD. I bought 2 LCDs, of the 16pin type. I tried both the 8bit and 4bit modes. I am not getting anykind of output on the LCD. Please help.

I even tried various pin configurations.

Is there any step by step method to start troubleshooting?

I know its tought to solve such a problem. Any help would do.

ok, what lcd specifically are you using, datasheets or product links are helpfull. how are you powering it, do you have a potentiometer set up to adjust the contrast, and can you post the sketch you are using.

thanx for ur quick reply

i have got the normal one we get at the store. i am hoping its the one with the hitachi driver, taking the 16pin configuration.
1st LCD has: SC1602ASLT-XA-GB-K02 on it
2nd: SD1602GULB-XB-GB-R
i dont have specific datasheets for the one that i have bought, but for the 2nd one the closest datasheet i could find is: http://www.altronics.com.au/download/Specifications/Z7013.pdf

i did connect a POT of 10K for the contrast. Absolutely no change is visible when we vary it.

i tried all the circuits in tutorials:

well first off i'd check the power. whenever i turn the contrast pin up on any of my lcd's it shows a bunch of solid blocks regardless of what i send to it.

i m powering the board by the USB connection itself.
Wud that be a problem?

And also varying the pot to bot extremes doesnt show any difference.

I did measure the Volt coming up at the GND and 5V input to the LCD. It gives 5V.

LCDs can be driven directly from Arduinos, or, for just a slight further expense, you can use a dedicated board to drive the LCD, and besides having less to "get right", and simpler programs in the Arduino, you free up some Arduino pins.

Details at...

(Price for controller 4/10: $14 simple-to-assemble kit/ $22 assembled and tested.)

And also varying the pot to bot extremes doesnt show any difference.

That suggests to me the LCD is either not working or not powered. Until that happens you can forget about all the rest.

I thought I will post my program and the connections i tried. (Among the many)

Program:
/*
LiquidCrystal Library - Hello World

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 shows the time.

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
  • 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 8 Feb 2010
by Tom Igoe

This example code is in the public domain.

*/

// 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() {
// 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);
}

Connections:

Everything as mentioned in the tutorial. The contrast thru a 10k pot.
The device powering was thru the USB port itself. (Can someone please confirm whether the USB is sufficient to power the device)

Please note that I had also checked each pin of the microcontroller using a simple LED blink program too. Was perfectly fine!

The output that I am currently getting: "ABSOLUTELY NOTHING"
..no blocks, no curser...nothing dark/black"

  • 10K resistor:
  • ends to +5V and ground
  • wiper to LCD VO pin (pin 3)

I assume that is the pot. It is not usual to connect the other end of the pot to +5V it is more usual to have this end just floating. This is because there is a negative voltage here and the pot controls the amount of negative. Connecting it to +5V kills any negative voltage.
Note this does not apply to all LCDs but the majority of them. So just give that a try and see if you can get the solid blocks to appear.

(Can someone please confirm whether the USB is sufficient to power the device)

yes it is.

Hey buddy, I did try out the Contrast pin, thru pot and one end of pot free and the other GND. NOT WORKING STILL.
I did try with both the LCDs i have.

Is there any code that I could try to troubleshoot the LCD without using the Library?

appaxster:

If you can't get a row of blocks to appear with just the power, contrast potentiometer, and backlight (pins 1, 2, 3, 15, and 16) connected then no amount of code in the world is going to help you.

You may have one of the rare devices that requires a negative voltage on the contrast pin.

Don

As a quick and dirty test for negative voltage, use a 1.5v AA battery or similar wired + to arduino gnd and - to the contrast pin and see if you get the blocks on the screen, its worked in at least one case on here.

IT WORKED FINALLY!

It was a very silly problem. The contrst pin wasnt soldered properly.

Thanks for the negative voltage suggestion.
The tip were of great help.

Thanks guys!

Bob

It was a very silly problem. The contrst pin wasnt soldered properly.

It usually comes down to connection problems in the end........ :slight_smile: