/*
Nama Program : Press and release switch
*/
int LedPinMerah = 13; // hubungkan Pin LED 1 ke Pin D13
int LedPinKuning = 12; // hubungkan Pin LED 1 ke Pin D12
int LedPinHijau = 11; // hubungkan Pin LED 1 ke Pin D11
int BuzzerPin = 10; // hubungkan Pin buzzer ke Pin D10
int Sw1Pin = 9; // hubungkan Pin Switch 1 ke Pin D9
int Sw2Pin = 8; // hubungkan Pin Switch 2 ke Pin D8
int8_t KondisiSw1 = 0; int8_t KondisiSw2 = 0;
int KunciSw1 = 1; int KunciSw2 = 1;
int Lampu=0; int Buzz=0;
void setup(){
pinMode(LedPinMerah, OUTPUT); // Konfigurasi Pin D13 sebagai output
pinMode(LedPinKuning, OUTPUT); // Konfigurasi Pin D12 sebagai output
pinMode(LedPinHijau, OUTPUT); // Konfigurasi Pin D11 sebagai output
pinMode(BuzzerPin, OUTPUT); // Konfigurasi Pin D10 sebagai output
pinMode(Sw1Pin, INPUT); // Konfigurasi Pin D9 sebagai Input
pinMode(Sw2Pin, INPUT); // Konfigurasi Pin D8 sebagai Input
digitalWrite(LedPinMerah, HIGH); // Kondisi awal OFF
digitalWrite(LedPinKuning, HIGH); // Kondisi awal OFF
digitalWrite(LedPinHijau, HIGH); // Kondisi awal OFF
digitalWrite(BuzzerPin, HIGH);
delay(1000);
digitalWrite(BuzzerPin, LOW);
}
void loop(){
KondisiSw1 = digitalRead(Sw1Pin); // Membaca Kondisi Switch 1
if(KondisiSw1==LOW && KunciSw1==1){
digitalWrite(BuzzerPin, HIGH); delay(200);
digitalWrite(BuzzerPin, LOW); KunciSw1=2;
}
else if(KondisiSw1==HIGH && KunciSw1==2){
Lampu++; KunciSw1=1; if(Lampu==2){Lampu=0;}
}
KondisiSw2 = digitalRead(Sw2Pin); // Membaca Kondisi Switch 2
if(KondisiSw2==LOW && KunciSw2==1){
digitalWrite(BuzzerPin, HIGH); delay(200);
digitalWrite(BuzzerPin, LOW); KunciSw2=2;
}
else if(KondisiSw2==HIGH && KunciSw2==2){
Buzz++; KunciSw2=1; if(Buzz==2){Buzz=0;}
}
if (Lampu==1){
digitalWrite(LedPinMerah, LOW);
digitalWrite(LedPinKuning, LOW);
digitalWrite(LedPinHijau, LOW);
}
else if(Lampu==0){
digitalWrite(LedPinMerah, HIGH);
digitalWrite(LedPinKuning, HIGH);
digitalWrite(LedPinHijau, HIGH);
}
if (Buzz==1){ digitalWrite(BuzzerPin, HIGH); }
else if(Buzz==0){ digitalWrite(BuzzerPin, LOW); }
}