#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);
  }
}