Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Máquina de Venda Inversa (RVM)

Componentes e suprimentos

Arduino Mega 2560
× 1
NodeMCU ESP8266 Breakout Board
× 1
Sensor de proximidade indutivo, 15 mm
× 2
Sensor de proximidade capacitivo, 12 mm
× 1
Micro servo motor SG90
× 2
LCD alfanumérico, 16 x 2
× 1
Sensor ultrassônico - HC-SR04 (genérico)
× 2
Módulo GPS (genérico)
× 1
Buzzer, Piezo
× 1
Potenciômetro de volta única - 100k ohms
× 1
Atuador de interruptor, cabeçote para botão de retorno por mola
× 1
LED de 5 mm:Vermelho
× 2
Fios de jumpers (genérico)
× 1
Bateria, 12 V
× 1
Bateria de 9 V (genérica)
× 1
Breadboard (genérico)
× 2

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)
Multímetro digital Digilent Mastech MS8217 Autorange
Decapador e cortador de fio, 18-10 AWG / 0,75-4 mm² Fios de capacidade

Aplicativos e serviços online

Arduino IDE
Blynk
API ThingSpeak

Sobre este projeto





MOTIVAÇÃO:


Onde as garrafas de água de plástico vão parar?

Em aterros, flutuando nos oceanos ou rios e nas calçadas. Foi estimado que 46.000 pedaços de lixo plástico estão flutuando no oceano por quilômetro quadrado. Este plástico está matando animais, vazando produtos químicos e perturbando ecossistemas. Cada garrafa pode levar até mil anos para se decompor, vazando produtos químicos perigosos e nocivos durante o processo. Algumas toxinas vazadas podem causar câncer e deficiências reprodutivas. A queima de plástico gera emissões tóxicas como monóxido de carbono, cloro, ácido clorídrico, fur-ans e nitritos. Infelizmente, o argumento da reciclagem pouco pode fazer pelo seu caso, já que apenas 12% das trinta e cinco bilhões de garrafas usadas em um ano são recicladas, indicando que apenas metade do que você coloca em uma lixeira é realmente reciclado.





IDEIA:


Uma máquina inteligente para descarte de resíduos plásticos e metálicos é um sistema que aceita resíduos plásticos (garrafas) e latas de metal para reciclagem e em troca distribui litros na carteira para a operadora que recicla os resíduos. A máquina de venda automática reversa é equipada com sensor de proximidade para distinguir entre diferentes tipos de garrafas e os pontos são ganhos quando o usuário insere o código no site. Esta invenção se refere, em geral, à gestão de resíduos e à reciclagem de resíduos de plástico e metal (garrafas) em o ambiente. O despejo de resíduos plásticos no meio ambiente e a menor disposição para reciclar o plástico representam um problema contínuo para o meio ambiente e para todos os seres vivos.





TRABALHANDO:


Uma máquina de venda automática reversa é um dispositivo que aceita recipientes de bebidas usados ​​e devolve o dinheiro ao usuário (o reverso do ciclo de venda automática típico). As máquinas são populares em locais que possuem leis de reciclagem obrigatórias ou legislação de depósito de contêineres.

As operações básicas envolvem etapas em que o reciclador coloca a garrafa / lata vazia na abertura de recebimento; o sistema de alimentação horizontal permite que o usuário insira os recipientes um de cada vez. A garrafa / lata é então digitalizada automaticamente com a ajuda de sensores de proximidade capacitivos e indutivos. Se o valor do sensor do sensor indutivo for 1, então o objeto é plástico e se o valor do sensor do sensor indutivo for 0 e o valor do sensor capacitivo for 1, então o objeto é plástico.

Quanto ao sistema de recompensa, o RVM distribui tokens valiosos, como moedas ou cupons, quando os recipientes de bebidas são reciclados. Os cupons são então usados ​​para resgatar presentes no balcão. Porém, devido à consciência das questões ambientais e ao objetivo de reduzir o uso de papel, a impressão de cupons não é muito favorecida. Assim, em nosso sistema proposto, conforme o plástico é detectado, um código criptografado aparece na tela LCD. Em seguida, o usuário deve escanear o código OR presente na máquina para navegar até o site e resgatar seus pontos digitando o código que obteve na tela LCD.

Existe um banco de dados para o usuário que possui uma conta no site da máquina de venda automática de plástico reverso. É obrigatório ter uma conta para fazer o login no site para resgatar os pontos pelo descarte de plástico.

A máquina possui mais uma característica, caso a máquina esteja cheia então os coletores de lixo ou recicladores e avisados ​​com a ajuda de um aplicativo. O nível da máquina é monitorado usando sensor ultrassônico e NodeMCU quando a máquina está cheia, os coletores são informados e a localização exata da máquina é enviada com a ajuda do sistema de posicionamento global.








Código

  • Segregação de resíduos
  • Monitoramento do nível do caixote do lixo
