Table of Contents

Play Video

NON BIODEGRADABLE WASTE SEPARATOR

This Arduino-based non-biodegradable waste separator uses an ultrasonic sensor, servo motors, and a shaft which is attached to the DC motor to detect and sort waste. By directing non-biodegradable items into designated bins, it promotes efficient recycling and waste management, addressing environmental pollution. This innovative solution enhances sustainability and reduces landfill waste.

In our modern world, managing waste effectively is a growing challenge. Non-biodegradable waste, such as plastics and metals, poses significant environmental threats, leading to pollution and overflowing landfills. Traditional waste sorting methods are labor-intensive and often inefficient, resulting in poor recycling rates and increased environmental harm. There is a pressing need for innovative solutions to automate and improve waste segregation processes, thereby enhancing recycling efficiency and reducing ecological footprints. Non Biodegradable Waste Separator project offers a smart and efficient solution for waste management. By automating the separation of non-biodegradable materials, it significantly improves recycling rates, reduces manual labor, and minimizes environmental pollution. This innovative approach promotes sustainability, helping to create a cleaner, greener future for our communities.

Required Components:

  • Arduino UNO x1
  • Servo Motors (x2)
  • Ultrasonic Sensor x1
  • DC Motor x1
  • 9V Battery x1
  • Breadboard x1
  • Connecting Wires

Components and their functions:

  1. Arduino UNO: The Arduino UNO is a microcontroller board that act as the brain of the waste separator, controlling sensors and motors based on programmed instructions.
  2. Servo Motors : These motors are used to position sorting mechanisms or flaps accurately, directing waste into the correct bins based on sensor inputs.
  3. Ultrasonic Sensor: This sensor detects the presence and distance of waste items, triggering sorting actions when waste is identified.
  4. DC Motor: This motor drives the shaft attached with the DC motor or rotating mechanism that moves waste items towards the sorting area.
  5. 9V Battery: This battery provides the necessary power supply for the Arduino and connected components, ensuring the system operates independently.
  6. Breadboard: A breadboard is used for prototyping and connecting all electronic components without soldering, making it easy to modify the circuit.
  7. Connecting Wires: These wires connect various components to the Arduino and breadboard, enabling communication and power distribution throughout the system.

Steps to Assemble the Circuit

Connect the Servos:

  1. Attach the signal wire of the first servo motor to pin 7 on the Arduino.
  2. Attach the signal wire of the second servo motor to pin 10 on the Arduino.
  3. Connect the power and ground wires of both servo motors to the 5V and GND pins on the Breadboard.

Connect the Ultrasonic Sensor:

  1. Connect the Trig pin of the ultrasonic sensor to pin 9 on the Arduino.
  2. Connect the Echo pin of the ultrasonic sensor to pin 8 on the Arduino.
  3. Connect the VCC pin of the ultrasonic sensor to the positive rails of the breadboard.
  4. Connect the GND pin of the ultrasonic sensor to the positive rails of the breadboard.

Power the Arduino:

  1. Connect the 9V battery to the Arduino using a battery connector.
  2. Attach the positive wire of the battery connector to the Vin pin on the Arduino.
  3. Attach the negative wire of the battery connector to a GND pin on the Arduino.
Breadboard:
  1. Connect the 5V pin from the Arduino to the positive rail of the breadboard.
  2. Connect a GND pin from the Arduino to the negative rail of the breadboard.
  3. Distribute power and ground connections to the servo motors and ultrasonic sensor from the breadboard rails.

#include <Servo.h>

Servo myservo1;  // Existing servo motor
Servo myservo2;  // New servo motor

const int trigPin = 9;
const int echoPin = 8;
long tmeduration;
int distance;

void setup() {
  myservo1.attach(7);  // Attach the first servo to pin 7
  myservo2.attach(10); // Attach the second servo to pin 10
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}

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

  // Measure the duration of the echo pulse
  tmeduration = pulseIn(echoPin, HIGH);
  // Calculate distance
  distance = (0.034 * tmeduration) / 2;

  // Control the first servo based on distance
  if (distance <= 200) {
    myservo1.write(90);
  } else {
    myservo1.write(0);
  }

  // Control the second servo based on distance
  // Here, I'm using the same logic as the first servo. 
  // Modify this according to your specific requirements.
  if (distance <= 200) {
    myservo2.write(90);
  } else {
    myservo2.write(0);
  }

  // Print the distance for debugging
  Serial.print("Distance: ");
  Serial.println(distance);

  // Wait for a short period before next measurement
  delay(500);
}
Scroll to Top