//pin phase
#define phase_1_green 2
#define phase_1_yellow 3
#define phase_1_red 4
#define phase_2_green 5
#define phase_2_yellow 6
#define phase_2_red 7
int cycletime = 9;
int yellow = 1;
float greenratio = 0.6;
int greentot, greenphase1, greenphase2;
void setup() {
pinMode(phase_1_green, OUTPUT);
pinMode(phase_1_yellow, OUTPUT);
pinMode(phase_1_red, OUTPUT);
pinMode(phase_2_green, OUTPUT);
pinMode(phase_2_yellow, OUTPUT);
pinMode(phase_2_red, OUTPUT);
cycletime *= 1000;
yellow *= 1000;
greentot = cycletime - (yellow * 2);
greenphase1 = greenratio * greentot;
greenphase2 = greentot - greenphase1;
}
void loop() {
digitalWrite(phase_1_green, HIGH);
digitalWrite(phase_2_red, HIGH);
delay(greenphase1);
digitalWrite(phase_1_green, LOW);
digitalWrite(phase_1_yellow, HIGH);
delay(yellow);
digitalWrite(phase_1_yellow, LOW);
digitalWrite(phase_2_red, LOW);
digitalWrite(phase_2_green, HIGH);
digitalWrite(phase_1_red, HIGH);
delay(greenphase2);
digitalWrite(phase_2_green, LOW);
digitalWrite(phase_2_yellow, HIGH);
delay(yellow);
digitalWrite(phase_2_yellow, LOW);
digitalWrite(phase_1_red, LOW);
}