/*
Forum: https://forum.arduino.cc/t/lcd-not-working-well/1210221
Wokwi: https://wokwi.com/projects/386742125987512321
*/
#include <LiquidCrystal.h>
int RS = 7;
int E = 8;
int D4 = 9;
int D5 = 10;
int D6 = 11;
int D7 = 12;
bool turn = true;
long timer = 0;
byte hart[] = {
B00000,
B01010,
B11111,
B11111,
B11111,
B01110,
B00100,
B00000
};
LiquidCrystal lcd(RS, E, D4, D5, D6, D7);
void setup() {
lcd.begin(16, 2);
lcd.createChar(0, hart);
lcd.setCursor(1, 0);
lcd.write(byte(0));
lcd.setCursor(2, 0);
lcd.print(" Happy");
lcd.setCursor(9, 0);
lcd.write(byte(0));
lcd.setCursor(0, 1);
lcd.print("Mother Day!");
}
void loop() {
if(turn) lcd.scrollDisplayRight();
else lcd.scrollDisplayLeft();
if(timer > 3) {
turn = !turn;
timer = 0;
}
delay(200);
timer += 1;
}