#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
const int buttonPin = 2;
boolean lcdState = false;
unsigned long previousMillis = 0;
boolean buttonState = LOW;
boolean lastButtonState = LOW;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 50;
void setup(){
pinMode(buttonPin, INPUT);
lcd.init();
lcd.backlight();
}
void loop() {
int reading = digitalRead(buttonPin);
if (reading != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > debounceDelay) {
if (reading != buttonState){
buttonState = reading;
if (buttonState == HIGH) {
lcdState = !lcdState;
if (!lcdState) {
lcd.clear();
previousMillis = millis();
} else {
lcd.setCursor(3,0);
lcd.print("Hello, PaolnwZa");
lcd.setCursor(2,2);
lcd.print("WACHIRATHAMSATIT");
lcd.setCursor(6,3);
lcd.print("M. 5/3");
}
}
}
}
lastButtonState = reading;
if (lcdState) {
unsigned long currentMillis = millis();
lcd.setCursor(9,1);
lcd.print((currentMillis - previousMillis)/ 1000);
}
}