#include <Arduino.h>
// Pin LED yang akan digunakan
const int ledPins[] = {2, 4, 5, 18};
const int numLeds = sizeof(ledPins) / sizeof(ledPins[0]);
// Pin tombol
const int buttonPin = 16;
// Waktu delay antara setiap pergeseran LED (ms)
const int delayTime = 500;
void setup() {
// Inisialisasi pin LED sebagai OUTPUT
for (int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
}
// Inisialisasi pin tombol sebagai INPUT_PULLUP
pinMode(buttonPin, INPUT_PULLUP);
}
void loop() {
// Menunggu hingga tombol ditekan
while (digitalRead(buttonPin) == HIGH) {
delay(10);
}
// Menggerakkan LED dari kiri ke kanan
for (int i = numLeds - 1; i >= 0; i--) {
digitalWrite(ledPins[i], HIGH); // Menyalakan LED
delay(delayTime);
digitalWrite(ledPins[i], LOW); // Mematikan LED
}
// Menunggu hingga tombol dilepas
while (digitalRead(buttonPin) == HIGH) {
delay(10);
}
}