const int buttonIncreasePin = 2;
const int buttonDecreasePin = 3;
const int ledPin = 13;
volatile int delayTime = 500; // Initial delay time in milliseconds
volatile bool increaseButtonPressed = false;
volatile bool decreaseButtonPressed = false;
volatile unsigned long lastIncreaseTime = 0;
volatile unsigned long lastDecreaseTime = 0;
void setup() {
pinMode(buttonIncreasePin, INPUT_PULLUP);
pinMode(buttonDecreasePin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
attachInterrupt(digitalPinToInterrupt(buttonIncreasePin), increaseDelay, FALLING);
attachInterrupt(digitalPinToInterrupt(buttonDecreasePin), decreaseDelay, FALLING);
digitalWrite(ledPin, HIGH); // Turn off LED initially
}
void loop() {
if (increaseButtonPressed) {
increaseButtonPressed = false;
increaseDelay();
}
if (decreaseButtonPressed) {
decreaseButtonPressed = false;
decreaseDelay();
}
digitalWrite(ledPin, HIGH);
delay(delayTime);
digitalWrite(ledPin, LOW);
delay(delayTime);
}
void increaseDelay() {
if (delayTime < 2000) { // Set an upper limit for delay
delayTime += 500;
}
}
void decreaseDelay() {
if (delayTime > 100) { // Set a lower limit for delay
delayTime -= 500;
}
}