LCD trouble after reading existing threads, PLEASE HELP!!!

Hey all,

Thanks in advance for taking the time to help me out,
I’m fairly new to Ardunio, and have come up against a brick wall with an LCD display, i know there are lots of threads already troubleshooting this but having read many of them i’m still to reeolve my issues,

Problem:
The screen wont show anything but a top line of black boxes, when playing with various config, I managed random symbols and two lines of black boxes but I cant remember what I changed to make that happen.
Additionally, i have wired up a second LCD (same model) and experienced the exact same problems so I’m ruling out a dodgy LCD, I’ve swapped everything around a bunch to see if that helps, and checked for shorts across all the soldered joints and triple checked that none of the wires have breaks.
Cheers guys (and girls (maybe))

My setup:
Ardunio Demuemilanove
LCD = RT1602H data sheet available from http://www.pdfsea.com/down/2008/0710/7192.html
Pictures can be found: https://picasaweb.google.com/101933256262609935815/LCDTroubles

Connections

  1. VDD - 5v
  2. VSS - GND
  3. V0 - wipe pin from 10k pot
  4. RS - digital in 12
  5. R/W - GND
  6. E - digital in 11
  7. DB4 = digital in 5
  8. DB5 = digital in 4
  9. DB6 = digital in 3
  10. DB7 = digital in 2

Code Used (example by Tom Igoe, cheers Tomo):

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

Cheers
Josh

is you power and ground the right way round? pin 1 & 2, on most ( but not all ) pin 1 is gnd and pin 2 +Vcc

LCD = RT1602H data sheet available from http://www.pdfsea.com/down/2008/0710/7192.html

They certainly don't make things easy....

Pictures can be found: https://picasaweb.google.com/101933256262609935815/LCDTroubles

I found two worthless pictures. Did I miss something that could be of use?

is you power and ground the right way round? pin 1 & 2, on most ( but not all ) pin 1 is gnd and pin 2 +Vcc

This is apparently one of those 'backwards' LCDs. If the power were wrong he wouldn't be seeing the row of blocks. It would probably be obscured by the smoke.

Go take a look at this thread http://arduino.cc/forum/index.php/topic,102266.0.html which is a work in progress. Pay particular attention to #3 which will explain my complaint about your photograph.

Don

I don’t know how they manage to come up with those wacky example sketches. Why on earth would you ever want to cause an already blinking cursor to turn on and off?

Try this one, which is actually somewhat useful:

#include <LiquidCrystal.h>

//LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);      // put your pin numbers here

void setup()
  {
  lcd.begin(16, 2);                          // this will work for all displays except some rare 16x1's
  lcd.print("hello, world!");
  lcd.setCursor(0,1)
  lcd.print("it works!");
  }

void loop()
  {
  }

[Edit]: If you really think the blinking cursor should turn on and off then you can put your original ‘loop’ code back in.

Don

I tried to trace the wires, took a lot of looking back and forth between the two pictures. I'm about 80% sure the wires look right. On the other hand, I can't be sure about the soldering was very good. What I strongly recommend you to do (maybe too late) is to remove the soldered jumper wires and solder some female headers on the display, then use jumper wires to make connections. This type of double row connector is not breadboard friendly. Next time maybe get those ones with a single row of pins.

Female headers: https://secure.dipmicro.com/store/HDR40X1F

LCD with single row holes: https://secure.dipmicro.com/store/LCD-1602A-Y

I suggest you check to make sure you have good soldering on all wires and if possible, replace the soldered-on jumper wires with female headers. For myself, I have some handy male-female jumper wires so I would solder male headers on and use my male-female jumper wires instead.

Hey all,

Thanks for the comments, especially anyone who tried to deiciper my wiring from the photos, sorry they weren't as high res as they could be but it was best i could muster at the time,

I think i'm going to get some female headers, and re-do my wiring - i wouldn't be too suprised if it was down to heavy handed conections here that I've been let down, i'm also going to get a single row LCD and see if i have better luck with that (using a more exiting example than the blinking cursor) either which way i'll keep you informed of my success, and hope to show a working screen doing something interesting soon.

Many thanks again,

Josh