My LCD is blank :(

I bought an Elegoo Super Starter kit and I’m on the thermometer project. I’ve wired and programmed the Arduino and LCD as Elegoo said, but it still isn’t working. The LCD is glowing and blue but no characters are getting displayed :slightly_frowning_face: some pics:

Here's the code:

//www.elegoo.com
//2016.12.9

#include <LiquidCrystal.h>
int tempPin = 0;
//                BS  E  D4 D5  D6 D7
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup()
{
  lcd.begin(16, 2);
}
void loop()
{
  int tempReading = analogRead(tempPin);
  // This is OK
  double tempK = log(10000.0 * ((1024.0 / tempReading - 1)));
  tempK = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * tempK * tempK )) * tempK );       //  Temp Kelvin
  float tempC = tempK - 273.15;            // Convert Kelvin to Celcius
  float tempF = (tempC * 9.0)/ 5.0 + 32.0; // Convert Celcius to Fahrenheit
  /*  replaced
    float tempVolts = tempReading * 5.0 / 1024.0;
    float tempC = (tempVolts - 0.5) * 10.0;
    float tempF = tempC * 9.0 / 5.0 + 32.0;
  */
  // Display Temperature in C
  lcd.setCursor(0, 0);
  lcd.print("Temp         C  ");
  // Display Temperature in F
  //lcd.print("Temp         F  ");
  lcd.setCursor(6, 0);
  // Display Temperature in C
  lcd.print(tempC);
  // Display Temperature in F
  //lcd.print(tempF);
  delay(500);
}

This code is from elegoo. Here's the wiring diagram from elegoo which I have replicated:

Please help me with this as I've been trying from a long time to get it to work

Try adjusting the contrast potentiometer for the LCD. If these are not adjusted correctly you won't see much.

2 Likes

I would also recommend that you use a I2c backpack if you are going to advance beyond the Elegoo starter pack.
I noticed that in your schematic, the middle pin of your potentiometer isn't even connected to your LCD - make sure that issue isn't duplicated in your actual circuit, although the backlight probably wouldn't even work if it wasn't connected to the pot.

1 Like

I had the same issue when I first used a LCD like this.

1 Like

Please confirm your contrast pot is correctly wired.

1 Like

What happens if you disconnect the pot and connect pin 3 of the LCD (Vo or contrast) to directly ground?

1 Like

This is a lot neater, plus displays degrees symbol:

// Display Temperature in C
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  // Display Temperature in C
  lcd.print(tempC);
  lcd.print(" ");
  lcd.print((char)223);
  lcd.print("C");
  delay(500);

You'll have to repeat that for farenheit.
lcd.clear(); is not the best way of telling the lcd to "reset", but for the sake of simplicity it'll work.

Your code worked beautifully on my I2C LCD, with a couple of changes for the library difference...

1 Like

So you are getting absolutely nothing displayed?

You need to set the contrast using the potentiometer. But first, you should correct an unfortunate mistake perpetrated in design after design since virtually the introduction of these displays. Remove the connection between the potentiometer and 5 V (the red wire shown).

If you have a 10k potentiometer as is the "standard" suggestion, connect both ends of the potentiometer to ground. Then adjust it until you see something - either a row of "blocks" on the upper line if your code is not working, or the desired text if it is.

Looks perfectly fine to me!

The backlight has nothing whatsoever to do with the potentiometer. :roll_eyes:

Not a bad idea for testing, but the diagram does show the potentiometer actually connected for the type whose wiper connection is on the opposite side, so turning it to the ground end should work.

Worked fine as long as you altered it, eh? :rofl:

1 Like

Is this wire even connected to anything ?

Is the pot center connected to VO ? :thinking:

Is 5V connected to VDD ? :upside_down_face:

1 Like

Is this a standing up pot? Or is there a pin under the top of the pot:
image

Yes sorry, I was in a hurry, I meant the contrast/character display area.:rofl::rofl::rofl:

Yes, true. I replaced the library files with the I2C ones. That was the only thing I changed.
All I was saying is that it worked with minimal changes.
Maybe the Elegoo LCD is broken? I'm not really sure as I don't really stray from the I2C LCD's very often. I'll leave that up to the experts on non I2C LCD's.

1 Like

Good catch! :+1:
It appears nothing is connected to "Vo" and those three wires (black, red, yellow) are off by one row.

Solved!

1 Like

The OP must realize that not following a wiring schematic when making wiring interconnections can lead to time wasted, burning components and the possibility of damaging their PC.

In this example, 5V was connected to the LCD Vss pin.
This applies reverse power to the LCD, lucky the GND was not connected to the LCD; however, the signal wires could back feed to the Arduino.

Not being careful when wiring your circuits can lead to tears :sob: .

Until it doesn't. Would have been a good test, no?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.