Arduino Base Traffic System Using Proteus 8 Professional


Traffic congestion in urban areas is a pervasive issue that affects both commuters and the environment. Managing traffic efficiently at intersections is crucial to alleviate congestion and enhance safety. In this project, we'll guide you through the creation of a traffic system using Arduino and Proteus 8.12 Professional. So, let's embark on this journey to design an intelligent traffic management system!

Understanding Traffic Management:

Intersection Challenges:

    • Intersections pose challenges with multiple streams of traffic and pedestrians crossing paths.

Traffic Signals:

    • Traffic signals help control movements at intersections, ensuring a smooth flow.

Phases in Traffic Signals:

    • Different movements, such as left, right, and through, are grouped into phases to avoid conflicts.

Ring and Barrier Diagrams:

    • Engineers use diagrams to represent major and minor streets, left turns, and pedestrian movements, aiding in intersection design.

Designing the Traffic System in Proteus 8 Professional:

Steps:

Open a New Project:

    • Launch Proteus 8 Professional and start a new project.

Part Placement:

    • Access the part placement section and select the following components:
      • Arduino UNO
      • Traffic lights
      • Use 2D graphics to design the intersection layout.

Connect Components:

    • Connect the Arduino with the traffic lights to represent a functioning traffic system.

Code Implementation:

    • Utilize the provided Arduino code to simulate the traffic signal phases.

Arduino Code:

 

// Arduino Code for Traffic System

int Lane1[] = {13,12,11}; // Lane 1 Red, Yellow, and Green

int Lane2[] = {10,9,8};    // Lane 2 Red, Yellow, and Green

int Lane3[] = {7,6,5};     // Lane 3 Red, Yellow, and Green

int Lane4[] = {4,3,2};     // Lane 4 Red, Yellow, and Green

int Gotime = 7000;         // Green light duration

int waitTime = 3000;       // Yellow light duration


void setup() {

  for (int i = 0; i < 3; i++) {

    pinMode(Lane1[i], OUTPUT); 

    pinMode(Lane2[i], OUTPUT);

    pinMode(Lane3[i], OUTPUT);

    pinMode(Lane4[i], OUTPUT);

  }

  for (int i = 0; i < 3; i++) {

    digitalWrite(Lane1[i], LOW);   

    digitalWrite(Lane2[i], LOW);  // wait

    digitalWrite(Lane3[i], LOW);  // wait

    digitalWrite(Lane4[i], LOW); 

  }

}


void loop() {

  // Traffic Signal Phases

  digitalWrite(Lane1[2], HIGH);  // Lane 1 - Go

  digitalWrite(Lane3[0], HIGH);  // Lane 3 - Wait

  digitalWrite(Lane4[0], HIGH);  // Lane 4 - Wait

  digitalWrite(Lane2[0], HIGH);  // Lane 2 - Wait

  delay(Gotime);                 // Green light duration

  

  // Transition to Yellow

  digitalWrite(Lane1[2], LOW);

  digitalWrite(Lane3[0], LOW);

  digitalWrite(Lane1[1], HIGH);

  digitalWrite(Lane3[1], HIGH);

  delay(waitTime);

  

  // Transition to Red and Green

  digitalWrite(Lane1[1], LOW);

  digitalWrite(Lane3[1], LOW);

  digitalWrite(Lane1[0], HIGH);

  digitalWrite(Lane3[2], HIGH);

  delay(Gotime);

  

  // Repeat the above steps for other traffic phases

  // ...


  // Endless Loop for Continuous Simulation

}


Compiling the Code:

Compile Code in Arduino IDE:

    • Open the Arduino IDE and ensure "compilations" are checked (Files > Preferences > Check "compilation") to obtain the HEX file.

Copy Hex File Directory:

    • Copy the HEX file directory using Ctrl+C.

Paste in Proteus:

    • In Proteus, paste the HEX file directory in the Arduino simulation settings.

Now, you have a simulated traffic system in Proteus 8.12, showcasing different traffic phases for efficient traffic management. Enjoy experimenting with this project and explore further enhancements!

Note: This project is a simulation and intended for educational purposes. Always follow traffic regulations for real-world applications.

 

1 Comments

Please Select Embedded Mode To Show The Comment System.*

Previous Post Next Post

Contact Form