// RGB LED Kiri
const int L_redLED = 25;
const int L_greenLED = 26;
const int L_blueLED = 27;
// RGB LED Kanan
const int R_redLED = 21;
const int R_greenLED = 19;
const int R_blueLED = 18;
const int LPIR = 32;
const int RPIR = 33;
int LPIR1 = LOW;
int RPIR1 = LOW;
int statusled = 0;
void setup() {
pinMode(L_redLED, OUTPUT);
pinMode(L_greenLED, OUTPUT);
pinMode(L_blueLED, OUTPUT);
pinMode(R_redLED, OUTPUT);
pinMode(R_greenLED, OUTPUT);
pinMode(R_blueLED, OUTPUT);
pinMode(LPIR, INPUT);
pinMode(RPIR, INPUT);
Serial.begin(115200);
}
void loop() {
LPIR1 = digitalRead(LPIR);
RPIR1 = digitalRead(RPIR);
if (LPIR1 == HIGH || RPIR1 == HIGH) {
if (LPIR1 == HIGH) {
kiri();
}
if (RPIR1 == HIGH) {
kanan();
}
} else {
perulangan();
}
}
void perulangan() {
int waktu = 1000;
// Red
if (statusled == 0) {
digitalWrite(L_redLED, HIGH);
digitalWrite(R_redLED, HIGH);
digitalWrite(L_greenLED, LOW);
digitalWrite(R_greenLED, LOW);
digitalWrite(L_blueLED, LOW);
digitalWrite(R_blueLED, LOW);
statusled = 1;
}
// Green
else if (statusled == 1) {
digitalWrite(L_redLED, LOW);
digitalWrite(R_redLED, LOW);
digitalWrite(L_greenLED, HIGH);
digitalWrite(R_greenLED, HIGH);
digitalWrite(L_blueLED, LOW);
digitalWrite(R_blueLED, LOW);
statusled = 2;
}
// Blue
else {
digitalWrite(L_redLED, LOW);
digitalWrite(R_redLED, LOW);
digitalWrite(L_greenLED, LOW);
digitalWrite(R_greenLED, LOW);
digitalWrite(L_blueLED, HIGH);
digitalWrite(R_blueLED, HIGH);
statusled = 0;
}
delay(waktu);
}
void kiri() {
digitalWrite(L_redLED, LOW);
digitalWrite(L_greenLED, HIGH);
digitalWrite(L_blueLED, LOW);
delay(1000);
digitalWrite(L_greenLED, LOW);
delay(1000);
digitalWrite(L_redLED, HIGH);
delay(1000);
digitalWrite(L_redLED, LOW);
delay(1000);
}
void kanan() {
digitalWrite(R_redLED, LOW);
digitalWrite(R_greenLED, LOW);
digitalWrite(R_blueLED, HIGH);
delay(1000);
digitalWrite(R_blueLED, LOW);
delay(1000);
}