Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Omgekeerde Inleverautomaat (RVM): DIY Slim Recyclingsysteem Kit

Onderdelen en Benodigdheden

OnderdeelAantal
Arduino Mega 25601
NodeMCU ESP8266 Breakout Board1
Inductieve Naderingssensor, 15 mm2
Capacitieve Naderingssensor, 12 mm1
SG90 Micro-servo motor2
Alfanumeriek LCD, 16 x 21
Ultrasonische Sensor - HC-SR04 (Generiek)2
GPS Module (Generiek)1
Piezo Buzzer1
Enkelvoudige Potentiometer - 100k ohm1
Schakelaar Actuator, Kop voor veerterugdrukknop1
5 mm LED: Rood2
Draadjes (generiek)1
Batterij, 12 V1
9V batterij (generiek)1
Breadboard (generiek)2

Nodige Tools en Machines

  • Soldeerbout (generiek)
  • Digilent Mastech MS8217 Autorange Digitale Multimeter
  • Draadstripper & Knipper, 18-10 AWG / 0.75-4mm²

Apps en Online Services

  • Arduino IDE
  • Blynk
  • ThingSpeak API

Over dit Project

Motivatie

Waar eindigen plastic waterflessen?

Op stortplaatsen, drijvend in oceanen, rivieren en op trottoirs. Geschat drijven 46.000 stukken plastic afval per vierkante mijl in de oceaan. Dit plastic diertjes, lekt chemicaliën en verstoort ecosystemen. Elke fles kan tot duizend jaar nodig hebben om te decomponeren, wobei gevaarlijke chemicaliën vrijkomen. Sommige toxines kunnen kanker en reproductieve stoornissen veroorzaken. Verbranden van plastic produceert giftige emissies zoals koolmonoxide, chloor, chloorwaterstofzuur, furanen en nitrieten. Helaas doet recycling maar weinig: slechts 12% van de 35 miljard flessen die jaarlijks gebruikt worden, wordt gerecycled. Alleen de helft van wat je in de recyclebak doet, wordt daadwerkelijk verwerkt.

Idee

Een slimme machine voor plastic- en metaalafval is een systeem dat plastic flessen en metalen blikjes accepteert voor recycling en daarvoor punten in de portemonnee van de gebruiker uitgeeft. De omgekeerde inleverautomaat is uitgerust met naderingssensoren om tussen verschillende soorten flessen te onderscheiden; punten worden verdiend wanneer de gebruiker de code op de website invoert. Deze uitvinding betreft afvalbeheer en recycling van plastic en metaal in de omgeving. De afvalproblematik en de lage bereidheid tot recycling vormen een voortdurend probleem voor het milieu en alle levende wezens.

Omgekeerde Inleverautomaat (RVM): DIY Slim Recyclingsysteem Kit

Werking

Een Reverse Vending Machine accepteert lege drankverpakkingen en geeft geld terug aan de gebruiker (het omgekeerde van een gewone automaat). De machines zijn populair in gebieden met verplichte recyclingwetten of statiegeldwetgeving.

De basiswerkzaamheden: de gebruiker plaatst de lege fles/blik in de invoeropening; het horizontale inlaatsysteem laat toe om verpakkingen één voor één in te voeren. De fles/blik wordt automatisch gescand met behulp van capacitieve en inductieve naderingssensoren. Als de inductieve sensorwaarde 1 is, is het object plastic; als de inductieve sensor 0 is en de capacitieve sensor 1, is het ook plastic.

Voor het beloningssysteem: de RVM geeft waardevolle tokens (munten of coupons) uit bij recycling. Coupons kunnen ingewisseld worden voor cadeaus. Omwille van milieubewustzijn en papierreductie is het printen van coupons niet gewenst. In ons systeem verschijnt een gecodeerde code op het LCD-scherm wanneer plastic gedetecteerd wordt. De gebruiker scant de QR-code op de machine om naar de website te navigeren en zijn punten in te lossen door de code van het LCD in te voeren.

Omgekeerde Inleverautomaat (RVM): DIY Slim Recyclingsysteem Kit

Er is een database voor gebruikers met een account op de website. Inloggen is verplicht om punten in te lossen.

Extra functie: als de machine vol is, worden vuilnisverzamelaars of recycleurs genotificeerd via een applicatie. De vullingsgraad wordt gemonitord met een ultrasonische sensor en NodeMCU; bij volheid worden verzamelaars gewaarschuwd en de exacte locatie via GPS doorgestuurd.

Omgekeerde Inleverautomaat (RVM): DIY Slim Recyclingsysteem Kit
Omgekeerde Inleverautomaat (RVM): DIY Slim Recyclingsysteem Kit

Code

Afvalscheiding

