static unsigned long waktuSebelumnya = 0;
unsigned long interval = 2000;
int pinLed = 2;
int pinTombol = 3;
int counter = 1; // iterasi tombol
unsigned long debounce = 0;
unsigned long delayDebounce = 200;
void setup() {
pinMode(pinLed, OUTPUT);
pinMode(pinTombol, INPUT_PULLUP); // tombol aktif LOW
}
void loop() {
// ------------------------------
// Bagian pengaturan interval via tombol
// ------------------------------
if (digitalRead(pinTombol) == LOW && millis() - debounce > delayDebounce) {
debounce = millis(); // simpan waktu tombol ditekan
counter++; // iterasi tombol
if (counter == 1) interval = 500;
else if (counter == 2) interval = 1000;
else if (counter == 3) interval = 2000;
else {
counter = 1; // reset iterasi
interval = 500;
}
}
//pengontrol LED
if (millis() - waktuSebelumnya >= interval) {
waktuSebelumnya = millis();
digitalWrite(pinLed, !digitalRead(pinLed));
}
}