SERVO PROJECTSULTRASONIC SENSOR

Smart Toll Booth Automation System

Step into the future of toll booth management with our “Smart Toll Booth Automation System.” This innovative project employs Arduino, a servo motor, an ultrasonic sensor, an LCD display, and a buzzer to create an intelligent toll collection and gate control system.

As a vehicle approaches the toll booth, the ultrasonic sensor detects its presence, triggering a series of actions. The LCD displays relevant information, instructing the driver to present their pass. Upon successful verification, the gate smoothly opens with a corresponding buzzer alert.

After the vehicle passes, the gate closes automatically, ensuring a seamless and efficient toll collection process. This system enhances toll booth operations by combining automation with user-friendly interfaces, improving traffic flow and user experience.

The circuit integrates components like the ultrasonic sensor (trigPin, echoPin), a button for pass verification (buttonPin), a servo motor (connected to pin 9), a buzzer (buzzerPin), and an LCD display. Connect the appropriate pins of these components to the designated digital or analog pins on the Arduino.

The servo motor controls the gate, and the ultrasonic sensor monitors vehicle proximity. Power the components according to their specifications, and establish a common ground between the Arduino and the other elements.

Component List:

NameQuantityComponent
U11Arduino Uno R3
U21LCD 16 x 2
Rpot11250 kΩ Potentiometer
R11220 Ω Resistor
SERVO11Positional Micro Servo
PIEZO11Piezo
DIST11Ultrasonic Distance Sensor
S11Pushbutton
R211 kΩ Resistor


Arduino Code:

#include <Servo.h>
#include <LiquidCrystal.h>
Servo servo;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int sensorPin = A5;
const int trigPin = A1;
const int echoPin = A0;
const int buttonPin = 7;
const int buzzerPin = 6;
long duration, distance;
void setup() {
Serial.begin(9600);
servo.attach(9);
servo.write(90);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buttonPin, INPUT);
pinMode(buzzerPin, OUTPUT);
lcd.begin(16, 2);
lcd.setCursor(3, 0);
lcd.print("Toll");
lcd.setCursor(3, 1);
lcd.print("Collection");
delay(2000);
}
void loop() {
distanceCheck();
lcd.begin(16, 2);
lcd.setCursor(3, 0);
lcd.print("TOLL BOOTH");
lcd.setCursor(3, 1);
lcd.print("AUTOMATION");
delay(500);
if (distance < 40) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Vehicle Reached");
for (int i = 0; i < 2; i++) { digitalWrite(buzzerPin, HIGH); delay(500); digitalWrite(buzzerPin, LOW); delay(500); } delay(3000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Show the Pass"); lcd.setCursor(0, 1); for (int i = 0; i < 5; i++) { lcd.print("."); delay(500); } while (digitalRead(buttonPin) == 0); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Pass OK"); delay(1500); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Gate Opening!"); servo.write(0); delay(1000); while (distance < 40) { distanceCheck(); } delay(3000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Gate Closing!"); servo.write(90); delay(2000); lcd.clear();
}
}
void distanceCheck() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1;
Serial.println(distance);
}


The Smart Toll Booth Automation System demonstrates the fusion of technology and efficiency in toll collection.

By automating processes and providing clear communication through an LCD display and buzzer alerts, this project serves as a model for enhancing traditional toll booth functionalities.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button