can anyone help??
I have a traffic light project I need to do, I need 3 modes, regular mode, pedestrian mode and night mode. I am doing this project on tinkercad, and I'm currently stuck on pedestrian mode as I need to use an ultrasonic range/distance finder. Can anyone help me fix this code so that regular mode runs first and then pedestrian mode, by using a mode system. Can anyone help or see where I have gone wrong!??
The code I have at the moment is:
}
void loop(){
changeLights();
delay(2000);
{
distanceThreshold = 350;
cm = 0.01723 * readUltrasonicDistance(7, 7);
Serial.print(cm);
Serial.print("cm \n");
delay(100);
}
}
void changeLights(){
// turn off yellow and green, then turn red on for 2 seconds
digitalWrite(yellow, LOW);
digitalWrite(green, LOW);
digitalWrite(red, HIGH);
delay(2000);
// turn off red and green, then turn yellow on for 1 second
digitalWrite(yellow, HIGH);
digitalWrite(green, LOW);
digitalWrite(red, LOW);
delay(1000);
// turn off red and yellow, then turn on green for 2 seconds
digitalWrite(yellow, LOW);
digitalWrite(red, LOW);
digitalWrite(green, HIGH);
delay(2000);
// turn green and red off, then turn yellow on for 1 second
digitalWrite(yellow, HIGH);
digitalWrite(green, LOW);
digitalWrite(red, LOW);
delay(1000);
}
float distanceThreshold = 0;
float cm = 0;
long readUltrasonicDistance(int triggerPin, int echoPin)
{
pinMode(triggerPin, OUTPUT);
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
pinMode(echoPin, INPUT);
return pulseIn(echoPin, HIGH);
}