// Pin LED urut kiri → kanan (2..11)
int pins[] = {12, 11, 10, 9, 8, 7, 6, 5, 4, 3};
// Nama warna urut sesuai LED Anda:
String warna[] = {
"merah", "biru", "hijau", "kuning", "orange",
"putih", "ungu", "pink", "hijau_muda", "biru_muda"
};
void setup() {
Serial.begin(9600);
for (int i = 0; i < 10; i++) pinMode(pins[i], OUTPUT);
Serial.println("Format perintah:");
Serial.println(" [warna] on");
Serial.println(" [warna] off");
Serial.println(" all on → semua LED menyala");
Serial.println(" all off → semua LED mati");
}
void loop() {
if (Serial.available()) {
String cmd = Serial.readStringUntil('\n');
cmd.trim();
cmd.toLowerCase();
// ---------------------------
// Perintah ALL ON / ALL OFF
// ---------------------------
if (cmd == "all on") {
for (int i = 0; i < 10; i++) digitalWrite(pins[i], HIGH);
Serial.println("Semua LED menyala");
return;
}
if (cmd == "all off") {
for (int i = 0; i < 10; i++) digitalWrite(pins[i], LOW);
Serial.println("Semua LED mati");
return;
}
// ---------------------------
// Perintah warna tunggal
// ---------------------------
int sp = cmd.indexOf(' ');
if (sp == -1) return;
String w = cmd.substring(0, sp);
String aksi = cmd.substring(sp + 1);
for (int i = 0; i < 10; i++) {
if (w == warna[i]) {
digitalWrite(pins[i], aksi == "on" ? HIGH : LOW);
Serial.println(w + " " + aksi);
}
}
}
}