const int ButtonUp = 2;
const int ButtonDown = 4;
const int led = 8;
int buttonCounter = 0;
bool ledState = false;
unsigned long previousMillis = 0;
unsigned long interval = 500; // Interval default
void setup() {
Serial.begin(9600);
pinMode(ButtonUp, INPUT);
pinMode(ButtonDown, INPUT);
pinMode(led, OUTPUT);
}
void loop() {
unsigned long currentMillis = millis();
// Membaca tombol dan menambahkan counter jika ditekan
if (digitalRead(ButtonUp) == HIGH) {
buttonCounter++;
Serial.print("Button pushed. Total button pushes: ");
Serial.println(buttonCounter);
delay(250);
// Mengatur delay baru untuk LED
interval = buttonCounter * 500;
previousMillis = currentMillis; // Me-reset waktu sebelumnya
}
// Counter Down
if (digitalRead(ButtonDown) == HIGH) {
buttonCounter--;
Serial.print("Button pushed. Total button pushes: ");
Serial.println(buttonCounter);
delay(250);
// Mengatur delay baru untuk LED
interval = buttonCounter * 500;
previousMillis = currentMillis; // Me-reset waktu sebelumnya
}
// Mengontrol LED berdasarkan interval waktu
if (currentMillis - previousMillis >= interval) {
// Toggle status LED
ledState = !ledState;
digitalWrite(led, ledState);
previousMillis = currentMillis; // Me-reset waktu sebelumnya
}
}