Automatic Dustbin Using Arduino UNO, Servo Motor, and Ultrasonic Sensor
Project Overview
An Automatic Dustbin opens its lid automatically when a person brings their hand near the dustbin. The ultrasonic sensor detects the distance, and the servo motor opens or closes the lid accordingly.
Components Required
- 1 × Arduino UNO
- 1 × HC-SR04 Ultrasonic Sensor
- 1 × SG90 Servo Motor
- Jumper Wires
- Breadboard (Optional)
- Dustbin with movable lid
- USB Cable
Circuit Connections
HC-SR04 Ultrasonic Sensor
| HC-SR04 Pin | Arduino UNO |
|---|---|
| VCC | 5V |
| GND | GND |
| TRIG | D9 |
| ECHO | D10 |
Servo Motor
| Servo Wire | Arduino UNO |
|---|---|
| Red | 5V |
| Brown/Black | GND |
| Orange/Yellow | D6 |
Working Principle
- Ultrasonic sensor continuously measures distance.
- If distance is less than 20 cm:
- Servo rotates to 90°.
- Dustbin lid opens.
- If distance is greater than 20 cm:
- Servo returns to 0°.
- Dustbin lid closes.
Arduino Code
#include <Servo.h>
Servo dustbinServo;
const int trigPin = 9;
const int echoPin = 10;
const int servoPin = 6;
long duration;
int distance;
void setup()
{
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
dustbinServo.attach(servoPin);
dustbinServo.write(0); // Lid Closed
Serial.begin(9600);
}
void loop()
{
// Send ultrasonic pulse
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Read echo
duration = pulseIn(echoPin, HIGH);
// Calculate distance
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
if(distance > 0 && distance <= 20)
{
dustbinServo.write(90); // Open Lid
delay(2000);
}
else
{
dustbinServo.write(0); // Close Lid
}
delay(100);
}
Expected Output
| Distance | Servo Position | Dustbin Status |
|---|---|---|
| ≤ 20 cm | 90° | Open |
| > 20 cm | 0° | Closed |
Applications
- Smart Dustbin
- Smart Home Automation
- College Mini Project
- IoT & Robotics Demonstration
- Public Hygiene Systems
Future Improvements
- Add LCD to display distance.
- Add buzzer when lid opens.
- Add OLED display.
- Add IoT monitoring using ESP32 and Blynk.
- Add battery-powered operation.
Exercise Files