// Deklarasi pin LED
const int ledPin1 = 2;
const int ledPin2 = 3;
const int ledPin3 = 4;
const int ledPin4 = 5;
const int ledPin5 = 6;
const int ledPin6 = 7;
const int ledPin7 = 8;
const int ledPin8 = 9;
const int ledPin9 = 10;
const int ledPin10 = 11;
const int ledPin11 = 12;
const int ledPin12 = 13;
void setup() {
// Inisialisasi pin sebagai output
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT);
pinMode(ledPin9, OUTPUT);
pinMode(ledPin10, OUTPUT);
pinMode(ledPin11, OUTPUT);
pinMode(ledPin12, OUTPUT);
Serial.begin(9600);
Serial.println("Angka '1' lampu led berwarna merah menyala 1. Angka '2' lampu led berwarna merah mati 1. Angka '3' 12 lampu led menyala bersamaan. Angka '4' 12 lampu led menyala Running led dengan delay 500. Angka '5' 12 lampu led menyala flip flop (mati dan hidup). Angka '6' akan mati semua lampu led");
}
void loop() {
if (Serial.available() > 0) {
int input = Serial.parseInt();
switch (input) {
case 1:
digitalWrite(ledPin1, HIGH);
break;
case 2:
digitalWrite(ledPin1, LOW);
break;
case 3:
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin6, HIGH);
digitalWrite(ledPin7, HIGH);
digitalWrite(ledPin8, HIGH);
digitalWrite(ledPin9, HIGH);
digitalWrite(ledPin10, HIGH);
digitalWrite(ledPin11, HIGH);
digitalWrite(ledPin12, HIGH);
break;
case 4:
runningLoop();
break;
case 5:
blinkLoop();
break;
case 6:
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
digitalWrite(ledPin6, LOW);
digitalWrite(ledPin7, LOW);
digitalWrite(ledPin8, LOW);
digitalWrite(ledPin9, LOW);
digitalWrite(ledPin10, LOW);
digitalWrite(ledPin11, LOW);
digitalWrite(ledPin12, LOW);
break;
}
}
}
void blinkLoop() {
for (int i = 0; i < 13; i++) {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, HIGH);
delay(250);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
delay(250);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin6, HIGH);
delay(250);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, LOW);
digitalWrite(ledPin6, LOW);
delay(250);
digitalWrite(ledPin7, HIGH);
digitalWrite(ledPin8, HIGH);
digitalWrite(ledPin9, HIGH);
delay(250);
digitalWrite(ledPin7, LOW);
digitalWrite(ledPin8, LOW);
digitalWrite(ledPin9, LOW);
delay(250);
digitalWrite(ledPin10, HIGH);
digitalWrite(ledPin11, HIGH);
digitalWrite(ledPin12, HIGH);
delay(250);
digitalWrite(ledPin10, LOW);
digitalWrite(ledPin11, LOW);
digitalWrite(ledPin12, LOW);
delay(250);
}
}
void runningLoop() {
for (int i = 0; i < 13; i++) {
digitalWrite(ledPin1, HIGH);
delay(500);
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
delay(500);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
delay(500);
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, HIGH);
delay(500);
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, HIGH);
delay(500);
digitalWrite(ledPin5, LOW);
digitalWrite(ledPin6, HIGH);
delay(500);
digitalWrite(ledPin6, LOW);
digitalWrite(ledPin7, HIGH);
delay(500);
digitalWrite(ledPin7, LOW);
digitalWrite(ledPin8, HIGH);
delay(500);
digitalWrite(ledPin8, LOW);
digitalWrite(ledPin9, HIGH);
delay(500);
digitalWrite(ledPin9, LOW);
digitalWrite(ledPin10, HIGH);
delay(500);
digitalWrite(ledPin10, LOW);
digitalWrite(ledPin11, HIGH);
delay(500);
digitalWrite(ledPin11, LOW);
digitalWrite(ledPin12, HIGH);
delay(500);
digitalWrite(ledPin12, LOW);
delay(500);
}
}