Buen día compañeros, tengo un problema, estoy haciendo un temporizador y encontré un código muy buen pero el problema es que comienza la cuenta regresiva a penas se enciende el arduino, lo que quiero es agregarle un pulsador para comenzar y detener la cuenta regresiva pero no logro que funcione de la manera correcta, espero contar con su ayuda, por ahora estoy usando el tinkercad.
PD: hace 7 años que no programo un arduino
#include <LiquidCrystal.h>
//Crear el objeto LCD con los números correspondientes (rs, en, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
long hour = 17, minute = 59, second = 59;
long countdown_time = (hour * 3600) + (minute * 60) + second;
int exitloop = 0;
String stopwatch = "stop";
int start_time = 0;
const int rele = 8;
String action;
long timein[6], initialsecond = 0;
int i = 0;
const int startpin = 7, stoppin = 6;
void setup() {
lcd.begin(16, 2);
lcd.setCursor(2, 0);
lcd.print("TEMPORIZADOR");
pinMode(startpin, INPUT);
pinMode(stoppin, INPUT);
pinMode(rele, OUTPUT);
}
void loop() {
//Aquí comienza la cuenta regresiva
long countdowntime_seconds = countdown_time - (millis() / 1000);
if (countdowntime_seconds >= 0) {
long countdown_hour = countdowntime_seconds / 3600;
long countdown_minute = ((countdowntime_seconds / 60) % 60);
long countdown_sec = countdowntime_seconds % 60;
lcd.setCursor(4, 1);
if (countdown_hour < 10) {
lcd.print("0");
}
lcd.print(countdown_hour);
lcd.print(":");
if (countdown_minute < 10) {
lcd.print("0");
}
lcd.print(countdown_minute);
lcd.print(":");
if (countdown_sec < 10) {
lcd.print("0");
}
lcd.print(countdown_sec);
if (countdowntime_seconds == 0) {
digitalWrite(rele, HIGH);
}
}
delay(500);
}