Di tempat pembuangan sampah, melayang di lautan, atau sungai dan di trotoar. Diperkirakan 46.000 potongan sampah plastik melayang di lautan per mil persegi. Plastik ini membunuh hewan, bocor kimia dan mengganggu ekosistem. Setiap botol membutuhkan waktu hingga seribu tahun untuk terurai, bocor kimia berbahaya dan merusak selama prosesnya. Beberapa toksin yang bocor dapat menyebabkan kanker dan disabilitas reproduksi. Pembakaran plastik menghasilkan emisi beracun seperti karbon monoksida, klorin, asam klorida, furan, dan nitrit. Sayangnya, argumen daur ulang hanya dapat melakukan sedikit untuk kasusnya karena hanya 12% dari tiga puluh lima miliar botol yang digunakan dalam satu tahun yang didaur ulang, yang menunjukkan bahwa hanya separuh dari apa yang Anda masukkan ke dalam kotak daur ulang yang sebenarnya didaur ulang.
IDE:
Mesin pintar untuk pembuangan sampah plastik dan logam adalah sistem yang menerima sampah plastik (botol) dan kaleng logam untuk daur ulang dan sebagai balikan memberikan pintu dompet kepada operator yang mendaur ulang sampah. Mesin vending terbalik dilengkapi dengan sensor proximity untuk membedakan antara berbagai jenis botol dan poin diperoleh saat pengguna memasukkan kode di situs web. Pengembangan ini secara umum terkait dengan manajemen sampah dan daur ulang sampah plastik dan logam (botol) di lingkungan. Buangan sampah plastik di lingkungan dan kurangnya kemauan untuk mendaur ulang plastik terus menjadi masalah bagi lingkungan dan semua makhluk hidup.
KERJA:
Mesin Vending Terbalik adalah perangkat yang menerima wadah minuman yang digunakan dan mengembalikan uang kepada pengguna (sebaliknya dari siklus vending tipikal). Mesin-mesin ini populer di tempat-tempat yang memiliki undang-undang daur ulang wajib atau legislasi setoran wadah.
Operasi dasar melibatkan langkah-langkah di mana pemulung meletakkan botol/kaleng kosong ke lubang penerima; sistem in-feed horizontal memungkinkan pengguna memasukkan wadah satu per satu. Botol/kaleng kemudian secara otomatis discan dengan bantuan sensor proximity kapasitif dan induktif. Jika nilai sensor induktif adalah 1 maka objek adalah plastik dan jika nilai sensor induktif adalah 0 dan nilai sensor kapasitif adalah 1 maka objek adalah plastik.
Untuk sistem hadiah, RVM mendistribusikan token berharga, seperti koin atau kupon, saat wadah minuman didaur ulang. Kupon kemudian digunakan untuk menukarkan hadiah di bal counter. Namun, kesadaran akan isu lingkungan dan tujuan untuk mengurangi penggunaan kertas, pencetakan kupon tidak sangat diinginkan. Jadi, dalam sistem yang kami usulkan, saat plastik terdeteksi, kode terenkripsi muncul pada layar LCD. Kemudian pengguna harus memindai kode QR yang ada pada mesin untuk menavigasi ke situs web untuk menukarkan poinnya dengan memasukkan kode yang didapatkan di layar LCD.
Ada database untuk pengguna yang memiliki akun di situs web mesin vending plastik terbalik. Wajib memiliki akun untuk login ke situs web untuk menukarkan poin untuk membuang plastik.
Mesin memiliki satu fitur lagi, jika mesin penuh, maka pengumpul sampah atau vendor daur ulang akan diberi tahu dengan bantuan aplikasi. Tingkat mesin dipantau menggunakan sensor ultrasonik dan NodeMCU saat mesin penuh, pengumpul diberitahu dan lokasi tepat mesin dikirim dengan bantuan sistem pengglobalan posisi.
Kode
Segregasi Sampah
Pemantauan Tingkat Tempat Sampah
Segregasi Sampah
#include <LiquidCrystal.h> //#include "Arduino.h" //#include "Button.h" #include <Servo.h> LiquidCrystal lcd(1,2,4,5,6,7); const int knapp = 3; int ButtonState = 0; // current state of the button int oldButtonState = 0; const int ledPin1 = 10; const int ledPin2 = 11; const int buzz1 = 12; const int buzz2 = 13; const int plasticsensor=A0; int metalsensor= A1; int metalsensor_M= A2; Servo myservo; Servo myservo_M; int pos = 90; int pos_M = 360; void setup() { pinMode(knapp, INPUT); digitalWrite(knapp, LOW); lcd.begin(16,2); lcd.clear(); myservo.attach(9); myservo_M.attach(8); pinMode(plasticsensor,INPUT_PULLUP); pinMode(metalsensor,INPUT_PULLUP); pinMode(metalsensor_M,INPUT_PULLUP); pinMode(ledPin1, OUTPUT); pinMode(ledPin2, OUTPUT); pinMode(buzz1, OUTPUT); pinMode(buzz2, OUTPUT); Serial.begin(9600); } void loop() { lcd.setCursor(0,0); lcd.print("INSERT METAL ON"); lcd.setCursor(0,1); lcd.print(" RIGHT SIDE "); delay(6000); lcd.clear(); int sensor_read=digitalRead(plasticsensor); Serial.println("plastic sensor"); Serial.println(sensor_read); //delay (10); int sensor_read_m=digitalRead(metalsensor); //Plastic bin Serial.println("metal sensor1"); Serial.println(sensor_read_m); //delay (10); int sensor_read_mm=digitalRead(metalsensor_M); Serial.println(sensor_read_mm); //delay (10); if((sensor_read==1)&&(sensor_read_m!=1)){ for (pos = 90; pos <=240; pos += 1) { // goes from 0 degrees to 180 degrees // in steps of 1 degree myservo.write(pos); // tell servo to go to position in variable 'pos' //delay(5); digitalWrite(ledPin1, HIGH); digitalWrite(buzz1, HIGH); // waits 15ms for the servo to reach the position } //delay(5000); for (pos = 240; pos >=90; pos -= 1) { // goes from 0 degrees to 180 degrees // in steps of 1 degree myservo.write(pos); //delay(5); } } else { // goes from 180 degrees to 0 degr myservo.write(pos); digitalWrite(ledPin1, LOW); digitalWrite(buzz1, LOW); } if((sensor_read_mm==1)&&(sensor_read==0)){ for (pos_M =360; pos_M >= 50; pos_M -= 1) { // goes from 0 degrees to 180 degrees // in steps of 1 degree myservo_M.write(pos_M); //delay(5); digitalWrite(ledPin2, HIGH); digitalWrite(buzz2, HIGH); } // tell servo to go to position in variable 'pos' // delay(5000); for (pos_M = 50; pos_M <=360; pos_M += 1) { // goes from 180 degrees to 0 degrees myservo_M.write(pos_M); // tell servo to go to position in variable 'pos' //delay(5);// waits 15ms for the servo to reach the position } } else{ myservo_M.write(pos_M); digitalWrite(ledPin2, LOW); digitalWrite(buzz2, LOW); } }
Pemantauan Tingkat Tempat Sampah
#include "ThingSpeak.h" #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <TinyGPS++.h> #include <SoftwareSerial.h> #define BLYNK_PRINT Serial #define TRIGGER2 5 #define ECHO2 4 WiFiClient client; static const int RXPin = 4, TXPin = 5; // GPIO 4=D2(conneect Tx of GPS) and GPIO 5=D1(Connect Rx of GPS static const uint32_t GPSBaud = 9600; //if Baud rate 9600 didn't work in your case then use 4800 unsigned long myChannelField = 1067056; // Channel ID const int ChannelField = 1; // Which channel to write data const char * myWriteAPIKey = "FMV95MD2A1J7Y8SP"; // Your write A TinyGPSPlus gps; // The TinyGPS++ object WidgetMap myMap(V0); // V0 for virtual pin of Map Widget SoftwareSerial ss(RXPin, TXPin); // The serial connection to the GPS device BlynkTimer timer; // You should get Auth Token in the Blynk App. char auth[] = "YVvgHBx9fIM1-yR_2XrGXXkKdIuEmrYL"; // Your WiFi credentials. // Set password to "" for open networks. char ssid[] = "diksha"; char pass[] = "diksha19"; unsigned int move_index = 1; void setup() { Serial.begin (115200); ss.begin(GPSBaud); Blynk.begin(auth, ssid, pass); // timer.setInterval(5000L, checkGPS); pinMode(TRIGGER2, OUTPUT); pinMode(ECHO2, INPUT); pinMode(BUILTIN_LED, OUTPUT); WiFi.mode(WIFI_STA); ThingSpeak.begin(client); } /*void checkGPS(){ if (gps.charsProcessed() < 10) { Serial.println(F("No GPS detected: check wiring.")); } }*/ void loop() { if (WiFi.status() != WL_CONNECTED) { Serial.print("Attempting to connect to SSID: "); Serial.println(ssid); while (WiFi.status() != WL_CONNECTED) { WiFi.begin(ssid, pass); Serial.print("."); delay(100); } Serial.println("\nConnected."); } while (ss.available() > 0) { // sketch displays information every time a new sentence is correctly encoded. if (gps.encode(ss.read())) Serial.println("GPS Connected");//displayInfo(); { if (gps.location.isValid() ) { float latitude = (gps.location.lat()); //Storing the Lat. and Lon. float longitude = (gps.location.lng()); Serial.print("LAT: "); Serial.println(latitude, 6); // float to x decimal places Serial.print("LONG: "); Serial.println(longitude, 6); ThingSpeak.setField(3, latitude); ThingSpeak.setField(4, longitude); ThingSpeak.writeFields(myChannelField, myWriteAPIKey); Blynk.virtualWrite(V1, String(latitude, 6)); Blynk.virtualWrite(V2, String(longitude, 6)); myMap.location(move_index, latitude, longitude, "GPS_Location"); } } } //long duration1, distance1; long duration2, distance2; digitalWrite(TRIGGER2, LOW); delayMicroseconds(2); digitalWrite(TRIGGER2, HIGH); delayMicroseconds(10); digitalWrite(TRIGGER2, LOW); duration2 = pulseIn(ECHO2, HIGH); distance2 = (duration2/2) / 29.1; if (distance2 <= 5) { Blynk.notify("Please!! empty the dustbin"); } Serial.println("2 ultrasonic Centimeter:"); Serial.println(distance2); Blynk.virtualWrite(V6, distance2); ThingSpeak.writeField(myChannelField, ChannelField, distance2, myWriteAPIKey); delay(100); Blynk.run(); timer.run(); }