Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Distributeur automatique inversé (RVM)

Composants et fournitures

Arduino Mega 2560
× 1
Panneau de déploiement NodeMCU ESP8266
× 1
Capteur de proximité inductif, 15 mm
× 2
Capteur de proximité capacitif, 12 mm
× 1
Micro-servomoteur SG90
× 2
LCD alphanumérique, 16 x 2
× 1
Capteur à ultrasons - HC-SR04 (Générique)
× 2
Module GPS (Générique)
× 1
Buzzer, Piezo
× 1
Potentiomètre à un tour - 100k ohms
× 1
Actionneur de commutation, tête pour bouton-poussoir à ressort de rappel
× 1
LED 5 mm :Rouge
× 2
Câbles de raccordement (générique)
× 1
Batterie, 12 V
× 1
Batterie 9V (générique)
× 1
Planche à pain (générique)
× 2

Outils et machines nécessaires

Fer à souder (générique)
Multimètre numérique Digilent Mastech MS8217 Autorange
Dénudeur et coupe-fil, 18-10 AWG / 0.75-4mm² Fils de capacité

Applications et services en ligne

Arduino IDE
Blynk
API ThingSpeak

À propos de ce projet

MOTIVATION :

Où finissent les bouteilles d'eau en plastique ?

Dans les décharges, flottant sur les océans ou les rivières et sur les trottoirs. Il a été estimé que 46 000 déchets en plastique flottent sur l'océan par mile carré. Ce plastique tue des animaux, laisse échapper des produits chimiques et perturbe les écosystèmes. Chaque bouteille peut mettre jusqu'à mille ans à se décomposer, laissant échapper des produits chimiques dangereux et nocifs au cours du processus. Certaines toxines divulguées pourraient provoquer des cancers et des troubles de la reproduction. La combustion du plastique génère des émissions toxiques telles que du monoxyde de carbone, du chlore, de l'acide chlorhydrique, des fourrures et des nitrites. Malheureusement, l'argument du recyclage ne peut que très peu pour son cas puisque seulement 12% des trente-cinq milliards de bouteilles utilisées en un an sont recyclés, ce qui indique que seulement la moitié de ce que vous placez dans une corbeille est réellement recyclé.

IDÉE :

Une machine intelligente pour l'élimination des déchets plastiques et métalliques est un système qui accepte les déchets plastiques (bouteilles) et les canettes métalliques pour le recyclage et distribue en retour des pintes dans le portefeuille à l'opérateur qui recycle les déchets. Le distributeur automatique inversé est équipé d'un capteur de proximité pour distinguer les différents types de bouteilles et les points sont gagnés lorsque l'utilisateur entre le code dans le site Web. Cette invention concerne en général la gestion des déchets et le recyclage des déchets plastiques et métalliques (bouteilles) dans l'environnement. La présence de déchets plastiques dans l'environnement et la moindre volonté de recycler le plastique posent un problème permanent à l'environnement et à tous les êtres vivants.

TRAVAIL :

