Implementing a Smart Trash Can Using Arduino and Ultrasonic Sensor

This article briefly discusses how to use Arduino in conjunction with an ultrasonic module to create a smart trash can experiment. When a person approaches the trash can, it automatically opens.

Implementing a Smart Trash Can Using Arduino and Ultrasonic Sensor
Trash Can

Materials Needed

  • Arduino
  • Ultrasonic Sensor
  • Servo

Wiring Connection

Implementing a Smart Trash Can Using Arduino and Ultrasonic Sensor
Wiring Connection
Implementing a Smart Trash Can Using Arduino and Ultrasonic Sensor
Physical Wiring

Code

#include <Servo.h>

const int trigPin = 9;  // Trigger pin for ultrasonic sensor
const int echoPin = 10; // Echo pin for ultrasonic sensor
Servo servoMotor;       // Create servo object

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  servoMotor.attach(6);  // Connect servo to digital pin 6
}

void loop() {
  long duration, distance;

  // Send ultrasonic pulse
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Read the time it takes for the ultrasonic signal to return
  duration = pulseIn(echoPin, HIGH);

  // Convert time to distance (cm)
  distance = (duration / 2) / 29.1;

  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");

  // Control servo based on distance
  if (distance <= 10) {
    // If distance is less than or equal to 10 cm, rotate servo to 90 degrees
    servoMotor.write(90);
  } else {
    // Otherwise, return servo to 0 degrees
    servoMotor.write(0);
  }

  delay(500); // Delay to stabilize output
}

Effect

Precautions

  • Ensure correct wiring to prevent sensor damage.

  • Pin positions and servo angles can be modified in the code.

For more exciting articles, please follow us

Leave a Comment

×