const int LED_Merah=19,LED_Kuning=18,LED_Hijau=5,Push_Button=15;
int nilai;
int status=0;
unsigned long WaktuSebelum = 0;
unsigned long Interval = 50;
void setup(){
Serial.begin(9600);
pinMode(LED_Merah,OUTPUT);
pinMode(LED_Kuning,OUTPUT);
pinMode(LED_Hijau,OUTPUT);
pinMode(Push_Button, INPUT);
digitalWrite(LED_Hijau,LOW);
digitalWrite(LED_Merah,LOW);
digitalWrite(LED_Kuning,LOW);
}
void loop(){
if(digitalRead(Push_Button)==HIGH && status==0 && nilai==0){
nilai=1;
Serial.println("Button Ditekan - LED Merah ON" );
WaktuSebelum=millis();}
if(nilai==1 && millis() - WaktuSebelum>Interval){
digitalWrite(LED_Hijau,LOW);
digitalWrite(LED_Kuning,LOW);
digitalWrite(LED_Merah,HIGH);
if(digitalRead(Push_Button)==LOW){
status=1;}
if(digitalRead(Push_Button)==HIGH && status==1){
Serial.println("Button Ditekan - LED Kuning ON" );
WaktuSebelum=millis();
nilai=2;}}
else if(nilai==2 && millis() - WaktuSebelum>Interval ){
digitalWrite(LED_Merah,LOW);
digitalWrite(LED_Kuning,HIGH);
digitalWrite(LED_Hijau,LOW);
if(digitalRead(Push_Button)==LOW){
status=2;}
if(digitalRead(Push_Button)==HIGH && status==2){
Serial.println("Button Ditekan - LED Hijau ON" );
WaktuSebelum=millis();
nilai=3;}}
else if(nilai==3 && millis() - WaktuSebelum>Interval ){
digitalWrite(LED_Merah,LOW);
digitalWrite(LED_Kuning,LOW);
digitalWrite(LED_Hijau,HIGH);
if(digitalRead(Push_Button)==LOW){
status=3;}
if(digitalRead(Push_Button)==HIGH && status==3){
WaktuSebelum=millis();
status=0;
nilai=0;}}
/*
switch(nilai2){
case 0:
if(digitalRead(Push_Button)==HIGH){
nilai++;
if(nilai>3){
nilai=1;
}nilai2=1;}
break;
case 1:
if(digitalRead(Push_Button)==LOW){
nilai2=0;}
break;
}
switch(nilai){
case 0:
digitalWrite(LED_Hijau,LOW);
digitalWrite(LED_Merah,LOW);
digitalWrite(LED_Kuning,LOW);
break;
case 1:
digitalWrite(LED_Merah,HIGH);
digitalWrite(LED_Kuning,LOW);
digitalWrite(LED_Hijau,LOW);
break;
case 2:
digitalWrite(LED_Kuning,HIGH);
digitalWrite(LED_Merah,LOW);
digitalWrite(LED_Hijau,LOW);
break;
case 3:
digitalWrite(LED_Hijau,HIGH);
digitalWrite(LED_Merah,LOW);
digitalWrite(LED_Kuning,LOW);
break;
}
*/
}