LCD Trouble in Crystal Ball Project from Arduino Project Book

Hello, I’m new to Arduino and the Arduino forum. I just need a bit of help with my LCD that I received with my Arduino Projects Book. I’ll do my best to provide all the applicable information. Any help is appreciated.

My problem: I’ve wired up my LCD, tilt sensor, and POT and see no change in the display. It does not appear to be powered on, and the contrast doesn’t change when I turn the POT. The problem is not the code. I’ve used both my code and the example code provided in the Arduino IDE. There’s still no change.

At first I thought the problem was occurring because the pins on my LCD have different names than the LCD’s pins in the book. e.g The pin I connect to 5V is called VDD not VSS (which is what the book calls for.) After some research I found that the names are just different but the placement of my wiring should still be the same.

I’m wondering…Is my LCD just faulty? Or is it just a problem with my wiring? I’ve already tried rewiring and rewiring but my repetition hasn’t eliminated any error. Still there’s no visible reaction from the LCD. has anyone else had trouble with their LCD? This is just becoming troubling and I’d like to resolve the problem so I can move on to another project.

In the attachments I’ve placed a picture of the both the diagrams from the projects book as well as a picture of my own wiring for reference.
Thank you!

I’ve already tried rewiring and rewiring but my repetition hasn’t eliminated any error.

Try again. Disconnect everything and then reconnect things step by step.

(1) Connect the backlight circuitry (LCD pins 15 and 16) and get that working.

(2) Connect the power and contrast (LCD pins 1, 2, and 3). You should be able to adjust the potentiometer until you see a single row of rectangles. There’s no sense going any further if this doesn’t work.

(3) Connect the rest of the LCD pins (pins 4, 5, 6, 11, 12, 13, and 14) and see if you can display a simple message. Make sure you connect LCD pin 5 to GND

#include <LiquidCrystal.h>

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

void setup()
  {
  lcd.begin(16, 2);                          // put your LCD parameters here
  lcd.print("hello, world!");
  lcd.setCursor(0,1);
  lcd.print("it works!");
  }

void loop()
  {
                                             // do nothing in 'loop'
  }

(4) Add the rest of the stuff and run your Crystal ball project.

Don

The pin I connect to 5V is called VDD not VSS (which is what the book calls for.)

I just noticed this part. You should deal with this first.

The vast majority of LCD modules have GND on LCD pin 1 and +5v on LCD pin 2. There are a very, very few where this setup is reversed.

If you get things backwards the blobs on the back of your LCD will get very hot very quickly. Unless you earlier got things backwards and didn't notice the heat before the device died you are probably OK since your connections in the photo appear to be correct.

Don

Thank you for your help, I tried what you said about the backlight, power, and contrast and still was not able to get it to work. At this point I'm 98% sure it's the LCD that's the screw-up and not me. :) (At least I've learned more about LCDs through this process.)

Either I overheated it like you mentioned I could or I received a faulty one in the first place. Anyways, thanks!

mootsnake: The pin I connect to 5V is called VDD not VSS (which is what the book calls for.)

When I look at the diagram in the book, (the pic you posted), 5V is connected to Vdd and Vss connects to ground, as it should be, and not the other way around as you describe. The book's diagram looks fine to me.

Still, as floresta points out, you have them connected in the right polarity now in your photo. As he also says, if you did connect them the other way by mistake, since you thought that was what the diagram called for, then the LCD display is probably dead now.

(I mainly posted to point out that the diagram in the book is not incorrect. You were misreading it :) )

Thank you for your help as well. However, I didn't misread any diagram. As you can see, my wiring is correct; there was no mistake. It was just that the LCD I received had pins that were labeled differently from the book's LCD pins. After doing some research I was able to figure out which pins the book referred to (despite the different names) and managed to wire them correctly. There was no misreading. My problem arose because I was sure I'd done it all correctly and yet there was still no response from the LCD.

If perhaps there was something wrong with my wiring that you could point out, then I could see how I might have misread the diagram. If not though, I'm inclined to think I either received a broken LCD (wouldn't be the first faulty electronic that this kit gave me), or I overheated it at some point without noticing. Thanks anyways :)

mootsnake: Thank you for your help as well. However, I didn't misread any diagram. As you can see, my wiring is correct; there was no mistake. It was just that the LCD I received had pins that were labeled differently from the book's LCD pins. After doing some research I was able to figure out which pins the book referred to (despite the different names) and managed to wire them correctly. There was no misreading. My problem arose because I was sure I'd done it all correctly and yet there was still no response from the LCD.

If perhaps there was something wrong with my wiring that you could point out, then I could see how I might have misread the diagram. If not though, I'm inclined to think I either received a broken LCD (wouldn't be the first faulty electronic that this kit gave me), or I overheated it at some point without noticing. Thanks anyways :)

I was going by this:-

The pin I connect to 5V is called VDD not VSS (which is what the book calls for.)

but I guess you mean that elsewhere in the book it says to connect Vss to +5V and not in the diagram you posted?

.....or I overheated it at some point without noticing.

floresta's reference to 'overheating' was in relation to connecting the power in reverse-polarity. Since you said you may have overheated it, I assumed that you meant that you might have connected the power backwards at some point.

