#include <LiquidCrystal_I2C.h>
//initializing the LCD
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define buttonPin 2 // the pin number of the button
int countdown = 20; // initial countdown value
int currentState = digitalRead(buttonPin);
void setup() {
// initialize LCD
lcd.init();
// turn on LCD backlight
lcd.backlight();
Serial.begin(9600); // initialize serial communication
pinMode(buttonPin, INPUT); // set button pin as input with internal pull-up resistor
countdown = 20;
}
void loop() {
//countdown timer
if (digitalRead(buttonPin) == currentState) {
// set cursor to first column, first row
lcd.setCursor(1, 0);
lcd.print(countdown);
Serial.println(countdown);
// String speech = String(countdown); // convert countdown value to string
// Speak.sayString(speech); // generate speech output
countdown--;
Serial.println(countdown);
delay(1000); // 1 second delay
}
else {
countdown = 20;
currentState = digitalRead(buttonPin);
}
}