// variables
int RED1 = 1;
int RED2 = 2;
int RED3 = 3;
int RED4 = 4;
int YELLOW1 = 5;
int YELLOW2 = 6;
int YELLOW3 = 7;
int YELLOW4 = 8;
int GREEN1 = 9;
int GREEN2 = 10;
int GREEN3 = 11;
int GREEN4 = 12;
int DELAY_GREEN = 1000;
int DELAY_YELLOW = 200;
int DELAY_RED = 1000;
int HIDUP = HIGH;
int MATI = LOW;
// basic functions
void setup() {
pinMode(RED1, OUTPUT);
pinMode(RED2, OUTPUT);
pinMode(RED3, OUTPUT);
pinMode(RED4, OUTPUT);
pinMode(YELLOW1, OUTPUT);
pinMode(YELLOW2, OUTPUT);
pinMode(YELLOW3, OUTPUT);
pinMode(YELLOW4, OUTPUT);
pinMode(GREEN1, OUTPUT);
pinMode(GREEN2, OUTPUT);
pinMode(GREEN3, OUTPUT);
pinMode(GREEN4, OUTPUT);
}
// Hijau - kuning - Merah
// [1,5,9]
// [2,6,10]
// [3,7,11]
// [4,8,12]
void loop() {
// Jedah(1);
Jalan1();
delay(5000);
Jedah();
Jalan2();
delay(5000);
Jedah();
Jalan3();
delay(5000);
Jedah();
Jalan4();
delay(5000);
Jedah();
}
void Jalan1(){
digitalWrite(1, HIDUP);
digitalWrite(2, MATI);
digitalWrite(3, MATI);
digitalWrite(4, MATI);
digitalWrite(5, MATI);
digitalWrite(6, MATI);
digitalWrite(7, MATI);
digitalWrite(8, MATI);
digitalWrite(9, MATI);
digitalWrite(10, HIDUP);
digitalWrite(11, HIDUP);
digitalWrite(12, HIDUP);
}
void Jalan2(){
digitalWrite(1, MATI);
digitalWrite(2, HIDUP);
digitalWrite(3, MATI);
digitalWrite(4, MATI);
digitalWrite(5, MATI);
digitalWrite(6, MATI);
digitalWrite(7, MATI);
digitalWrite(8, MATI);
digitalWrite(9, HIDUP);
digitalWrite(10, MATI);
digitalWrite(11, HIDUP);
digitalWrite(12, HIDUP);
}
void Jalan3(){
digitalWrite(1, MATI);
digitalWrite(2, MATI);
digitalWrite(3, HIDUP);
digitalWrite(4, MATI);
digitalWrite(5, MATI);
digitalWrite(6, MATI);
digitalWrite(7, MATI);
digitalWrite(8, MATI);
digitalWrite(9, HIDUP);
digitalWrite(10, HIDUP);
digitalWrite(11, MATI);
digitalWrite(12, HIDUP);
}
void Jalan4(){
digitalWrite(1, MATI);
digitalWrite(2, MATI);
digitalWrite(3, MATI);
digitalWrite(4, HIDUP);
digitalWrite(5, MATI);
digitalWrite(6, MATI);
digitalWrite(7, MATI);
digitalWrite(8, MATI);
digitalWrite(9, HIDUP);
digitalWrite(10, HIDUP);
digitalWrite(11, HIDUP);
digitalWrite(12, MATI);
}
void Jedah(){
digitalWrite(1, MATI);
digitalWrite(2, MATI);
digitalWrite(3, MATI);
digitalWrite(4, MATI);
digitalWrite(5, HIDUP);
digitalWrite(6, HIDUP);
digitalWrite(7, HIDUP);
digitalWrite(8, HIDUP);
digitalWrite(9, MATI);
digitalWrite(10, MATI);
digitalWrite(11, MATI);
digitalWrite(12, MATI);
delay(500);
}