I did my best to add my led sketch to this, but all 3 lights stay on now! I have to say I'm not enjoying coding that much!
As for 'have a nice day' too late! But I do appreciate the help.
int sensor = A0;
int GREEN = 3;
int YELLOW = 4;
int RED = 5;
int POWER = 10;
int valA0 = analogRead(sensor);
int sensePin1=A0;
#define ProjectName "Traffic lights with sensor"
constexpr byte Photoelectric_Pin {A9};
enum {State1, State2, State3, Wait} status = Wait;
// -------------------------------------------------------------------
void setup() {
Serial.println(valA0);
Serial.begin(9600);
pinMode(GREEN, OUTPUT);
pinMode(YELLOW, OUTPUT);
pinMode(RED, OUTPUT);
pinMode(POWER, OUTPUT);
Serial.begin(9600);
Serial.println(F("."));
Serial.print(F("File : ")), Serial.println(FILE);
Serial.print(F("Date : ")), Serial.println(DATE);
Serial.print(F("Time : ")), Serial.println(TIME);
Serial.print(F("Project: ")), Serial.println(ProjectName);
pinMode (LED_BUILTIN, OUTPUT); // used as heartbeat indicator
int sensor = A0;
int GREEN = 3;
int YELLOW = 4;
int RED = 5;
int POWER = 10;
int sensePin1=A0;
}
void loop () {
unsigned long currentTime = millis();
digitalWrite(LED_BUILTIN, (currentTime / 500) % 2);
int photoelectric_Switch = analogRead(Photoelectric_Pin);
static bool photoelectric_SwitchState {false};
if (photoelectric_Switch < 512) {
if (!photoelectric_SwitchState) photoelectric_SwitchState = !photoelectric_SwitchState, status = State1;
} else {
if (photoelectric_SwitchState) photoelectric_SwitchState = !photoelectric_SwitchState, status = State2;
}
switch (status) {
case Wait:
break;
case State1:
Serial.println(F("case State1:"));
status = Wait;
break;
case State2:
Serial.println(F("case State2:"));
status = Wait;
break;
case State3:
Serial.println(F("case State3:"));
status = Wait;
break;
int valA0=analogRead(sensePin1);
if (valA0 > 500)
{
digitalWrite(GREEN, HIGH);
digitalWrite(YELLOW, LOW);
delay(1500);
digitalWrite(YELLOW, HIGH);
digitalWrite(RED, LOW);
digitalWrite(POWER, HIGH);
}
else if (valA0 < 500)
{
digitalWrite(GREEN, LOW);
digitalWrite(YELLOW, LOW);
digitalWrite(RED, HIGH);
digitalWrite(POWER, HIGH);
}
}
}