Go Down

Topic: lcd not displaying (Read 258 times) previous topic - next topic

santam

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!!!!!

floresta

#1
Jun 14, 2018, 04:37 pm Last Edit: Jun 14, 2018, 04:38 pm by 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.

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

bperrybap

#2
Jun 14, 2018, 05:37 pm Last Edit: Jun 14, 2018, 05:37 pm by bperrybap
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

floresta

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

santam

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!!!!

floresta

#5
Jun 15, 2018, 02:56 pm Last Edit: Jun 15, 2018, 02:57 pm by floresta
Carefully read reply #3 again.

Also use code tags as described in the forum instructions.

Don

Go Up