Automatic Rain

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Title: Building a Smart Dustbin with Arduino and Ultrasonic Sensor

In today's innovative world, where contactless solutions are highly valued, building a smart
dustbin can be a fantastic project. In this tutorial, we'll guide you through creating a smart
dustbin using Arduino Uno and an ultrasonic sensor. This project will not only help you keep
your surroundings clean but also introduce you to the exciting world of Arduino
programming.

Hardware Required:

 Arduino Uno
 Ultrasonic Sensor HC-SR04
 SG-90 Micro Servo Motor
 Dustbin
 Full Kit

Software Required:

 Arduino IDE

Arduino Uno:

Arduino Uno is an open-source microcontroller board based on the ATmega328P processor.


It offers various digital and analog pins, making it perfect for this project. Inexpensive and
versatile, the Uno is an ideal choice for beginners and experienced hobbyists alike.

Ultrasonic Sensor HC-SR04:

The HC-SR04 ultrasonic sensor is used to measure distances using sonar technology. It emits
ultrasound waves and calculates the time taken for the waves to bounce back, allowing
precise distance measurements.

SG-90 Micro Servo Motor:

The SG-90 micro servo motor is lightweight, high-quality, and fast. It is commonly used in
remote-controlled vehicles and robotics projects. In this project, it controls the lid of the
dustbin, making it open and close automatically.

Working Concept:

1. Ultrasonic Detection: The ultrasonic sensor (HC-SR04) detects objects in front of


the dustbin.
2. Arduino Processing: The detected signals are sent to the Arduino Uno, which
processes the information.
3. Servo Motor Control: Based on the received signals, the Arduino triggers the SG-90
servo motor, opening the dustbin lid.
4. Automatic Closure: The lid remains open for a predetermined duration (here, 3
seconds). After this time, the flap automatically closes.
Circuit Diagram:

 Ultrasonic Sensor Connections:


o Echo Pin to Arduino Pin 5
o Trig Pin to Arduino Pin 6
o VCC to Arduino 5V
o GND to Arduino GND
 Servo Motor Connections:
o Signal Pin to Arduino Pin 7
o VCC to Arduino 3.3V
o GND to Arduino GND
 Power Supply:
o Connect a 9V battery to the Vin pin on Arduino Uno.

Arduino Code:
#include <Servo.h>

Servo servo; // Create a Servo object

int trigPin = 2; // Pin for ultrasonic sensor trigger

int echoPin = 3; // Pin for ultrasonic sensor echo

int servoPin = 9; // Pin for servo motor

int led = 10; // Pin for status LED

long duration, dist, average; // Variables for ultrasonic sensor readings

long aver[3]; // Array for average distance readings

void setup() {

Serial.begin(9600); // Initialize serial communication for debugging

servo.attach(servoPin); // Attach the servo motor to its pin

pinMode(trigPin, OUTPUT); // Set trigPin as an output

pinMode(echoPin, INPUT); // Set echoPin as an input

pinMode(led, OUTPUT); // Set LED pin as an output

servo.write(0); // Close cap on power on

delay(100);

servo.detach(); // Detach the servo motor initially

}
void measure() {

digitalWrite(led, HIGH); // Turn on LED during measurement

digitalWrite(trigPin, LOW); // Prepare the ultrasonic sensor by


sending a low pulse

delayMicroseconds(5);

digitalWrite(trigPin, HIGH); // Send a high pulse to trigger the


ultrasonic sensor

delayMicroseconds(15);

digitalWrite(trigPin, LOW); // Stop the pulse

pinMode(echoPin, INPUT); // Set echoPin as an input to listen for the


echo

duration = pulseIn(echoPin, HIGH); // Measure the time it takes for


the echo to be received

dist = (duration / 2) / 29.1; // Calculate distance in centimeters


using the speed of sound

digitalWrite(led, LOW); // Turn off LED after measurement

void loop() {

for (int i = 0; i <= 2; i++) { // Average distance readings

measure(); // Call the function to measure distance

aver[i] = dist; // Store the distance in the array

delay(10); // Delay between measurements

dist = (aver[0] + aver[1] + aver[2]) / 3; // Calculate the average


distance

if (dist < 50) { // If an object is detected within 50 cm

servo.attach(servoPin); // Attach the servo motor

delay(1);
servo.write(0); // Open the cap

delay(3000); // Wait for 3 seconds (adjustable)

servo.write(150); // Close the cap

delay(1000); // Wait for 1 second

servo.detach(); // Detach the servo motor

Serial.print("Distance: ");

Serial.print(dist); // Print the distance to Serial Monitor

Serial.println(" cm"); // Print unit (centimeters)

delay(1000); // Delay for a second between readings

Conclusion:

Building a smart dustbin using Arduino and an ultrasonic sensor not only contributes to a
cleaner environment but also enhances your skills in programming and electronics. This
project demonstrates the seamless integration of sensors and microcontrollers for practical
applications. Feel free to experiment, modify, and extend this project to explore even more
possibilities in the world of electronics and automation. Happy tinkering!

You might also like