I have a 16×2 LCD display that I'm just trying to use for the first time. The model number is 1602D1 according to this datasheet from where I purchased it. I first tried attaching it to a Raspberry Pi using Adafruit's tutorial, which had the same pinouts as the LCD display I have. Now I've tried using an Arduino and I get the same results, which are shown in the picture below.
The LCD display never updates when I try to send text to it and only displays the blocks in the bottom row. Adjusting the 10k variable resistor doesn't seem to do anything. When I send data to the LCD, I notice it flickering slightly as if its updating, but no text is displayed. I'm simply using the code from tutorials, nothing special. Any ideas what I am doing wrong? Thanks.
For clarity because the picture might be misleading, here is how I have the pins hooked up:
LCD Pins:
- LCD 1 – Ground
- LCD 2 – 5V
- LCD 3 – 10k Variable resistor middle pin
- LCD 4 – Arduino 12
- LCD 5 – Ground
- LCD 6 – Arduino 11
- LCD 7 through 10 empty
- LCD 11 – Arduino 5
- LCD 12 – Arduino 4
- LCD 13 – Arduino 3
- LCD 14 – Arduino 2
- LCD 15 – 5V
- LCD 16 – Ground
Variable resistor:
- Left – 5V
- Middle pin – LCD pin 3
- Right – Ground
Best Answer
You're reading the pins upside down.