#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte vertical[8] = {
0b00000,
0b00100,
0b00100,
0b00100,
0b00100,
0b00100,
0b00100,
0b00000,
};
byte corner1[8] = {
0b00000,
0b00000,
0b00000,
0b00111,
0b00100,
0b00100,
0b00100,
0b00000
};
byte corner2[8] = {
0b00000,
0b00100,
0b00100,
0b00100,
0b00111,
0b00000,
0b00000,
0b00000
};
byte corner3[8] = {
0b00000,
0b00000,
0b00000,
0b11100,
0b00100,
0b00100,
0b00100,
0b00000
};
byte corner4[8] = {
0b00000,
0b00100,
0b00100,
0b00100,
0b11100,
0b00000,
0b00000,
0b00000
};
byte horizontal1[8] = {
0b00000,
0b00000,
0b00000,
0b11111,
0b00000,
0b00000,
0b00000,
0b00000
};
byte horizontal2[8] = {
0b00000,
0b00000,
0b00000,
0b00000,
0b011110,
0b00000,
0b00000,
0b00000
};
void setup() {
lcd.begin(20, 4);
lcd.createChar(0, vertical);
lcd.createChar(1, corner1);
lcd.createChar(2, corner2);
lcd.createChar(3, corner3);
lcd.createChar(4, corner4);
lcd.createChar(5, horizontal1);
lcd.createChar(6, horizontal2);
//border
int row = 0;
for (int col = 1; col <=18; col++) {
lcd.setCursor(col, row);
lcd.write((byte)5);
}
int row2 = 4;
for (int col2 = 1; col2 <=18; col2++) {
lcd.setCursor(col2, row2);
lcd.write((byte)6);
}
int col3 = 0;
for (int row3 = 1; row3 <=2; row3++) {
lcd.setCursor(col3, row3);
lcd.write((byte)0);
}
int col4 = 19;
for (int row4 = 1; row4 <=2; row4++) {
lcd.setCursor(col4, row4);
lcd.write((byte)0);
}
lcd.setCursor(0,0);
lcd.write((byte)1);
lcd.setCursor(0,4);
lcd.write((byte)2);
lcd.setCursor(19,4);
lcd.write((byte)4);
lcd.setCursor(19,0);
lcd.write((byte)3);
//clock
lcd.setCursor(5,1);
lcd.print("3/18/2022");
lcd.setCursor(6,2);
lcd.print(3);
lcd.print(":");
lcd.print(0);
lcd.print(0);
lcd.print(":");
}
void loop() {
for (int sec = 01; sec<=60; sec++) {
lcd.setCursor(11,2);
lcd.print(sec);
delay(1000);
}
}