const int ledPin[12] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // Pin untuk LED
int ledState[12] = {0}; // State dari setiap LED, 0 = mati, 1 = menyala
void setup() {
Serial.begin(9600);
Serial.println("1, lampu led berwarna merah menyala 1");
Serial.println("2, lampu led berwarna merah mati 1");
Serial.println("3, 12 lampu led menyala bersamaan");
Serial.println("4, 12 lampu led menyala Running led dengan delay 500");
Serial.println("5, 12 lampu led menyala flip flop ");
Serial.println("6, Semua lampu led mati");
// Inisialisasi pin sebagai output
for (int i = 0; i < 12; i++) {
pinMode(ledPin[i], OUTPUT);
}
}
void loop() {
if (Serial.available() > 0) {
int command = Serial.parseInt(); // Membaca input dari Serial Monitor
// Menjalankan perintah sesuai dengan input
switch (command) {
case 1:
digitalWrite(ledPin[0], HIGH);
ledState[0] = 1;
break;
case 2:
digitalWrite(ledPin[0], LOW);
ledState[0] = 0;
break;
case 3:
for (int i = 0; i < 12; i++) {
digitalWrite(ledPin[i], HIGH);
ledState[i] = 1;
}
break;
case 4:
runningLED();
delay(500);
break;
case 5:
flipFlopLED();
break;
case 6:
turnOffAllLEDs();
break;
default:
break;
}
}
}
void runningLED() {
for (int i = 0; i < 12; i++) {
digitalWrite(ledPin[i], HIGH);
delay(500);
digitalWrite(ledPin[i], LOW);
}
}
void flipFlopLED() {
for (int i = 0; i < 12; i++) {
if (ledState[i] == 0) {
digitalWrite(ledPin[i], HIGH);
ledState[i] = 1;
} else {
digitalWrite(ledPin[i], LOW);
ledState[i] = 0;
}
}
}
void turnOffAllLEDs() {
for (int i = 0; i < 12; i++) {
digitalWrite(ledPin[i], LOW);
ledState[i] = 0;
}
}