Un distributeur automatique inversé est un appareil qui accepte les contenants de boissons usagés et restitue de l'argent à l'utilisateur (l'inverse du cycle de vente typique). Les machines sont populaires dans les endroits qui ont des lois de recyclage obligatoires ou une législation sur le dépôt des conteneurs.

Les opérations de base impliquent des étapes où le recycleur place la bouteille/canette vide dans l'ouverture de réception ; le système d'alimentation horizontale permet à l'utilisateur d'insérer les conteneurs un à la fois. La bouteille/canette est ensuite balayée automatiquement à l'aide de capteurs de proximité capacitifs et inductifs. Si la valeur du capteur du capteur inductif est 1, alors l'objet est en plastique et si la valeur du capteur du capteur inductif est 0 et la valeur du capteur capacitif est 1, alors l'objet est en plastique.

Quant au système de récompense, RVM distribue des jetons de valeur, comme des pièces de monnaie ou des coupons, lorsque les contenants de boissons sont recyclés. Les coupons sont ensuite utilisés pour échanger des cadeaux au comptoir. Cependant, la prise de conscience des enjeux environnementaux et l'objectif de réduire la consommation de papier, l'impression de coupons n'est pas très favorisée. Ainsi, dans notre système proposé, lorsque le plastique est détecté, un code crypté apparaît sur l'écran LCD. Ensuite, l'utilisateur doit scanner le code OR présent sur la machine pour accéder au site Web pour échanger ses points en entrant le code qu'il a obtenu sur l'écran LCD.

Il existe une base de données pour l'utilisateur qui a un compte sur le site Web du distributeur automatique de plastique inversé. Il est obligatoire d'avoir un compte pour se connecter au site Web pour échanger les points contre l'élimination du plastique.

La machine a une fonctionnalité supplémentaire, si la machine est pleine, alors les récupérateurs de déchets ou les vendeurs de recyclage sont notifiés à l'aide d'une application. Le niveau de la machine est surveillé à l'aide d'un capteur à ultrasons et de NodeMCU lorsque la machine est pleine, les collecteurs sont informés et l'emplacement exact de la machine est envoyé à l'aide du système de positionnement global.

Code

  • Séparation des déchets
  • Surveillance du niveau des poubelles
Ségrégation des déchetsC/C++
#include //#include "Arduino.h"//#include "Button.h"#include LiquidCrystal lcd(1,2,4,5,6,7);const int knapp =3;int ButtonState =0; // état actuel du buttonint 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(); monservo.attach(9) ; monservo_M.attach(8) ; pinMode(plasticsensor, INPUT_PULLUP); pinMode (capteur de métaux, INPUT_PULLUP); pinMode(metalsensor_M, INPUT_PULLUP); pinMode(ledPin1, SORTIE); pinMode(ledPin2, SORTIE); pinMode(buzz1, SORTIE); pinMode(buzz2, SORTIE); Serial.begin(9600);} void loop() { lcd.setCursor(0,0); lcd.print("INSÉRER LE MÉTAL SUR"); lcd.setCursor(0,1) ; lcd.print(" CTÉ DROIT "); retard (6000); lcd.clear(); int sensor_read=digitalRead(plasticsensor); Serial.println("capteur plastique"); Serial.println(sensor_read); //délai (10) ; int sensor_read_m=digitalRead(metalsensor); //Bac en plastique Serial.println("metal sensor1"); Serial.println(sensor_read_m); //délai (10) ; int sensor_read_mm=digitalRead(metalsensor_M); Serial.println(sensor_read_mm); //délai (10) ; if((sensor_read==1)&&(sensor_read_m!=1)){ for (pos =90; pos <=240; pos +=1) { // passe de 0 degré à 180 degrés // par pas de 1 degré monservo.write(pos); // dit au servo d'aller à la position dans la variable 'pos' //delay(5); digitalWrite(ledPin1, HAUT); digitalWrite(buzz1, HAUT); // attend 15ms que le servo atteigne la position } //delay(5000); for (pos =240; pos>=90; pos -=1) { // passe de 0 degré à 180 degrés // par pas de 1 degré myservo.write(pos); //délai(5) ; } } else { // passe de 180 degrés à 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) { // passe de 0 degré à 180 degrés // par pas de 1 degré myservo_M.write(pos_M); //délai(5) ; digitalWrite (ledPin2, HAUT); digitalWrite(buzz2, HAUT); } // indique au servo de se positionner dans la variable 'pos' // delay(5000); for (pos_M =50; pos_M <=360; pos_M +=1) { // passe de 180 degrés à 0 degrés myservo_M.write(pos_M); // dit au servo d'aller à la position dans la variable 'pos' //delay(5);// attend 15ms que le servo atteigne la position } } else{ myservo_M.write(pos_M); digitalWrite(ledPin2, LOW); digitalWrite(buzz2, LOW); } } 
Surveillance du niveau des poubellesC/C++
#include "ThingSpeak.h"#include #include #include #include #define BLYNK_PRINT Serial #define TRIGGER2 5#define ECHO2 4WiFiClient client; statique const int RXPin =4, TXPin =5; // GPIO 4=D2(connecter Tx du GPS) et GPIO 5=D1(Connecter Rx du GPSstatic const uint32_t GPSBaud =9600 ;//si le débit en bauds 9600 ne fonctionnait pas dans votre cas, utilisez alors 4800unsigned long myChannelField =1067056 ; / / Channel IDconst int ChannelField =1; // Quel canal pour écrire dataconst char * myWriteAPIKey ="FMV95MD2A1J7Y8SP"; // Votre écriture ATinyGPSPlus gps; // Le TinyGPS++ objectWidgetMap myMap(V0); // V0 pour la broche virtuelle de Map WidgetSoftwareSerial ss (RXPin, TXPin); // La connexion série à l'appareil GPSBlynkTimer timer;// Vous devriez obtenir Auth Token dans l'application Blynk.char auth[] ="YVvgHBx9fIM1-yR_2XrGXXkKdIuEmrYL";// Vos identifiants WiFi.// Définir le mot de passe à "" pour les réseaux ouverts.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); ChoseParle. begin(client);}/*void checkGPS(){ if (gps.charsProcessed() <10) { Serial.println(F("Aucun GPS détecté :vérifiez le câblage.")); }}*/void loop() { if (WiFi.status() !=WL_CONNECTED) { Serial.print("Tentative de connexion au SSID :"); Serial.println(ssid); while (WiFi.status() !=WL_CONNECTED) { WiFi.begin(ssid, pass); Serial.print("."); retard (100); } Serial.println("\nConnecté."); } while (ss.available()> 0) { // sketch affiche des informations à chaque fois qu'une nouvelle phrase est correctement encodée. if (gps.encode(ss.read())) Serial.println("GPS Connecté");//displayInfo(); { if (gps.location.isValid() ) { float latitude =(gps.location.lat()); //Stockage de la latitude. et Lon. longitude flottante =(gps.location.lng()); Serial.print("LAT:"); Serial.println(latitude, 6); // flottant jusqu'à x décimales 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"); } } } //longue durée1, distance1; longue durée2, distance2; digitalWrite(TRIGGER2, LOW); délaiMicrosecondes(2) ; digitalWrite(TRIGGER2, HIGH); délaiMicrosecondes(10) ; digitalWrite(TRIGGER2, LOW); durée2 =pulseIn(ECHO2, HIGH); distance2 =(durée2/2) / 29,1 ; if (distance2 <=5) { Blynk.notify("Veuillez !! vider la poubelle");} Serial.println("2 ultrasonic Centimeter:"); Serial.println(distance2); Blynk.virtualWrite(V6, distance2) ; ThingSpeak.writeField(myChannelField, ChannelField, distance2, myWriteAPIKey); retard (100); Blynk.run(); timer.run();} 

Schémas


Processus de fabrication

  1. Machine à coudre
  2. Comment fonctionne un distributeur automatique de frites ?
  3. Qu'est-ce qu'un distributeur automatique de lait ?
  4. Comment un distributeur automatique de chips peut-il fournir des chips chaudes et fraîches ?
  5. Qu'est-ce qu'un distributeur automatique de nouilles ?
  6. Qu'est-ce qu'un distributeur automatique de soupe au thé et au café ?
  7. Prenez un repas sain avec le distributeur automatique de préparation de repas !
  8. À quoi s'attendre d'un distributeur automatique de boissons gazeuses ?
  9. Distributeur automatique de popsicle :le potentiel commercial