// Mendefinisikan nomor pin yang digunakan
const int lampu[] = {1, 2, 3, 4, 5, 6, 7, 8}; // Pin untuk LED
const int jumlahLampu = 8; // jumlah lampu
const int switchPin = 2; // Pin untuk switch
bool switchState = false; // Status switch
void setup() {
// Mengatur pin lampu sebagai output
for (int i = 0; i < jumlahLampu; i++) {
pinMode(lampu[i], OUTPUT);
}
// Mengatur pin switch sebagai input dengan pull-up resistor
pinMode(switchPin, INPUT_PULLUP);
}
void loop() {
// Membaca status switch
switchState = digitalRead(switchPin);
// Jika switch ON (dibaca sebagai LOW karena menggunakan pull-up resistor)
if (switchState == LOW) {
// Menyalakan lampu dari D1 ke D8
for (int i = 0; i < jumlahLampu; i++) {
digitalWrite(lampu[i], HIGH);
delay(700); // Tunggu 0.2 detik sebelum menyalakan lampu berikutnya
}
}
// Jika switch OFF
else {
// Menyalakan lampu dari D8 ke D1
for (int i = jumlahLampu - 1; i >= 0; i--) {
digitalWrite(lampu[i], HIGH);
delay(700); // Tunggu 0.2 detik sebelum menyalakan lampu berikutnya
}
}
// Matikan semua lampu setelah proses selesai
for (int i = 0; i < jumlahLampu; i++) {
digitalWrite(lampu[i], LOW);
}
}