Ds Mini Project Report Final
Ds Mini Project Report Final
SUBMITTED TO:-
MS.KARMILA SOREN
SUBMITTED BY:-
RUPESH MISHRA(1901106516)
SABYASACHI SAHOO(1901106517)
SAGEN MANDI(1901106518)
SAMARPITA DAS(1901106519)
SANATANA ROUT(1901106521)
ACKNOWLEDGEMENTS
We are pleased to acknowledge Ms. Karmila Soren and for her invaluable guidance
during the course of this seminar. We extend our sincere thanks to Ms. Karmila Soren,
who continuously helped us throughout the process and without her guidance, the
completion would have been an uphill task. They were a persevering boost which
helped us tackle with the pressure and their contribution in stimulating suggestions and
encouragement, helped us to coordinate our seminar especially in writing of this report.
Moreover, the constructive criticism guided us in best of direction to flaunt our
unsurpassable skills.
INDEX
Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Software Used . . . . . . . . . ..................................................5
Working. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..7
Arduino Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-
28
Observation And Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29-
30
Advantages. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1
Future
Scope . . . . . . . . . .. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .. . . . . . . . 31
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
ABSTRACT
Most of the time we get stuck in traffic and keep on wondering why are we stuck in the
traffic whereas the lane with literally no vehicle has a green light.To tackle such an issue
we came up with the idea to develop a traffic system that functions based on the
density of traffic.
The project that we present now is a simulation of the prototype of the original idea.
SOFTWARE USED
Proteus and Keil.
PROJECT APPROACH
The Arduino Uno is one of the most popular compact development boards on the
market. Smaller than the palm of your hand (2.7” x 2.1”), the board is based
around the removable Microchip ATmega328P microprocessor, which features 8-
bit resolution and its own USB bootloader for reprogramming. With 32 KB of Flash
memory, 2 KB of SRAM, and 1 KB of EEPROM, this little processor can carry out
most any task you can ask of it.
The board itself holds a 16 MHz clocking quartz crystal, a USB connector, a power
jack, and an ISCP header. The Arduino Uno features 20 I/O pins, with the option for
six of the digital outputs to function as PWM outputs and six variable pins.
IR SENSOR
IR Transmitter
Symbol and operation of IR transmitter is very similar to ordinary LED
IR transmitter generates infrared. IR transmitter is made up of Gallium arsenide.
If we pass the current to gallium arsenide it produces IR rays.
Current applied to the sensor is directly proportional to the rays emitted
Though IR transmitter can withstand up to 35mA, we have used 5mA due to
shortest distance. If the distance is more we have to increase the current flow to
the transmitter .
IR Receiver
This circuit is mainly used to for counting application
Since IR can be used only during proper alignment position
IR receiver is having reverse characteristics of the IR transmitter
IR Receiver will conduct as long as the rays falls on it.
When a car passes between the IR transmitter and IR receiver, the IR light is
blocked and as the result the resistance of the photodiode increases. This change
in resistance can be converted to electrical pulses, used to control the traffic
lights.
LED
LED stands for light emitting diode. It’s operating voltage is around 3-4V. In our project
LED is used as traffic light, so we have used red, green and yellow LED.
WORKING
NORMAL MODE:
In this mode of operation green , yellow and red lights change after a fixed time period
like a typical traffic signal. Here ,light from IR transmitter LED reach IR receiver without
any interruption. IR sensor senses amount of cars passing through the road .By using
Arduino , we can observe the voltage of IR sensor. When light from IR transmitter does
not interrupted by vehicles ,value of voltage is low (about 500) .When voltage value is
below 800,this mode is operated .
DENSITY MODE:
When amount of cars increases ,light of IR transmitter intersect by cars to reach the
receiver .Then the voltage of IR sensor increases (about above 550) .When voltage is
below threshold value , normal mode is on; but above threshold values then the red
signal becomes automatically green.
ARDUINO CODE:
#define R1 13
#define Y1 12
#define G1 11
#define R2 10
#define Y2 9
#define G2 8
#define R3 7
#define Y3 6
#define G3 5
#define R4 4
#define Y4 3
#define G4 2
#define p1 A0
#define p2 A1
#define p3 A2
#define p4 A3
float IR1=0;
float IR2=0;
float IR3=0;
float IR4=0;
void setup() {
pinMode(R1,OUTPUT);
pinMode(Y1,OUTPUT);
pinMode(G1,OUTPUT);
pinMode(R2,OUTPUT);
pinMode(Y2,OUTPUT);
pinMode(G2,OUTPUT);
pinMode(R3,OUTPUT);
pinMode(Y3,OUTPUT);
pinMode(G3,OUTPUT);
pinMode(R4,OUTPUT);
pinMode(Y4,OUTPUT);
pinMode(G4,OUTPUT);
pinMode(p1,INPUT);
pinMode(p2,INPUT);
pinMode(p3,INPUT);
pinMode(p4,INPUT);
void loop() {
//L L L H
IR1=analogRead(p1);
IR2=analogRead(p2);
IR3=analogRead(p3);
IR4=analogRead(p4);
if(IR1<500&&IR2<500&&IR3<500&&IR4>500)
{digitalWrite(R1,HIGH);//g4 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,LOW);
digitalWrite(Y4,LOW);
digitalWrite(G4,HIGH);
}
//L L H L
else if(IR1<500&&IR2<500&&IR3>500&&IR4<500)
{digitalWrite(R1,HIGH);//g3 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,LOW);
digitalWrite(G3,HIGH);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
}
//L L H H
else if(IR1<500&&IR2<500&&IR3>500&&IR4>500)
{ digitalWrite(R1,HIGH);//G3 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,LOW);
digitalWrite(G3,HIGH);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,HIGH);
digitalWrite(G3,LOW);
digitalWrite(Y4,HIGH);
digitalWrite(R4,LOW);
digitalWrite(G4,LOW);
delay(1000);
digitalWrite(R1,HIGH);//g4 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,LOW);
digitalWrite(Y4,LOW);
digitalWrite(G4,HIGH);
delay(5000);}
//L H L L
else if(IR1<500&&IR2>500&&IR3<500&&IR4<500)
{digitalWrite(R1,HIGH);//g2 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,LOW);
digitalWrite(Y2,LOW);
digitalWrite(G2,HIGH);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
}
//L H L H
else if(IR1<500&&IR2>500&&IR3<500&&IR4>500)
{digitalWrite(R1,HIGH);//g2 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,LOW);
digitalWrite(Y2,LOW);
digitalWrite(G2,HIGH);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);
digitalWrite(R1,HIGH);//y2 y4 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,LOW);
digitalWrite(Y2,HIGH);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(Y4,HIGH);
digitalWrite(R4,LOW);
digitalWrite(G4,LOW);
delay(1000);
digitalWrite(R1,HIGH);//g4 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,LOW);
digitalWrite(Y4,LOW);
digitalWrite(G4,HIGH);
delay(5000);}
//L H H L
else if(IR1<500&&IR2>500&&IR3>500&&IR4<500)
{digitalWrite(R1,HIGH);//g2 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,LOW);
digitalWrite(Y2,LOW);
digitalWrite(G2,HIGH);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(R4,LOW);
digitalWrite(G4,LOW);
delay(5000);
digitalWrite(R1,HIGH);//y2 y3 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R1,LOW);
digitalWrite(Y2,HIGH);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,HIGH);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(1000);
digitalWrite(R1,HIGH);//g3 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,LOW);
digitalWrite(G3,HIGH);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);}
//L H H H
else if(IR1<500&&IR2>500&&IR3>500&&IR4>500)
//g2 high
{digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,LOW);
digitalWrite(Y2,LOW);
digitalWrite(G2,HIGH);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);
digitalWrite(R1,HIGH);//y2 y3 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R1,LOW);
digitalWrite(Y2,HIGH);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,HIGH);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(1000);
//g3 high
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,LOW);
digitalWrite(G3,HIGH);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);
digitalWrite(R1,HIGH);//y3 y4 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,HIGH);
digitalWrite(G3,LOW);
digitalWrite(R4,LOW);
digitalWrite(Y4,HIGH);
digitalWrite(G4,LOW);
delay(1000);
//g4 high
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,LOW);
digitalWrite(Y4,LOW);
digitalWrite(G4,HIGH);
delay(5000);}
//H L L L
else if(IR1>500&&IR2<500&&IR3<500&&IR4<500)
{digitalWrite(R1,LOW);//g1 high
digitalWrite(Y1,LOW);
digitalWrite(G1,HIGH);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
}
//H L L H
else if(IR1>500&&IR2<500&&IR3<500&&IR4>500)
{ digitalWrite(R1,LOW);//g1 high
digitalWrite(Y1,LOW);
digitalWrite(G1,HIGH);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);
digitalWrite(Y1,HIGH);//y1 y4 high
digitalWrite(R1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(Y4,HIGH);
digitalWrite(R4,LOW);
digitalWrite(G4,LOW);
delay(1000);
digitalWrite(R1,HIGH);//g4 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,LOW);
digitalWrite(Y4,LOW);
digitalWrite(G4,HIGH);
delay(5000);}
//H L H L
else if(IR1>500&&IR2<500&&IR3>500&&IR4<500)
{digitalWrite(R1,LOW);//g1 high
digitalWrite(Y1,LOW);
digitalWrite(G1,HIGH);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);
digitalWrite(Y1,HIGH);//y1 y3 high
digitalWrite(R1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,HIGH);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(1000);
digitalWrite(R1,HIGH);//g3 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,LOW);
digitalWrite(G3,HIGH);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);}
//H L H H
else if(IR1<500&&IR2>500&&IR3>500&&IR4>500)
//g1 high
{digitalWrite(R1,LOW);
digitalWrite(Y1,LOW);
digitalWrite(G1,HIGH);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);
digitalWrite(Y1,HIGH);//y1 y3 high
digitalWrite(R1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,HIGH);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(1000);
//g3 high
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,LOW);
digitalWrite(G3,HIGH);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);
digitalWrite(R1,HIGH);//y3 y4 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,HIGH);
digitalWrite(G3,LOW);
digitalWrite(R4,LOW);
digitalWrite(Y4,HIGH);
digitalWrite(G4,LOW);
delay(1000);
//g4 high
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,LOW);
digitalWrite(Y4,LOW);
digitalWrite(G4,HIGH);
delay(5000);}
//H H L L
else if(IR1>500&&IR2>500&&IR3<500&&IR4<500)
//g1 high
{digitalWrite(R1,LOW);
digitalWrite(Y1,LOW);
digitalWrite(G1,HIGH);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);
digitalWrite(Y1,HIGH);//y1 y2 high
digitalWrite(R1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R1,LOW);
digitalWrite(Y2,HIGH);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(1000);
//g2 high
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,LOW);
digitalWrite(Y2,LOW);
digitalWrite(G2,HIGH);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);}
//H H H L
else if (IR1>500&&IR2>500&&IR3>500&&IR4<500)
//g1 high
{ digitalWrite(R1,LOW);
digitalWrite(Y1,LOW);
digitalWrite(G1,HIGH);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);
digitalWrite(Y1,HIGH);//y1 y2 high
digitalWrite(R1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,LOW);
digitalWrite(Y2,HIGH);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(1000);
//g2 high
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,LOW);
digitalWrite(Y2,LOW);
digitalWrite(G2,HIGH);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);
digitalWrite(R1,HIGH);//y2 y3 high
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,LOW);
digitalWrite(Y2,HIGH);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,HIGH);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(1000);
//g3 high
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,LOW);
digitalWrite(G3,HIGH);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(5000);}
else
{//G1 high for 3000 delay
digitalWrite(R1,LOW);
digitalWrite(Y1,LOW);
digitalWrite(G1,HIGH);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(3000);
//G1 and Y2 high for 1000 delay
digitalWrite(R1,LOW);
digitalWrite(Y1,LOW);
digitalWrite(G1,HIGH);
digitalWrite(R2,LOW);
digitalWrite(Y2,HIGH);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(1000);
//Y1 and G2 high for 1000 delay
digitalWrite(R1,LOW);
digitalWrite(Y1,HIGH);
digitalWrite(G1,LOW);
digitalWrite(R2,LOW);
digitalWrite(Y2,LOW);
digitalWrite(G2,HIGH);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(1000);
//G2 high for 2000 delay
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,LOW);
digitalWrite(Y2,LOW);
digitalWrite(G2,HIGH);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(2000);
//G2 and Y3 high for 1000 delay
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,LOW);
digitalWrite(Y2,LOW);
digitalWrite(G2,HIGH);
digitalWrite(R3,LOW);
digitalWrite(Y3,HIGH);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(1000);
//G3 and Y2 high for 1000 delay
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,LOW);
digitalWrite(Y2,HIGH);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,HIGH);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(1000);
//G3 high for 2000 delay
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,LOW);
digitalWrite(G3,HIGH);
digitalWrite(R4,LOW);
digitalWrite(Y4,LOW);
digitalWrite(G4,LOW);
delay(2000);
//G3 and Y4 for 1000 delay
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,LOW);
digitalWrite(G3,HIGH);
digitalWrite(R4,LOW);
digitalWrite(Y4,HIGH);
digitalWrite(G4,LOW);
delay(1000);
//G4 and Y3 HIGH for 1000 delay
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,LOW);
digitalWrite(Y3,HIGH);
digitalWrite(G3,LOW);
digitalWrite(R4,LOW);
digitalWrite(Y4,LOW);
digitalWrite(G4,HIGH);
delay(1000);
//G4 high for 200 delay
digitalWrite(R1,HIGH);
digitalWrite(Y1,LOW);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,LOW);
digitalWrite(Y4,LOW);
digitalWrite(G4,HIGH);
delay(2000);
//G4 and Y1 high for 1000 delay
digitalWrite(R1,LOW);
digitalWrite(Y1,HIGH);
digitalWrite(G1,LOW);
digitalWrite(R2,HIGH);
digitalWrite(Y2,LOW);
digitalWrite(G2,LOW);
digitalWrite(R3,HIGH);
digitalWrite(Y3,LOW);
digitalWrite(G3,LOW);
digitalWrite(R4,LOW);
digitalWrite(Y4,LOW);
digitalWrite(G4,HIGH);
delay(1000);
}
}
OBSERVATION AND CIRCUIT
ADVANTAGES
FUTURE SCOPE
We will implement this system for traffic controlling in a 4 lane junction.
We will update this system with when a pedestrian try to cross the road during
green signal it will turn on an alarm and warn the pedestrian and traffic police.
We will update this system with when a vehicle try to move even during red
signal it will turn on an alarm to warn the driver of the vehicle and the traffic
CONCLUSION:-
The project may be very well used in where the traffic signals is kept and in many other
places where we need to full fill the need of the automation. In this project we have
studied the optimization of traffic light controller in a City using IR sensors and Arduino .
By using this system configuration we tries to reduce the possibilities of traffic jams,
caused by traffic lights, to an extent and we have successfully gets the results.
REFERENCE
Smart Traffic System
Authors- Sabeen Javaid
Ali Sufian
Mehak Tanveer