#include <LiquidCrystal.h>
#include <Servo.h>
LiquidCrystal lcd(1,2,4,5,6,7);
const int knapp = 3;
int ButtonState = 0;
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("VOEG METAAL IN");
  lcd.setCursor(0,1);
  lcd.print(" RECHTERKANT ");
  delay(6000);
  lcd.clear();
  int sensor_read = digitalRead(plasticsensor);
  Serial.println("plastic sensor");
  Serial.println(sensor_read);
  int sensor_read_m = digitalRead(metalsensor);
  Serial.println("metaal sensor1");
  Serial.println(sensor_read_m);
  int sensor_read_mm = digitalRead(metalsensor_M);
  Serial.println(sensor_read_mm);

  if((sensor_read==1) && (sensor_read_m!=1)){
    for (pos = 90; pos <= 240; pos += 1) {
      myservo.write(pos);
      digitalWrite(ledPin1, HIGH);
      digitalWrite(buzz1, HIGH);
    }
    for (pos = 240; pos >= 90; pos -= 1) {
      myservo.write(pos);
    }
  } else {
    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) {
      myservo_M.write(pos_M);
      digitalWrite(ledPin2, HIGH);
      digitalWrite(buzz2, HIGH);
    }
    for (pos_M = 50; pos_M <= 360; pos_M += 1) {
      myservo_M.write(pos_M);
    }
  } else {
    myservo_M.write(pos_M);
    digitalWrite(ledPin2, LOW);
    digitalWrite(buzz2, LOW);
  }
}

Vuilnisbak Niveaumonitoring

#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;
static const uint32_t GPSBaud = 9600;
unsigned long myChannelField = 1067056;
const int ChannelField = 1;
const char * myWriteAPIKey = "FMV95MD2A1J7Y8SP";
TinyGPSPlus gps;
WidgetMap myMap(V0);
SoftwareSerial ss(RXPin, TXPin);
BlynkTimer timer;
char auth[] = "YVvgHBx9fIM1-yR_2XrGXXkKdIuEmrYL";
char ssid[] = "diksha";
char pass[] = "diksha19";
unsigned int move_index = 1;

void setup() {
  Serial.begin(115200);
  ss.begin(GPSBaud);
  Blynk.begin(auth, ssid, pass);
  pinMode(TRIGGER2, OUTPUT);
  pinMode(ECHO2, INPUT);
  pinMode(BUILTIN_LED, OUTPUT);
  WiFi.mode(WIFI_STA);
  ThingSpeak.begin(client);
}

void loop() {
  if (WiFi.status() != WL_CONNECTED) {
    Serial.print("Verbinden met SSID: ");
    Serial.println(ssid);
    while (WiFi.status() != WL_CONNECTED) {
      WiFi.begin(ssid, pass);
      Serial.print(".");
      delay(100);
    }
    Serial.println("\nVerbonden.");
  }
  while (ss.available() > 0) {
    if (gps.encode(ss.read())) {
      Serial.println("GPS Verbonden");
      if (gps.location.isValid()) {
        float latitude = gps.location.lat();
        float longitude = gps.location.lng();
        Serial.print("LAT: ");
        Serial.println(latitude, 6);
        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 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("Leeg de vuilnisbak alstublieft!!");
  }
  Serial.println("2 ultrasonic Centimeter:");
  Serial.println(distance2);
  Blynk.virtualWrite(V6, distance2);
  ThingSpeak.writeField(myChannelField, ChannelField, distance2, myWriteAPIKey);
  delay(100);
  Blynk.run();
  timer.run();
}

Schema

Omgekeerde Inleverautomaat (RVM): DIY Slim Recyclingsysteem Kit

Productieproces

  1. De Evolutie en Productie van Naaimachines: Van 19e-Eeuwse Innovatie tot Moderne Automatisering
  2. Een Slimme Auto-vergrendelende Deur Bouwen met uw Smartphone's Bluetooth-bijnaheid
  3. Een Raspberry Pi thuistemperatuurmonitor bouwen met MCP9808, InfluxDB & Grafana
  4. Hoe frietautomaten werken: Een blik achter de schermen
  5. Verse melkautomaten ontdekken: Gemakkelijk, betaalbaar en ecologisch
  6. Hoe Chips Automaat Vers, Warme Frietjes op Verzoek Levert
  7. Ontdek Noedelautomaten: Hoe Ze Werken & Wat Je Kunt Krijgen
  8. Innovatieve Thee, Koffie & Soep Automaat: Complete Gids
  9. Geniet Vers, Gezond Voedsel Altijd met Onze Meal Prep Automaat
  10. Alles wat je moet weten over frisdrankautomaten
  11. Winst Ontgrendelen: Het Zakelijke Potentieel van IJsjes Automatjes