int led1 = 7;
int led2 = 5;
int led3 = 3;
int led4 = 2;
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
Serial.println("Jika tekan angka 1, lampu LED berwarna merah akan menyala.");
Serial.println("Jika tekan angka 2, lampu LED berwarna merah akan mati.");
Serial.println("Jika tekan angka 3, 12 lampu LED akan menyala bersamaan.");
Serial.println("Jika tekan angka 4, 12 lampu LED akan menyala secara berurutan dengan delay 500ms.");
Serial.println("Jika tekan angka 5, 12 lampu LED akan beralih antara menyala dan mati (flip flop).");
Serial.println("Jika tekan angka 6, semua lampu LED akan dimatikan.");
}
void loop() {
if (Serial.available() > 0) {
char command = Serial.read();
switch (command) {
case '1':
command1();
break;
case '2':
command2();
break;
case '3':
command3();
break;
case '4':
while (true) {
command4();
char command = Serial.read();
if (command == '1') {
command1();
break;
}
if (command == '2') {
command2();
break;
}
if (command == '3') {
command3();
break;
}
if (command == '5') {
command5();
break;
}
if (command == '6') {
command6();
break;
}
}
break;
case '5':
while (true) {
command5();
char command = Serial.read();
if (command == '1') {
command1();
break;
}
if (command == '2') {
command2();
break;
}
if (command == '3') {
command3();
break;
}
if (command == '4') {
command4();
break;
}
if (command == '6') {
command6();
break;
}
}
break;
case '6':
command6();
break;
default:
break;
}
}
}
void command1() {
command6();
digitalWrite(led1, HIGH); // Menyalakan lampu LED merah
}
void command2() {
digitalWrite(led1, LOW); // Mematikan lampu LED merah
}
void command3() {
// Menyalakan semua lampu LED bersamaan
command6();
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
}
void command4() {
// Menyalakan lampu LED satu per satu dengan delay 500 ms
command6();
digitalWrite(led1, HIGH);
delay(100);
digitalWrite(led1, LOW);
delay(100);
digitalWrite(led2, HIGH);
delay(100);
digitalWrite(led2, LOW);
delay(100);
digitalWrite(led3, HIGH);
delay(100);
digitalWrite(led3, LOW);
delay(100);
digitalWrite(led4, HIGH);
delay(100);
digitalWrite(led4, LOW);
delay(100);
}
void command5() {
// Menyalakan Lampu Secara FLIP FLOP
command6();
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
delay(200);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
delay(200);
}
void command6() {
// Mematikan Semua Lampu
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
}