unsigned long previousTraffic =0;
unsigned long previousPedestrain =0;
unsigned long previousStatus =0;
int trafficState =0;
const int redLED =2;
const int yellowLED =3;
const int greenLED =4;
const int pedestrainLED =5;
void setup(){
pinMode(redLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(greenLED, OUTPUT);
pinMode(pedestrainLED, OUTPUT);
Serial.begin(9600);
}
void loop(){
taskTrafficLights();
taskPedestrains();
taskStatus();
}
void taskTrafficLights(){
if (millis()-previousTraffic >=3000){
previousTraffic =millis();
trafficState++;
if (trafficState >2){
trafficState = 0;
}
digitalWrite(redLED , LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(greenLED, LOW);
if (trafficState == 0){
digitalWrite(greenLED, HIGH);
}
else if (trafficState ==1){
digitalWrite(yellowLED, HIGH);
}
else if (trafficState ==2){
digitalWrite(redLED, HIGH);
}
}
}
void taskPedestrain(){
if (millis() -previousPedestrain >=500){
previousPedestrian =millis();
digitalWrite(pedestrianLED,
!digitalRead(pedestrianLED));
}
void taskStatus ()
if (millis() - previoustatus >=2000){
previousStatus = millis();
Serial.println("Traffic System Running...");
}
}