An intelligent Arduino-based traffic management system designed to optimize traffic flow using sensor-driven lane monitoring, emergency handling, pedestrian control, Bluetooth communication, and adaptive signal timing.
This project simulates a smart city traffic intersection capable of dynamically adjusting traffic signals based on real-time road conditions.
Smart Arduino-based adaptive traffic light controller using IR sensors, ultrasonic sensing, Bluetooth communication, servo-assisted lane scanning, and dynamic signal timing to optimize traffic flow, handle emergencies, and improve pedestrian safety.
Traditional traffic lights operate on fixed timers regardless of traffic density. This causes:
- Unnecessary waiting time
- Traffic congestion
- Fuel wastage
- Increased pollution
- Delays during emergency situations
This project solves these problems using:
- IR Sensors
- Ultrasonic Sensors
- Bluetooth Communication
- Servo-Based Scanning
- Adaptive Signal Timing
- Emergency Lane Control
- Pedestrian Crossing Support
The controller dynamically allocates green signal timing based on traffic density and road conditions.
The system dynamically changes green light duration based on traffic density.
- Minimum and maximum green timing
- Real-time lane monitoring
- Dynamic lane prioritization
- Reduced idle waiting
IR sensors are used to detect vehicle presence in each lane.
- Detect congestion
- Monitor lane activity
- Trigger adaptive timing
Ultrasonic sensors mounted with servo motors scan traffic density across lanes.
- Measure distance
- Detect queue length
- Estimate lane occupancy
This enables smarter signal timing decisions.
Dedicated emergency lane handling allows:
- Fast lane clearance
- Signal prioritization
- Reduced emergency response delay
Emergency events can override normal signal flow.
The system supports pedestrian requests using push buttons.
- Safe crossing interval
- Countdown handling
- Temporary traffic halt
- Automatic resume after crossing
HC-05 Bluetooth module support enables:
- Wireless communication
- Remote control
- Signal updates
- Event triggering
- Mobile control
- Monitoring systems
- Smart traffic integration
RGB LEDs simulate real traffic signals.
- Red → Stop
- Green → Go
- Blue/Alternate States → Additional status indication
An I2C LCD is used to display:
- Lane status
- Countdown timer
- Emergency alerts
- Pedestrian state
- Signal information
| Component | Purpose |
|---|---|
| Arduino Uno | Main controller |
| HC-05 Bluetooth Module | Wireless communication |
| IR Sensors | Vehicle detection |
| Ultrasonic Sensors | Distance and density measurement |
| Servo Motors | Sensor scanning |
| RGB LEDs | Traffic signal indication |
| Push Buttons | Pedestrian and emergency control |
| I2C LCD Display | Real-time system display |
| Jumper Wires | Circuit connections |
| Breadboard | Prototyping |
- Arduino C/C++
- Embedded Systems
- Sensor Integration
- Bluetooth Communication
- Real-Time Control Systems
- Smart Traffic Management
.
├── traffic_controller.ino
├── bluetooth_module.ino
├── adaptive_lane_controller.ino
└── README.md
Used for:
- Bluetooth communication
- RGB LED traffic indication
| HC-05 Pin | Arduino Pin |
|---|---|
| VCC | 5V |
| GND | GND |
| TXD | Pin 0 (RX) |
| RXD | Pin 1 (TX) (use voltage divider) |
| RGB LED Pin | Arduino Pin |
|---|---|
| Red | Pin 8 |
| Green | Pin 7 |
| Blue | Pin 5 |
| Common GND | GND via 220Ω resistors |
Used for:
- Traffic density scanning
- Servo control
- Ultrasonic sensing
- Lane signal management
| Signal | Arduino Pin |
|---|---|
| Red | Pin 4 |
| Green | Pin 3 |
| Blue | Pin 2 |
| Signal | Arduino Pin |
|---|---|
| Red | Pin 5 |
| Green | Pin 11 |
| Blue | Pin 13 |
| Sensor | Arduino Pin |
|---|---|
| IR Lane 1 | A0 |
| IR Lane 2 | A1 |
| Sensor Pin | Arduino Pin |
|---|---|
| Trigger | Pin 6 |
| Echo | Pin 8 |
| Sensor Pin | Arduino Pin |
|---|---|
| Trigger | Pin 7 |
| Echo | Pin 12 |
| Servo | Arduino Pin |
|---|---|
| Servo 1 | Pin 9 |
| Servo 2 | Pin 10 |
| I2C Pin | Arduino |
|---|---|
| SDA | SDA |
| SCL | SCL |
Slave Address:
0x04
Used for:
- LCD display
- Pedestrian control
- Emergency handling
- Master traffic scheduling
| LCD Pin | Arduino |
|---|---|
| VCC | 5V |
| GND | GND |
| SDA | SDA |
| SCL | SCL |
LCD Address:
0x27
| HC-05 Pin | Arduino Pin |
|---|---|
| TXD | Pin 10 |
| RXD | Pin 11 |
| Button | Arduino Pin |
|---|---|
| Pause Button | Pin 7 |
| Lane 1 Request | Pin 2 |
| Lane 2 Request | Pin 3 |
| Lane 3 Request | Pin 4 |
| Lane 4 Request | Pin 6 |
| Pedestrian Button | Pin 8 |
All buttons use:
INPUT_PULLUP| I2C Pin | Arduino |
|---|---|
| SDA | SDA |
| SCL | SCL |
Connected Slave Addresses:
0x04
0x05
- Multi-lane traffic handling
- Real-time sensor integration
- Wireless Bluetooth support
- Servo-assisted scanning
- LCD feedback system
- Intelligent signal scheduling
- Reduces traffic congestion
- Improves signal efficiency
- Supports emergency vehicles
- Enhances pedestrian safety
- Reduces unnecessary delays
- More efficient than fixed-time traffic systems
- Smart Cities
- Traffic Signal Automation
- Intelligent Transportation Systems
- Embedded Systems Projects
- IoT-Based Traffic Monitoring
- Educational Demonstrations
Possible future extensions:
- AI-based traffic prediction
- Camera-based vehicle counting
- Cloud monitoring dashboard
- IoT integration
- Mobile application control
- Automatic emergency vehicle recognition
- Number plate recognition
- Arduino Uno
- HC-05 Bluetooth Module
- IR Sensors
- Ultrasonic Sensors
- Servo Motors
- RGB LEDs
- LCD I2C Display
- Push Buttons
- Arduino IDE
- Wire.h
- LiquidCrystal_I2C.h
- Servo.h
- SoftwareSerial.h
- Open the
.inofiles in Arduino IDE. - Install all required libraries.
- Connect all hardware components properly.
- Upload the code to the respective Arduino boards.
- Power the circuit.
- Observe adaptive traffic signal behavior.
- Smart adaptive traffic management
- Real-time traffic density monitoring
- Emergency vehicle prioritization
- Pedestrian crossing support
- Bluetooth-enabled control system
- Embedded systems and IoT concepts combined