const int buttonPin = 8;
const int led=7;
int path=1;
int a=1;
int previousState = HIGH;
unsigned int previousPress;
volatile int buttonFlag;
int buttonDebounce = 20;
void setup()
{
pinMode(buttonPin, INPUT_PULLUP);
pinMode(led,OUTPUT);
}
void loop()
{
if (path)
{
analogWrite(led, 1000);
delay(1000);
}
else
{
analogWrite(led , 0);
delay(1000);
}
}
void button_ISR()
{
buttonFlag = 1;
if((millis() - previousPress) > buttonDebounce && buttonFlag)
{
previousPress = millis();
if(digitalRead(buttonPin) == LOW && previousState == HIGH)
{
path =!path;
previousState = LOW;
}
else if(digitalRead(buttonPin) == HIGH && previousState == LOW)
{
previousState = HIGH;
}
buttonFlag = 0;
}
}