const int potPin = A0;
volatile bool buttonPressed= false;
void setup() {
Serial.begin(9600);
// put your setup code here, to run once:
pinMode(2, INPUT);
pinMode(11, OUTPUT);
pinMode(13, OUTPUT);
attachInterrupt(digitalPinToInterrupt(2),handleButtonPress, FALLING);
}
void loop() {
int potValue = analogRead(potPin);
int delayTime = map(potValue,0, 1023, 10, 2000);
if (buttonPressed) {
digitalWrite(11, HIGH);
delay(delayTime);
}else { analogWrite(11, LOW);
}
if (buttonPressed){
Serial.println("Button was pressed!");
buttonPressed = false; //reset flag
}
}
void handleButtonPress() {
buttonPressed = true; //set flag when button pressed
}