(I'm just reading what's written. Anyway, no big deal either way.)

It was just that the LCD I received had pins that were labeled differently from the book's LCD pins.

Could you show us what you mean by this. Perhaps a photo of the back of the LCD or a link to it's datasheet.

Don

The pins look to be the standard layout in this:-
(Attached to the opening post.)
66d1512d22fe2c96057d3c36e9c30bf6322fbccd.jpg

I’d like to see where the book says to connect Vss to +5V. Pretty serious typo. Vss always connects to ground, and Vdd to +ve.

OldSteve: When I look at the diagram in the book, (the pic you posted), 5V is connected to Vdd and Vss connects to ground, as it should be, and not the other way around as you describe. The book's diagram looks fine to me.

Guys, when I look at the diagram in the photo of the book page in diagram-1.JPG, it has a tan block in the bottom half of the image and the diagram in white print.

The two pins at the top of the LCD diagram are labeled: - Vss - Vcc

With Vss connecting a pin labeled GND in the Arduino block and Vcc connecting to a pin labeled 5V in the Arduino block

I don't see "Vdd" anywhere on that image.

Why am I seeing something different?

Sounds like it is time to get out a voltmeter and measure a few things. the two outer pins of the 16 LCD pins should be ground and the next pin in on both ends should have voltage on it.

If not, then something is wrong with the jumper wires or the breadboard. Maybe the 5 hole segments within the power rails are not connected to each other. While not very common, I have seen this issue on some bread boards.

--- bill

Uh guys…
You won’t get very far with two grounds and no power…

It is a bit odd that the label for the GND pins is rotated differently than the labels for all the other pins AND only has a single label for two pins.

bperrybap: Guys, when I look at the diagram in the photo of the book page in diagram-1.JPG, it has a tan block in the bottom half of the image and the diagram in white print.

The two pins at the top of the LCD diagram are labeled: - Vss - Vcc

With Vss connecting a pin labeled GND in the Arduino block and Vcc connecting to a pin labeled 5V in the Arduino block

I don't see "Vdd" anywhere on that image.

Why am I seeing something different?

Sounds like it is time to get out a voltmeter and measure a few things. the two outer pins of the 16 LCD pins should be ground and the next pin in on both ends should have voltage on it.

If not, then something is wrong with the jumper wires or the breadboard. Maybe the 5 hole segments within the power rails are not connected to each other. While not very common, I have seen this issue on some bread boards.

--- bill

You're right about Vcc. I stand corrected. Vdd and Vcc are interchangeable, Vdd standing for Vdrain and Vcc standing for Vcollector, both effectively meaning the same thing. In a circuit, Vdd or Vcc connect to +ve. Vss always connects to 0V. That was the connection the OP was referring to.

The important point was in relation to Vss, not Vcc/Vdd. I was looking more closely at Vss, since that's where the issue lay. (My eyesight isn't the best.)

Anyway, it looks like you spotted what we missed:-

bperrybap: Uh guys.... You won't get very far with two grounds and no power.....

It is a bit odd that the label for the GND pins is rotated differently than the labels for all the other pins AND only has a single label for two pins.

That rotated ground label is normal on the new original boards. First pic on this page:- https://www.arduino.cc/en/Products/Counterfeit

OldSteve: That rotated ground label is normal on the new original boards.

This does not seem like a good thing. Obviously it has the potential to create confusion and this is a great example.

I think having a label on each and every pin is better, including the unused pin on that header.

I think it would be clearer to have two "GND" pin labels similar to the "GND" label next to AREF.

--- bill

bperrybap: This does not seem like a good thing. Obviously it has the potential to create confusion and this is a great example.

I think having a label on each and every pin is better, including the unused pin on that header.

I think it would be clearer to have two "GND" pin labels similar to the "GND" label next to AREF.

--- bill

I agree. All of my boards, both UNO and Mega, (R3 clones), have every individual header socket labelled. I actually thought the one with the rotated label was a counterfeit until I checked the "Conterfeit" page that I linked earlier.

floresta:
Try again. Disconnect everything and then reconnect things step by step.

(1) Connect the backlight circuitry (LCD pins 15 and 16) and get that working.

(2) Connect the power and contrast (LCD pins 1, 2, and 3). You should be able to adjust the potentiometer until you see a single row of rectangles. There’s no sense going any further if this doesn’t work.

(3) Connect the rest of the LCD pins (pins 4, 5, 6, 11, 12, 13, and 14) and see if you can display a simple message. Make sure you connect LCD pin 5 to GND

#include <LiquidCrystal.h>

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

void setup()
  {
  lcd.begin(16, 2);                          // put your LCD parameters here
  lcd.print(“hello, world!”);
  lcd.setCursor(0,1);
  lcd.print(“it works!”);
  }

void loop()
  {
                                            // do nothing in ‘loop’
  }




(4) Add the rest of the stuff and run your Crystal ball project.

Don

This fault finding on the LCD is perfect advice. I had a similar problem with the screen not working and nothing I did or read online fixed it. Identifying each part, step by step to eliminate it found my problem (mixup on a new breadboard i was using - the breadboard is in 4 parts, not two halves as i thought) . Thanks!