Smart Bridge Elevation Control System


This introduction presents a cutting-edge approach to bridge management and safety through the implementation of a Smart Bridge Elevation Control System (SB-ECS) using Arduino, an ultrasonic sensor, and servo motors. The system continually monitors water levels beneath the bridge with the ultrasonic sensor. When water levels rise to potentially hazardous levels, the Arduino-based control system engages servo motors to automatically adjust the bridge’s height, ensuring the safety of bridge and vehicles .

The Smart Bridge Elevation Control System combines real-time data collection and analysis, offering bridge operators critical information for decision-making during flood events or changing water conditions. By incorporating servo motors, the system achieves precise and responsive bridge elevation adjustments, reducing the risk of accidents, structural damage, and road closures during flooding. Moreover, it enhances infrastructure resilience, contributing to safer and more efficient transportation networks.

This innovative application of technology exemplifies the potential for intelligent solutions to address contemporary infrastructure challenges proactively, showcasing how Arduino, ultrasonic sensors, and servo motors work together to create a dynamic and adaptive bridge management system.

Components Required


Circuit Diagram

smart bridge


Servo motor

  • Signal pins – digital pin 9 of Arduino
  • Power supply pins – 5v supply in Arduino
  • Ground pins -GND of Arduino

Ultrasonic sensor

  • Trig pin  – pin 6 of Arduino
  • Echo pin – pin 7 of Arduino
  • GND pin -GND of Arduino
  • Power supply pin- 5v of Arduino

Arduino Code

#include <Servo.h>// constants won’t changeconst int TRIG_PIN  = 6;  // Arduino pin connected to Ultrasonic Sensor’s TRIG pin
const int ECHO_PIN  = 7;  // Arduino pin connected to Ultrasonic Sensor’s ECHO pin
const int SERVO_PIN = 9; // Arduino pin connected to Servo Motor’s pin
const int DISTANCE_THRESHOLD = 4; // centimeters
Servo servo; // create servo object to control a servo
// variables will change:
float duration_us, distance_cm;
void setup() {

Serial.begin (9600);       // initialize serial port
pinMode(TRIG_PIN, OUTPUT); // set arduino pin to output mode

pinMode(ECHO_PIN, INPUT);  // set arduino pin to input mode
servo.attach(SERVO_PIN);   // attaches the servo on pin 9 to the servo object
void loop(){
// generate 10-microsecond pulse to TRIG pin
digitalWrite(TRIG_PIN, HIGH);


digitalWrite(TRIG_PIN, LOW);

// measure duration of pulse from ECHO pin
duration_us = pulseIn(ECHO_PIN, HIGH);
// calculate the distance
distance_cm = 3 * duration_us;
if(distance_cm < DISTANCE_THRESHOLD)
servo.write(180); // rotate servo motor to 90 degree
servo.write(0);  // rotate servo motor to 0 degree
// print the value to Serial Monitor
Serial.print(“distance: “);
Serial.println(” cm”);


In conclusion, a smart bridge using Arduino UNO has successfully demonstrated the integration of technology for efficient bridge monitoring and management. By utilising sensors and the Arduino platform, the project achieved real-time data collection, analysis, and remote control capabilities. The smart bridge concept holds promise for enhancing infrastructure safety, reducing maintenance costs, and improving overall transportation systems. Further development could focus on scalability, energy efficiency, and integration with advanced control systems for broader practical applications.


  1. Puja Kumari
  2. Manya Vats
  3. Mohammad Imran Alam

Visit YouTube Channel

Share This Post

Leave a Comment