I'm trying to get my 2004A LCD to work with my Arduino Uno and display a simple message but whenever it's turned on, it boots up showing the first and third rows filled entirely with blocks for a couple of seconds, and then it disappears (backlight still on of course) so it can't be a contrast issue.
If I swap out the LCD with a 1602A LCD it works just fine and displays my message (obviously with lcd.begin modified for the appropriate columns and rows).
Here's the code I am using:
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11 , 12);
void setup() {
lcd.begin(20, 4);
lcd.setCursor(0,2);
lcd.write("Hello, PENIS");
}
void loop() { }
From my understanding, the pins have to be connected in the exact same way as the 1602A LCD is so I'm hoping that's not the issue.
VSS to Ground
VDD to +5V
VO to to middle pin of 50k potentiometer (with first and last pins of the potmeter connected to ground also)
RS to Pin 7 of Arduino
RW to Ground
E to to Pin 8 of Arduino
D0 don't use (what the heck is this for?)
D1 don't use (what the heck is this for?)
D2 don't use (what the heck is this for?)
D3 don't use (what the heck is this for?)
D4 to Pin 9 of Arduino
D5 to Pin 10 of Arduino
D6 to Pin 11 of Arduino
D7 to Pin 12 of Arduino
K to +5V
A to Ground
So what am I doing wrong? Why does the 1602A LCD display my message and the 2004A does not?