• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Таймер, включить, нажать выключить

Буду рад помощи, вот по этому таймеру. Хотелось бы в любой момент прервать время, этой же кнопкой, вторым нажатием. Может у кого есть заготовка, поделитесь.
Код:
//

int ledPin = 13; 
long OnTime = 500000; 
int ledState = LOW;
int pinButton = A0;
unsigned long previousMillis = 0;
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
  unsigned long currentMillis;   
 
  if (ledState == HIGH)
  {
    currentMillis = millis();
 
    if (currentMillis-previousMillis >= OnTime)
    {
       ledState = LOW;
       previousMillis = 0;
       digitalWrite(ledPin,ledState);
     } 
   }
  
  if (digitalRead(pinButton) == HIGH)
  {
    previousMillis = currentMillis; 
    ledState = HIGH;
    digitalWrite(ledPin,ledState);
  }
}
 
Сверху Снизу