I have checked my wiring multiple times, and my pin headers are soldered to my LCD screen. I am using a standard breadboard if that makes any difference. Currently, I am using the Arduino UNO but I have also tried to do this using the Mega as well as a different LCD screen that is also 16x2. I've also swapped out jumper wires in case of a faulty wire.
My pins are connected as follows:
VSS: ground
VDD: 5V
V0: middle leg of potentiometer (each of the other 2 legs is connected - one to ground and one to 5V)
RS:digital pin 12
RW: ground
E: digital pin 11
D4: digital pin 5
D5: digital pin 4
D6: digital pin 3
D7: digital pin 2
A: 5V
K: ground
After attaching pins A and K on the LCD to 5V and ground, my backlight works. However, if I am understanding this correctly, connecting VSS, VDD, and V0 should cause a row of blocks/squares to appear. I cannot get any to show up, and I am not sure why.
Also, should turning the potentiometer modify the "brightness" of the LCD backlight? I know it is supposed to change contrast to make text more legible, but currently, adjusting my potentiometer results in no changes on my backlit LCD screen.
My code is extremely simple, but I'm sure someone will ask for it, so here it is.
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
lcd.begin(16, 2);
lcd.print("hello, world!");
}
void loop() {
}
I should note that I used this LCD screen earlier today and it worked fine, but then I attempted to move all of my wiring from one breadboard to another (my project had 3 breadboards and I wanted to condense it down to 1). At first, I was also running 6 pushbuttons and a piezo on the same breadboard from the Mega, but for testing purposes, I moved my LCD and its wires to a clean breadboard and tried using the UNO.
Any help would be greatly appreciated. Thanks!