Adding IR sensor to 4 way traffic light system

I want to connect my ir sensor to arduino uno which is three pins one it has VCC,GND,OUT.

I want a code which doesn't use any digital pins but only analog ones on the board.And also I am trying to fit the code of only one ir sensor into 4-way traffic light program it is listed below plz if you can code that for me....PLz try to add the IR to road A and the sequence of running is ABCD so if there is a detection at A the logic state directly jumps to A and then continue the sequence from where it was last left...PLZ HELP!!!!By 19.07.2019

void setup()
{
pinMode(2,OUTPUT);//Road A's green
pinMode(3,OUTPUT);//Road A's yellow
pinMode(4,OUTPUT);//Road A,s red
pinMode(5,OUTPUT);//Road B's green
pinMode(6,OUTPUT);//Road B's yellow
pinMode(7,OUTPUT);//Road B's red
pinMode(8,OUTPUT);//Road C's green
pinMode(9,OUTPUT);//Road C's yellow
pinMode(10,OUTPUT);//Road C's red
pinMode(11,OUTPUT);//Road D's green
pinMode(12,OUTPUT);//Road D's yellow
pinMode(13,OUTPUT);//Road D's red
}
void loop()
{
digitalWrite(2,1);
digitalWrite(7,1);
digitalWrite(10,1);
digitalWrite(13,1);
digitalWrite(3,0);
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(8,0);
digitalWrite(9,0);
digitalWrite(11,0);
digitalWrite(12,0);
delay(5000);

digitalWrite(3,1);
digitalWrite(6,1);
digitalWrite(2,0);
digitalWrite(7,0);
delay(1000);

digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(10,1);
digitalWrite(13,1);
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(6,0);
digitalWrite(7,0);
digitalWrite(8,0);
digitalWrite(9,0);
digitalWrite(11,0);
digitalWrite(12,0);
delay(5000);

digitalWrite(9,1);
digitalWrite(6,1);
digitalWrite(10,0);
digitalWrite(5,0);
digitalWrite(4,0);
digitalWrite(13,0);
delay(1000);

digitalWrite(8,1);
digitalWrite(4,1);
digitalWrite(7,1);
digitalWrite(13,1);
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(9,0);
digitalWrite(10,0);
digitalWrite(11,0);
digitalWrite(12,0);
delay(5000);

digitalWrite(9,1);
digitalWrite(12,1);
digitalWrite(7,0);
digitalWrite(8,0);
digitalWrite(4,0);
digitalWrite(13,0);
delay(1000);

digitalWrite(11,1);
digitalWrite(4,1);
digitalWrite(7,1);
digitalWrite(10,1);
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(8,0);
digitalWrite(9,0);
digitalWrite(12,0);
digitalWrite(13,0);
delay(5000);

digitalWrite(12,1);
digitalWrite(3,1);
digitalWrite(7,0);
digitalWrite(11,0);
digitalWrite(10,0);
delay(1000);

}

(deleted)

Try something like this:

  1. Use code tags before someone gets upset with you.

  2. Make functions for your write blocks. So your first block could be something like void A_green(), your second block A_yellow(), your third block B_green(), etc.

  3. Rewrite your loop() to use the functions.

void loop()
{
    A_green();
    A_yellow();
    B_green();
etc
  1. Figure out the code for reading your sensor. Make it a function. Use the concept of a state machine so that if the sensor is "seeing something" a state variable is set to 1.

  2. Insert your sensor read function where ever you want to read.

  3. Make the execution of each light writing function conditional on the state variable. If it is zero, they will run.

  4. Don't make Make A_green() conditional. Reset the value of the state variable at the end of the A_green block. If state is 1, A_green is the only thing that will run. It will then reset state and the sequence should continue.

  5. Do as much as you can by yourself and post specific questions in the programming area.

And do name your pins, don't use numbers but variables. Makes your code at least somewhat readable.

Get rid of all delay() calls. Use millis() based timing, that way you can read your sensor and react to it.

Turn it into a finite state machine implementation, so you can do several things at a time.

And remember, don't start this kind of assignments so short before it's due...