const int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9}; // Pin untuk LED
const int buttonPinRight = 10; // Pin untuk push button ke kanan
const int buttonPinLeft = 11; // Pin untuk push button ke kiri
int ledCount = 0; // Menyimpan jumlah LED yang telah dinyalakan
bool moveRight = true; // Menyimpan arah pergerakan lampu
void setup() {
for (int i = 0; i < 8; i++) {
pinMode(ledPins[i], OUTPUT);
digitalWrite(ledPins[i], LOW); // Matikan semua LED saat awal
}
pinMode(buttonPinRight, INPUT_PULLUP); // Pull-up resistor untuk push button ke kanan
pinMode(buttonPinLeft, INPUT_PULLUP); // Pull-up resistor untuk push button ke kiri
}
void loop() {
if (digitalRead(buttonPinRight) == LOW) { // Jika push button kanan ditekan
moveRight = true; // Atur arah pergerakan ke kanan
ledCount = 0; // Reset jumlah LED yang telah dinyalakan
while (ledCount < 8) { // Selama belum semua LED dinyalakan
digitalWrite(ledPins[ledCount], HIGH); // Nyalakan LED berikutnya
delay(500); // Delay untuk efek visual
ledCount++; // Tambah jumlah LED yang telah dinyalakan
}
}
if (digitalRead(buttonPinLeft) == LOW) { // Jika push button kiri ditekan
moveRight = false; // Atur arah pergerakan ke kiri
ledCount = 7; // Reset jumlah LED yang telah dinyalakan
while (ledCount >= 0) { // Selama belum semua LED dinyalakan
digitalWrite(ledPins[ledCount], HIGH); // Nyalakan LED sebelumnya
delay(500); // Delay untuk efek visual
ledCount--; // Kurangi jumlah LED yang telah dinyalakan
}
}
// Matikan semua LED setelah menyelesaikan pergerakan
for (int i = 0; i < 8; i++) {
digitalWrite(ledPins[i], LOW);
}
}