Your shopping cart is empty!
![Metal and Wet Waste Separator Using Maker Uno Metal and Wet Waste Separator Using Maker Uno](https://static.cytron.io/image/cache/tutorial/metal-wet-waste-separator-using-maker-uno/Retro-Colorful-Live-Thumbnail-Game-Video-Template-1-800x320.png)
Metal and Wet Waste Separator Using Maker Uno
- Anas Amjad
- 02 Jun 2022
- 1768
Introduction
Waste separation is a good start to living a green life. Metal and wet waste are essential to be separated because sometimes the metal waste is dangerous if disposed of unproperly and the garbage bag can get watery because of excessive water from wet waste.
How to do it?
With Maker Uno, we will create a conceptual project to mimic a separator that can identify the waste inserted into the bin with an infrared sensor module. Then, we will separate metal by using an inductive proximity sensor and identify wet waste with a moisture sensor module. The waste then will be discarded according to the waste type into three different sections with a servo motor.
Required Components
Circuit Connection
Pictorial Diagram
The infrared sensor will detect if any waste is inserted into the container, then the inductive proximity sensor will identify whether the waste is metallic or not. If the waste is metallic, then it will be discarded in the METAL section. If the waste is non-metallic, the moisture sensor module will identify whether the waste is wet. If wet, the waste will be discarded into the WET section. If neither, waste will be discarded to the NORMAL section. All the discard process is shown in this conceptual project via servo.
Setup
1. Connect the servo with male-to-male jumpers.
2. Connect the moisture sensor with its module with female-to-female jumpers and from the module to the breadboard with female-to-male jumpers.
3. Connect the infrared sensor with female-to-male jumpers.
4. Connect all the equipment as shown in the pictorial diagram.
5. Connect the setup with your computer and upload the code below via Arduino IDE.
Code
#include
//input pin declaration
int IRpin = 3;
int IPpin = 5;
int MSpin = A1;
int LED = 13;
//servo declaration
int SM1pin = 9;
Servo Servo1;
//metal sensor variable
int IPvalue;
//moisture sensor variable
int moistureValue;
int moistureLimit=30;
float moisturePercent;
void setup() {
//input pin setup
pinMode(IRpin,INPUT);
pinMode(IPpin,INPUT);
pinMode(MSpin,INPUT);
pinMode (13, OUTPUT);
//servo setup
Serial.begin(9600);
Servo1.attach(SM1pin);
}
void loop() {
//sensing presence of waste
if(digitalRead(IRpin)==0){
Serial.println("Waste detected!");
delay(3000);
//metal identification
IPvalue = digitalRead(IPpin);
delay(3000);
if( IPvalue == 0 ){
Serial.println( "The waste is metallic" );
Serial.println( "Discarding waste to METAL section" );
Servo1.write(0);
delay(3000);
}
else{
Serial.println( "The waste is nonmetallic");
//moisture identification
delay(3000);
moistureValue = analogRead(MSpin);
moisturePercent = (100-
((moistureValue/1023.00)*100));
Serial.print("Moisture Percentage : ");
Serial.print(moisturePercent);
Serial.println("%");
if (moisturePercent>moistureLimit) {
Serial.println("The waste is wet");
Serial.println("Discarding waste to WET section");
Servo1.write(180);
delay(3000);
}
else{
Serial.println("The waste is normal");
Serial.println("Discarding waste to NORMAL section ");
Servo1.write(270);
delay(3000);
}
}
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000);
Serial.println("Waste discarded!");
Serial.println('n');
delay(1000);
}
}
Outcome Simulation
Thank You!
Visit my.cytron.io to grab these components and let's work on this project!