const int RedLed1 = 13;
const int GrLed1 = 16;
const int YlLed1 = 17;
const int RedLed2 = 18;
const int GrLed2 = 19;
const int YlLed2 = 21;
const int RedLed3 = 22;
const int GrLed3 = 23;
const int YlLed3 = 25;
const int RedLed4 = 26;
const int GrLed4 = 27;
const int YlLed4 = 32;
const int Start = 2;
const int Stop = 4;
unsigned long RedTrCount;
unsigned long RedTr;
unsigned long RedTrMillis = 0;
const long IntervalRedTr = 1000;
unsigned long YlTrCount;
unsigned long YlTr;
unsigned long YlTrMillis = 0;
const long IntervalYlTr = 1000;
unsigned long GrTrCount;
unsigned long GrTr;
unsigned long GrTrMillis = 0;
const long IntervalGrTr = 1000;
void setup() {
// put your setup code here, to run once:
pinMode(Start, INPUT);
pinMode(Stop, INPUT);
pinMode(RedLed1, OUTPUT);
pinMode(RedLed2, OUTPUT);
pinMode(RedLed3, OUTPUT);
pinMode(RedLed4, OUTPUT);
pinMode(GrLed1, OUTPUT);
pinMode(GrLed2, OUTPUT);
pinMode(GrLed3, OUTPUT);
pinMode(GrLed4, OUTPUT);
pinMode(YlLed1, OUTPUT);
pinMode(YlLed2, OUTPUT);
pinMode(YlLed3, OUTPUT);
pinMode(YlLed4, OUTPUT);
}
void loop() {
unsigned long RedTrCurrentMillis = millis();
if (RedTrCurrentMillis - RedTrMillis >= IntervalRedTr)
{
RedTrMillis = RedTrCurrentMillis;
RedTr - millis();
RedTr++;
}
unsigned long YlTrCurrentMillis = millis();
if (YlTrCurrentMillis - YlTrMillis >= IntervalYlTr)
{
YlTrMillis = YlTrCurrentMillis;
YlTr - millis();
YlTr++;
}
unsigned long GrTrCurrentMillis = millis();
if (GrTrCurrentMillis - GrTrMillis >= IntervalGrTr)
{
GrTrMillis = GrTrCurrentMillis;
GrTr - millis();
GrTr++;
}
if (RedTr = 60) {RedTr = 0; RedTrCount++;}
if (YlTr = 60) {YlTr = 0; YlTrCount++;}
if (GrTr = 60) {GrTr = 0; GrTrCount++;}
if (RedTrCount == 5) {
digitalWrite (RedLed1,HIGH);
RedTrCount = 0;
RedTrCount++;
}
if (YlTrCount = 1) {YlTrCount = 0; YlTrCount++;}
if (GrTrCount = 3) {GrTrCount = 0; GrTrCount++;}
if (RedTrCount == 0){
digitalWrite (RedLed1, LOW);
}
}
//============================GROUP 1===============================
void Merah1_on(){
digitalWrite(RedLed1, HIGH);
}
void Merah1_off(){
digitalWrite(RedLed1, LOW);
}
void Kuning1_on(){
digitalWrite(YlLed1, HIGH);
}
void Kuning1_off(){
digitalWrite(YlLed1, LOW);
}
void Hijau1_on(){
digitalWrite(GrLed1, HIGH);
}
void Hijau1_off(){
digitalWrite(GrLed1, LOW);
}
//============================GROUP 2===============================
void Merah2_on(){
digitalWrite(RedLed2, HIGH);
}
void Merah2_off(){
digitalWrite(RedLed2, LOW);
}
void Kuning2_on(){
digitalWrite(YlLed2, HIGH);
}
void Kuning2_off(){
digitalWrite(YlLed2, LOW);
}
void Hijau2_on(){
digitalWrite(GrLed2, HIGH);
}
void Hijau2_off(){
digitalWrite(GrLed2, LOW);
}
//============================GROUP 3===============================
void Merah3_on(){
digitalWrite(RedLed3, HIGH);
}
void Merah3_off(){
digitalWrite(RedLed3, LOW);
}
void Kuning3_on(){
digitalWrite(YlLed3, HIGH);
}
void Kuning3_off(){
digitalWrite(YlLed3, LOW);
}
void Hijau3_on(){
digitalWrite(GrLed3, HIGH);
}
void Hijau3_off(){
digitalWrite(GrLed3, LOW);
}
//============================GROUP 4===============================
void Merah4_on(){
digitalWrite(RedLed4, HIGH);
}
void Merah4_off(){
digitalWrite(RedLed4, LOW);
}
void Kuning4_on(){
digitalWrite(YlLed4, HIGH);
}
void Kuning4_off(){
digitalWrite(YlLed4, LOW);
}
void Hijau4_on(){
digitalWrite(GrLed4, HIGH);
}
void Hijau4_off(){
digitalWrite(GrLed4, LOW);
}