int x=5000//deskripsi delay
;const int H1 = 4;
const int K1 = 3;
const int M1 = 2;
const int H2 = 7;
const int K2 = 6;
const int M2 = 5;
;const int H3= 10; //deskripsi pin led
const int K3 = 9;
const int M3 = 8;
const int H4 = 13;
const int K4= 12;
const int M4 = 11;
void setup()
{
pinMode(H1, OUTPUT);
pinMode(K1, OUTPUT);
pinMode(M1, OUTPUT);
pinMode(H2, OUTPUT);
pinMode(K2, OUTPUT);
pinMode(M2, OUTPUT);
pinMode(H3, OUTPUT);
pinMode(K3, OUTPUT); //pin led sebagai output
pinMode(M3, OUTPUT);
pinMode(H4, OUTPUT);
pinMode(K4, OUTPUT);
pinMode(M4, OUTPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT); //pin saklar sebagai input
pinMode(A4, INPUT);
;
}
void cek(){
;if (digitalRead(A2)== HIGH)
{x=10000;}
else if (digitalRead(A2)==LOW) //tombol 1 sebagai delay memperlambat nyala led
{x=5000;}
}
void mati(){
digitalWrite(H1, LOW);
digitalWrite(K1, LOW);
digitalWrite(M1, LOW);
digitalWrite(H2, LOW);
digitalWrite(K2, LOW);
digitalWrite(M2, LOW);
digitalWrite(H3, LOW);
digitalWrite(K3, LOW); // sebagai mematikan program, fungsi mati();
digitalWrite(M3, LOW);
digitalWrite(H4, LOW);
digitalWrite(K4, LOW);
digitalWrite(M4, LOW);
}
void loop()
{
if (digitalRead(A1)==HIGH) //tombol 1 nyala (menyalakan program)
{
if (digitalRead(A3)==HIGH)//tombol 3 nyala (menyalakam led salah satu lampu bewarna hijau)
{
mati(); //fungsi void mati()
digitalWrite(H1, HIGH);
digitalWrite(M2, HIGH);
digitalWrite(M3, HIGH);
digitalWrite(M4, HIGH);
}
if (digitalRead(A4)==HIGH)//tombol 4 nyala (menyalakan led salah satu lampu berwarna hijau)
{
mati(); //fungsi void mati()
digitalWrite(M1, HIGH);
digitalWrite(M2, HIGH);
digitalWrite(H3, HIGH);
digitalWrite(M4, HIGH);
}
else
{
normal(); //menyambungkan fungsi void normal() dibawah!!
}
}
else if (digitalRead(A2)==LOW) // jika tombol 1 mati maka lampu kuning akan menyala sebagai lampu stand by
{
mati();
digitalWrite(K1, HIGH);
digitalWrite(K2, HIGH);
digitalWrite(K3, HIGH); //kuning nyala
digitalWrite(K4, HIGH);
delay(500);
digitalWrite(K1, LOW);
digitalWrite(K2, LOW);//kuning mati
digitalWrite(K3, LOW);
digitalWrite(K4, LOW);
delay(500);
}
}
void normal() //
{
cek(); //fungsi void cek()diatas
mati();//fungsi void mati()diatas
digitalWrite(H1, HIGH);
digitalWrite(M2, HIGH);
digitalWrite(M3, HIGH);
digitalWrite(M4, HIGH);
delay(2000);
if (digitalRead(A1) == LOW|| digitalRead(A3)==HIGH|| digitalRead(A4)==HIGH) //tombol 1 ditekan maka rangkaian akan menyala bergantian, jika sewaktu-waktu tombol 3/4 ditekan maka program akan menyala seperti diatas, menggunakan fungsi goto awal;
{
goto awal; //fungsi mengembalikan ke posisi awal program tombol 3/4
}
mati();
digitalWrite(K1, HIGH);
digitalWrite(M2, HIGH);
digitalWrite(M3, HIGH);
digitalWrite(M4, HIGH);
delay(1000);
if (digitalRead(A1) == LOW|| digitalRead(A3)==HIGH|| digitalRead(A4)==HIGH)
{
}
mati();
digitalWrite(M1, HIGH);
digitalWrite(M2, HIGH);
digitalWrite(M3, HIGH);
digitalWrite(M4, HIGH);
delay(1000);
if (digitalRead(A1) == LOW|| digitalRead(A3)==HIGH|| digitalRead(A4)==HIGH)
{
goto awal;
}
mati();
digitalWrite(M1, HIGH);
digitalWrite(H2, HIGH);
digitalWrite(M3, HIGH);
digitalWrite(M4, HIGH);
delay(2000);
if (digitalRead(A1) == LOW|| digitalRead(A3)==HIGH|| digitalRead(A4)==HIGH)
{
}
mati();
digitalWrite(M1, HIGH);
digitalWrite(K2, HIGH);
digitalWrite(M3, HIGH);
digitalWrite(M4, HIGH);
delay(1000);
if (digitalRead(A1) == LOW|| digitalRead(A3)==HIGH|| digitalRead(A4)==HIGH)
{
goto awal;
}
mati();
digitalWrite(M1, HIGH);
digitalWrite(M2, HIGH);
digitalWrite(M4, HIGH);
digitalWrite(M4, HIGH);
delay(1000);
if (digitalRead(A1) == LOW|| digitalRead(A3)==HIGH|| digitalRead(A4)==HIGH)
{
goto awal;
}
cek();
mati();
digitalWrite(M1, HIGH);
digitalWrite(M2, HIGH);
digitalWrite(H3, HIGH);
digitalWrite(M4, HIGH);
delay(2000);
if (digitalRead(A1) == LOW|| digitalRead(A3)==HIGH|| digitalRead(A4)==HIGH)
{
goto awal;
}
//-------------M1 + M2 + K3 + M4 ON
mati();
digitalWrite(M1, HIGH);
digitalWrite(M2, HIGH);
digitalWrite(K3, HIGH);
digitalWrite(M4, HIGH);
delay(1000);
if (digitalRead(A1) == LOW|| digitalRead(A3)==HIGH|| digitalRead(A4)==HIGH)
{
goto awal;
}
mati();
digitalWrite(M1, HIGH);
digitalWrite(M2, HIGH);
digitalWrite(M3, HIGH);
digitalWrite(M4, HIGH);
delay(1000);
if (digitalRead(A1) == LOW|| digitalRead(A3)==HIGH|| digitalRead(A4)==HIGH)
{
goto awal;
}
mati();
digitalWrite(M1, HIGH);
digitalWrite(M2, HIGH);
digitalWrite(M3, HIGH);
digitalWrite(H4, HIGH);
delay(2000);
if (digitalRead(A1) == LOW|| digitalRead(A3)==HIGH|| digitalRead(A4)==HIGH)
{
goto awal;
}
mati();
digitalWrite(M1, HIGH);
digitalWrite(M2, HIGH);
digitalWrite(M3, HIGH);
digitalWrite(K4, HIGH);
delay(1000);
if (digitalRead(A1) == LOW|| digitalRead(A3)==HIGH|| digitalRead(A4)==HIGH)
{ }
mati();
digitalWrite(M1,1);
digitalWrite(M2,1);
digitalWrite(M3,1);
digitalWrite(M4,1);
delay(1000);
awal:
delay(1);
}