RVM Report Final PDF

Document Details

MultiPurposeDatePalm

Uploaded by MultiPurposeDatePalm

College of Engineering Pune

Tags

reverse vending machine waste management recycling engineering project

Summary

This document is a mini-project report on a Reverse Vending Machine (RVM) from the College of Engineering Pune . The report explores the design, fabrication and functionality of a system for managing waste materials and recycling. It uses sensors and a microcontroller, and aims to create a system that engages users for recycling.

Full Transcript

College of Engineering Pune Department of Electronics and Telecommunication Mini Project 2021-22 Title: Reverse Vending Machine for Waste Management Members: 1. Chanchal Gadodia - 111907011 2. Komal Mane - 111907023 3....

College of Engineering Pune Department of Electronics and Telecommunication Mini Project 2021-22 Title: Reverse Vending Machine for Waste Management Members: 1. Chanchal Gadodia - 111907011 2. Komal Mane - 111907023 3. Mrunalini Garud - 111907029 4. Poorva Moharil - 111907035 Guide: Dr. Mrs. Vanita Agrawal Dr. Mrs. Pratibha Shingare 1 2 CERTIFICATE This is to certify that the thesis/dissertation/report entitled ‘REVERSE VENDING MACHINE FOR WASTE DISPOSAL’ submitted by Chanchal Gadodia 111907011 Komal Mane 111907023 Mrunalini Garud 111907029 Poorva Moharil 111907035 in the partial fulfillment of the requirement for the award of degree Bachelor of Engineering (Electronics and Telecommunication Engineering) of College of Engineering Pune, affiliated to the Savitribai Phule Pune University, is a record of his own work. Name of Guide: Dr. Mrs. Vanita Agrawal Dr. Pratibha Shingare Head of Department: Dr. S. P. Mahajan. Name of Department: Electronics and Telecommunication Engineering. Name of College: College of Engineering, Pune. 3 4 Abstract: In order to respond to the problem of waste management, the idea of creating intelligent trash was made. This project offers a credible and hopeful solution to today’s sustainable development goals. The main problem was the lack of sorting, which means that the waste is either burned or piled up in a landfill, so the main task of this machine is to capture the waste and the classifier according to their types: Plastic, glass, etc Sorting waste and recycling it are crucial issues of our century. It is therefore important that sorting becomes a daily gesture. Introduction: Reverse vending machine is a concept or an idea that inculcates the habit of recycling waste materials. It will be working by taking recyclable waste into the machine and giving a useful thing as a token of appreciation. The aim of this project is to design and fabricate a reverse vending machine that takes recyclable waste into the machine and displays a token of appreciation. The machine can accept plastic or metal bottles There are basically two parts, one is the software part and the other is the electronics part. The software part is used for waste segregation and reward collection. The electronics part consists of sensors and a microcontroller, is used to take the correct input, segregate the waste into its respective categories using image processing, dustbin level monitoring and give a token of appreciation by scanning the QR code. The whole system is automated with the help of electronics. Combining both parts will give a reverse vending machine. A reverse vending machine will be working by taking recyclable waste into the machine and giving a useful thing as a token of appreciation. With limited resources in the world, we need to start preserving them and putting an end to wastage. Being encouraged to recycle through a rewards system. To encourage the recycling process we are designing and manufacturing reverse vending machines. 5 Brief History: Maofic Farhan, suggested the design of a Smart Bottle Recycle Machine (SBRM) be presented. It is designed on a Field Programmable Gate Array using an ultrasonic range sensor. A machine learning algorithm developed with a python platform was used to classify and collect the used bottles in the paper by Dhulekar. The system consists of raspberry-PI connected with a camera and out of an audio-visual interactive system. The reward is given through printed coupons generated using a thermal receipt printer. The machine is designed in a way to accept plastic bottles and credits these as points. Aditya gaur, suggested a Reverse Vending Machine that supports only plastic items as an input, and coins as an output. The Reverse Vending machine (RVM) is implemented using Xilinx in Verilog. Andrey N. Kokulin, in his research papers, made some approaches to computer vision and image processing. The main function of RVM is the classification of the image inside the machine by three feasible classes such as PET bottle, aluminum can, or fraud (everything that doesn't match PET bottle or can), even if the cans or bottles are warped or jammed. Need Analysis: The amount of plastic produced daily and usage of such plastic materials is greatly harming the environment and is a threat to the earth. Recycling means converting waste to useful materials. The amount of plastic produced daily and usage of such plastic materials is greatly harming the environment and is a threat to the earth. Recycling means converting waste to useful materials. It is fully implemented in western countries with the support of its government. However, in our country, littering is the norm. Local authorities encourage recycling but only get lukewarm responses. The major motivation for this project is to enable the implementation of RVM in India by building a prototype that focuses on education in energy consumption. The number of bottles used is too much and the recycling of such bottles is done in very less quantities. So, to overcome such a huge problem by making the recycling procedure easy and profitable for the common man, we came up with the idea of a smart machine for plastic bottle disposal. Improper disposal and management of plastic and metal waste is a major issue that is haunting the well- being of our ecosystem. As responsible youth of the country, we aim to develop a system that will facilitate the proper disposal of plastic and metal waste and eventually will lead to the proper treatment of these materials. Now since humans don’t work unless they get something in return, the system will provide points by scanning a QR code, which would be then redeemed as various rewards after they put the trash into the bin. 6 Block Diagram: Problem Statement: To design a system that accepts metal or plastic waste, segregates it and gives rewards to the user in return for the garbage thrown. Objective: We aim to build a Reverse Vending Machine for collecting plastic and metal bottles with a reward feature. 7 Features: 1. Waste segregation and disposal- metal or plastic 2. Count of number of bottles 3. Level monitoring of dustbins 4. Webapp with login facility 5. Rewards in the form of coupons 6. Maintaining uniqueness using OTPs 7. Low cost and low power system 8. Easy to operate and maintain Workflow of the system: The waste inserted into the machine will be segregated into metal and plastic. For this, we have used the inductive sensor for metal detection. Waste Segregation User have to signup (for new user) or login (for existing user) into their account on our website to collect the points. Based on the number of trash bottles/cans points will be awarded to the individual. Redeem the These points can be used to get discounts on certain items of the nearby shops. points Levels of the bins will be monitored using ultrasonic sensors. An alert message will be sent to the nearby Municipal corporation to empty the Level respective dustbin. monitor 8 Design: A. Hardware: Arduino Mega – It includes digital input/output pins-54, where 16 pins are analog inputs, 14 are used like PWM outputs hardware serial ports (UARTs) – 4, a crystal oscillator- 16 MHz, an ICSP header, a power jack, a USB connection, as well as an RST button. This board mainly includes everything which is essential for supporting the microcontroller. So, the power supply of this board can be done by connecting it to a PC using a USB cable, or battery or an AC-DC adapter. The programming of an Arduino Mega 2560 can be done with the help of an IDE (Arduino Software), and it supports C-programming language. NodeMCU – The NodeMCU (Node MicroController Unit) is an open-source software and hardware development environment built around an inexpensive System-on-a- Chip (SoC) called the ESP8266. The ESP8266, designed and manufactured by Espressif Systems, contains the crucial elements of a computer: CPU, RAM, networking (WiFi), and even a modern operating system and SDK. That makes it an excellent choice for Internet of Things (IoT) projects of all kinds. The NodeMCU is available in various package styles. Common to all the designs is the base ESP8266 core. Designs based on the architecture have maintained the standard 30-pin layout. Some designs use the more common narrow (0.9″) footprint, while others use a wide (1.1″) footprint – an important consideration to be aware of. In this project, we are using Lol1n ESP8266 NodeMCU. 9 Servo Motor – Servo motor consists of a control circuit that provides feedback on the current position of the motor shaft, this feedback allows the servo motors to rotate with great precision. It is just made up of a simple motor which runs through a servo mechanism. Servo motor works on PWM (Pulse width modulation) principle, meaning its angle of rotation is controlled by the duration of applied pulse to its Control PIN. Basically a servo motor is made up of a DC motor which is controlled by a variable resistor (potentiometer) and some gears. Servo motor can be rotated from 0 to 180 degrees, but it can go up to 210 degrees, depending on the manufacturing. This degree of rotation can be controlled by applying the Electrical Pulse of proper width to its Control pin. Servo checks the pulse every 20 milliseconds. The pulse of 1 ms (1 millisecond) width can rotate the servo to 0 degrees, 1.5ms can rotate to 90 degrees (neutral position) and 2 ms pulse can rotate it to 180 degree. 10 Ultrasonic sensor – An ultrasonic sensor is an instrument that measures the distance to an object using ultrasonic sound waves. An ultrasonic sensor uses a transducer to send and receive ultrasonic pulses that relay back information about an object’s proximity. High-frequency sound waves reflect from boundaries to produce distinct echo patterns. We are using ultrasonic sensors for Dustbin level monitoring. Inductive Sensor: An inductive sensor is a device that uses the principle of electromagnetic induction to detect or measure objects. An inductor develops a magnetic field when a current flows through it; alternatively, a current will flow through a circuit containing an inductor when the magnetic field through it changes. This effect can be used to detect metallic objects that interact with a magnetic field. 11 16*2 LCD Display - A liquid-crystal display (LCD) is a flat-panel display or another electronically modulated optical device that uses the light-modulating properties of liquid crystals combined with polarizers. Liquid crystals do not emit light directly, instead of using a backlight or reflector to produce images in color or monochrome. A 16x2 LCD means it can display 16 characters per line and there are 2 such lines. In this LCD each character is displayed in a 5x7 pixel matrix. It is a very basic module and is very commonly used in various devices and circuits. B. Software: Arduino IDE: The open-source Arduino Software (IDE) makes it easy to write code and upload it to the board.IDE stands for Integrated Development Environment. This software can be used with any Arduino board.The IDE application is suitable for different operating systems such as Windows, Mac OS X, and Linux. It supports the programming languages C and C++. 12 Flask: Flask is a web framework, it’s a Python module that lets you develop web applications easily. It has a small and easy-to-extend core: it’s a microframework that doesn’t include an ORM (Object Relational Manager) or such features. Flask is very Pythonic. Features: Development server and debugger Integrated support for unit testing Support for secure cookies Unicode-based Google App Engine compatibility ThingSpeak: ThingSpeak is an open-source software written in Ruby which allows users to communicate with internet-enabled. It facilitates data access, retrieval and logging of data by providing an API to both the devices and social network websites. ThingSpeak was originally launched by ioBridge in 2010 as a service in support of IoT applications. ThingSpeak has integrated support from the numerical computing software MATLAB from MathWorks, allowing ThingSpeak users to analyze and visualize uploaded data using MATLAB without requiring the purchase of a MATLAB license from MathWorks. 13 C. Code: 1. Arduino Code: #include #include #include SoftwareSerial mySerial(0, 1); // initialize the library by associating any needed LCD interface pin // with the arduino pin number it is connected to const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); #define switch1 24 //const int switch1 = 22; //const int switch2 = 24; Servo servo; // create servo object to control a servo int metal_count=0; int val_switch1; int plastic_count = 0; int plastic_full, metal_full; int total=0; int potpin = A0; // analog pin used to connect the potentiometer int otp=0; int val=0; // variable to read the value from the analog pin int inpin=13; // proximity sensor connected with the pin 2 int i = 0; #define echoPin 7 #define trigPin 6 #define echoPin1 10 #define trigPin1 8 long duration, durationn; 14 int distance, distance1; void setup(){ Serial.begin(115200); mySerial.begin(115200); //mySerial.println("AT+IPR=9600"); delay(1000); servo.attach(9); lcd.begin(16,2); //lcd.backlight(); pinMode(trigPin,OUTPUT); pinMode(echoPin,INPUT); pinMode(trigPin1,OUTPUT); pinMode(echoPin1,INPUT); pinMode(inpin,INPUT); pinMode(switch1, INPUT); // pinMode(switch2, INPUT); } String num = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}; void detect(){ lcd.setCursor(0,0); lcd.print("Welcome"); delay(1000); //lcd.clear(); val=digitalRead(inpin); if(val==HIGH) { servo.write(75); // Serial.println("Metal Detected"); metal_count++; lcd.setCursor(0,0); lcd.print("Metal Detected"); delay(5000); lcd.clear(); 15 } else { servo.write(150); //Serial.println("Plastic Detected"); plastic_count++; lcd.setCursor(0,0); lcd.print("Plastic Detected"); delay(5000); lcd.clear(); } servo.write(0); lcd.setCursor(0,0); lcd.print("Plastic count:"); lcd.print(plastic_count); lcd.setCursor(0,1); lcd.print("Metal count:"); lcd.print(metal_count); //lcd.print(" "); delay(3000); total = metal_count + plastic_count; lcd.clear(); delay(2000); lcd.setCursor(0,0); lcd.print("Total count: "); lcd.print(total); lcd.print(" "); lcd.setCursor(0,1); lcd.print(" "); delay(3000); lcd.clear(); delay(5000); 16 lcd.setCursor(0,0); lcd.print("Insert bottle or"); lcd.setCursor(0,1); lcd.print("Press the switch"); delay(2000); lcd.clear(); val_switch1 = digitalRead(switch1); //Serial.println(val_switch1); if (digitalRead(switch1) == HIGH){ lcd.setCursor(0,0); lcd.print("Release switch"); } delay(5000); //Serial.println(val_switch1); lcd.clear(); delay(2000); } void loop(){ val_switch1 = digitalRead(switch1); //Serial.println(val_switch1); lcd.clear(); val=digitalRead(inpin); do{ detect(); }while (val_switch1==LOW); 17 //int val_switch2 = digitalRead(switch2); //int val_switch2 = digitalRead(switch2); digitalWrite(trigPin,LOW); delayMicroseconds(2); digitalWrite(trigPin,HIGH); delayMicroseconds(10); digitalWrite(trigPin,LOW); duration=pulseIn(echoPin,HIGH); distance=(duration*0.034/2); //delay(2000); digitalWrite(trigPin1,LOW); delayMicroseconds(2); digitalWrite(trigPin1,HIGH); delayMicroseconds(10); digitalWrite(trigPin1,LOW); durationn=pulseIn(echoPin1,HIGH); distance1=(durationn*0.034/2); if (distance0){ Serial.println("while"); value = Serial.readString(); Serial.println(value); for ( n = 0; value[n] != '\0'; n++); n = n-2; Serial.println(n); otp = ((value - 0x30)*1000)+((value - 0x30)*100)+((value - 0x30)*10)+value - 0x30; Serial.println(otp); //count = value - 0x30; 23 int x = n-7; Serial.println(x); count = 0; //String(count) = String(count) + value[i]; for (int i=4; i

Use Quizgecko on...
Browser
Browser