lcd not displaying

My lcd is not working.
This is a simple Hello World program.

The circuit is:

VSS - GND
VDD - 5V
VO - GND
RS - 12
RW - 11
E - 10
D0 - 9
D1 - 8
D2 - 7
D3 - 6
D4 - 5
D5 - 4
D6 - 3
D7 - 2
A - 5V
K - GND

And the program that I uploaded to the board(Arduino UNO) is:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12,11,10,9,8,7,6,5,4,3,2);

void setup() {
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("HELLO WORLD");
}

void loop() {

}

But nothing is showing on the lcd.
HELP!!!!!

You have elected to have the RW pin controlled by the Arduino. This means that your program will have to tell the Arduino to do so. In setup you will have to set pin 11 as an output and then drive it low.

It will be easier to disconnect LCD pin 5 from the Arduino and connect it to ground. You will then have to change the constructor to eliminate the reference to RW.

LiquidCrystal lcd(12,11,10,9,8,7,6,5,4,3,2);
==> LiquidCrystal lcd(12,10,9,8,7,6,5,4,3,2);

At the same time you could disconnect D0-D3 (use the 4-bit mode) and change the constructor to read

LiquidCrystal lcd(12,10,5,4,3,2);

Don

floresta:
You have elected to have the RW pin controlled by the Arduino. This means that your program will have to tell the Arduino to do so. In setup you will have to set pin 11 as an output and then drive it low.

It will be easier to disconnect LCD pin 5 from the Arduino and connect it to ground. You will then have to change the constructor to eliminate the reference to RW.

Don, the sketch doesn't have to control the pin connected to the r/w pin.

The LiquidCrystal library uses the optional rw pin provided as a grounding output to control the LCD rw pin.
i.e it sets it to be an output and and then sets the output to LOW.
It is effectively using an Arduino pin as a wire to ground so it is a waste of an Arduino pin.

But I do agree that it is simpler & better to just wire the LCD r/w pin to ground when using that library.

--- bill

OK. Then in that case he has another problem!

We really should have a photograph that clearly shows the soldering to the LCD module and the wiring between the LCD and the Arduino.

Don

This is the new circuit:

VSS - GND
VDD - 5V
VO - GND
RS - 11
RW - GND
E - 9
D4 - 6
D5 - 5
D6 - 4
D7 - 3
A - 5V
K - GND

And the new code uploaded to the board:

#include <LiquidCrystal.h>
LiquidCrystal lcd(11,9,6,5,4,3);
void setup() {
// put your setup code here, to run once:
lcd.begin(16,2);
lcd.print("HELLO");
}

void loop() {
// put your main code here, to run repeatedly:
lcd.setCursor(0,1);
lcd.print("CODE");
}

And still nothing!!!!

Carefully read reply #3 again.

Also use code tags as described in the forum instructions.

Don