Segregação de resíduos C / C ++
 #include  // # include "Arduino.h" // # include "Button.h" #include  LiquidCrystal lcd (1,2,4,5,6,7); const int knapp =3; int ButtonState =0; // estado atual do buttonint oldButtonState =0; const int ledPin1 =10; const int ledPin2 =11; const int buzz1 =12; const int buzz2 =13; const int plasticsensor =A0; int metalensor =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 (metaisensor, INPUT_PULLUP); pinMode (metaisensor_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 ("INSERIR METAL LIGADO"); lcd.setCursor (0,1); lcd.print ("LADO DIREITO"); atraso (6000); lcd.clear (); int sensor_read =digitalRead (sensor de plástico); Serial.println ("sensor de plástico"); Serial.println (sensor_read); // atraso (10); int sensor_read_m =digitalRead (metaisensor); // Caixa de plástico Serial.println ("metal sensor1"); Serial.println (sensor_read_m); // atraso (10); int sensor_read_mm =digitalRead (metaisensor_M); Serial.println (sensor_read_mm); // atraso (10); if ((sensor_read ==1) &&(sensor_read_m! =1)) {for (pos =90; pos <=240; pos + =1) {// vai de 0 graus a 180 graus // em etapas de 1 grau myservo.write (pos); // diz ao servo para ir para a posição na variável 'pos' // delay (5); digitalWrite (ledPin1, HIGH); digitalWrite (buzz1, HIGH); // espera 15ms para o servo atingir a posição} // delay (5000); for (pos =240; pos> =90; pos - =1) {// vai de 0 graus a 180 graus // em etapas de 1 grau myservo.write (pos); // atraso (5); }} else {// vai de 180 graus a 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) {// vai de 0 graus a 180 graus // em etapas de 1 grau myservo_M.write (pos_M); // atraso (5); digitalWrite (ledPin2, HIGH); digitalWrite (buzz2, HIGH); } // diz ao servo para ir para a posição na variável 'pos' // delay (5000); for (pos_M =50; pos_M <=360; pos_M + =1) {// vai de 180 graus a 0 graus myservo_M.write (pos_M); // diz ao servo para ir para a posição na variável 'pos' // delay (5); // espera 15ms para o servo alcançar a posição}} else {myservo_M.write (pos_M); digitalWrite (ledPin2, LOW); digitalWrite (buzz2, LOW); }} 
Monitoramento do nível do caixote do lixo C / C ++
 #include "ThingSpeak.h" #include  #include  #include  #include  #define BLYNK_PRINT #define BLYNK_PRINT Serial #define TRIGGHO2 5 definir ECCLE2 cliente; const estático int RXPin =4, TXPin =5; // GPIO 4 =D2 (conectar Tx de GPS) e GPIO 5 =D1 (Conectar Rx de GPSstatic const uint32_t GPSBaud =9600; // se a taxa Baud 9600 não funcionou no seu caso, use 4800unsigned long myChannelField =1067056; / / Channel IDconst int ChannelField =1; // Qual canal gravar dataconst char * myWriteAPIKey ="FMV95MD2A1J7Y8SP"; // Sua gravação ATinyGPSPlus gps; // O TinyGPS ++ objectWidgetMap myMap (V0); // V0 para pino virtual do MapSoftwareSerial ss (RXPin, TXPin); // A conexão serial com o temporizador GPS deviceBlynkTimer; // Você deve obter o Auth Token no Blynk App.char auth [] ="YVvgHBx9fIM1-yR_2XrGXXkKdIuEmrYL"; // Suas credenciais WiFis.// Definir senha para "" para abrir 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 ("Nenhum GPS detectado:verifique a fiação.")); }} * / void loop () {if (WiFi.status ()! =WL_CONNECTED) {Serial.print ("Tentando conectar ao SSID:"); Serial.println (ssid); while (WiFi.status ()! =WL_CONNECTED) {WiFi.begin (ssid, pass); Serial.print ("."); atraso (100); } Serial.println ("\ nConectado."); } while (ss.available ()> 0) {// sketch exibe informações sempre que uma nova frase é codificada corretamente. if (gps.encode (ss.read ())) Serial.println ("GPS conectado"); // displayInfo (); {if (gps.location.isValid ()) {float latitude =(gps.location.lat ()); // Armazenando o Lat. e Lon. longitude flutuante =(gps.location.lng ()); Serial.print ("LAT:"); Serial.println (latitude, 6); // flutua para x casas decimais 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"); }}} // longa duração1, distância1; longa duração2, distância2; digitalWrite (TRIGGER2, LOW); atrasoMicrosegundos (2); digitalWrite (TRIGGER2, HIGH); atrasoMicrosegundos (10); digitalWrite (TRIGGER2, LOW); duração2 =pulseIn (ECHO2, ALTO); distância2 =(duração2 / 2) / 29,1; if (distance2 <=5) {Blynk.notify ("Por favor !! esvazie a lixeira");} Serial.println ("2 Centímetros ultrassônicos:"); Serial.println (distância2); Blynk.virtualWrite (V6, distância2); ThingSpeak.writeField (myChannelField, ChannelField, distance2, myWriteAPIKey); atraso (100); Blynk.run (); timer.run ();} 

Esquemas


Processo de manufatura

  1. Máquina de Costura
  2. Faça uma porta de escritório com travamento automático com sensor de proximidade para smartphone
  3. Como funciona uma máquina de venda automática de batatas fritas?
  4. O que é uma máquina de venda automática de leite?
  5. Como uma máquina de venda automática de chips pode fornecer chips quentes e frescos?
  6. O que é uma máquina de venda automática de macarrão?
  7. O que é uma máquina de venda automática de sopa de chá e café?
  8. Tenha uma refeição saudável com a máquina de venda automática de preparação de refeições!
  9. O que esperar de uma máquina de venda automática de refrigerantes?
  10. Máquina de venda automática de picolés:o potencial de negócios