亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

反向自动售货机 (RVM)

组件和用品

Arduino Mega 2560
× 1
NodeMCU ESP8266 分线板
× 1
电感式接近传感器,15 毫米
× 2
电容式接近传感器,12 毫米
× 1
SG90 微伺服电机
× 2
字母数字 LCD,16 x 2
× 1
超声波传感器 - HC-SR04(通用)
× 2
GPS 模块(通用)
× 1
蜂鸣器、压电式
× 1
单圈电位器 - 100k ohms
× 1
开关执行器,弹簧复位按钮头
× 1
5 毫米 LED:红色
× 2
跳线(通用)
× 1
电池,12 V
× 1
9V 电池(通用)
× 1
面包板(通用)
× 2

必要的工具和机器

烙铁(通用)
Digilent Mastech MS8217 自动量程数字万用表
剥线钳和切割机,18-10 AWG / 0.75-4mm²容量线

应用和在线服务

Arduino IDE
Blynk
ThingSpeak API

关于这个项目

动机:

塑料水瓶的归宿是什么?

在垃圾填埋场,漂浮在海洋或河流和人行道上。据估计,每平方英里有 46,000 件塑料垃圾漂浮在海洋上。这种塑料正在杀死动物、泄漏化学物质并破坏生态系统。每个瓶子可能需要长达一千年的时间才能分解,在此过程中会泄漏危险和有害的化学物质。一些泄漏的毒素可能导致癌症和生殖障碍。燃烧塑料会产生有毒排放物,例如一氧化碳、氯、盐酸、呋喃和亚硝酸盐。不幸的是,回收的论点对其案例的作用很小,因为在一年使用 din 的 350 亿瓶中,只有 12% 被回收,这表明您放入回收站的物品实际上只有一半被回收。

想法:

用于塑料和金属废物处理的智能机器是一种系统,它接受塑料废物(瓶)和金属罐进行回收,然后将钱包中的品脱分配给回收废物的操作员。反向自动售货机配备接近传感器以区分不同种类的瓶子,用户在网站上输入代码即可获得积分。本发明一般涉及废物管理和回收塑料和金属废物(瓶)。环境。环境中塑料废物的乱扔和回收塑料的意愿降低给环境和所有生物带来了持续的问题。

工作:

反向自动售货机是一种接受用过的饮料容器并将钱返还给用户的设备(与典型的自动售货周期相反)。这些机器在有强制回收法或容器押金法的地方很受欢迎。

基本操作包括回收商将空瓶/罐放入接收孔的步骤;水平进料系统允许用户一次插入一个容器。然后在电容式和电感式接近传感器的帮助下自动扫描瓶子/罐。如果电感式传感器的传感器值为1,则物体为塑料;如果电感式传感器的传感器值为0,电容式传感器值为1,则物体为塑料。

至于奖励系统,当饮料容器被回收时,RVM 会分发有价值的代币,如硬币或优惠券。然后使用优惠券在柜台兑换礼物。然而,出于对环境问题的认识和减少纸张使用的目的,优惠券的印刷并没有受到高度青睐。因此,在我们建议的系统中,当检测到塑料时,LCD 屏幕上会出现一个加密代码。然后,用户必须扫描机器上的 OR 代码才能导航到网站,通过输入他在 LCD 屏幕上获得的代码来兑换积分。

在反向塑料自动售货机的网站上有一个数据库,供拥有帐户的用户使用。必须有账号登录网站才能兑换处理塑料的积分。

该机器还有一个功能,如果机器已满,垃圾收集器或回收供应商会在应用程序的帮助下通知。通过超声波传感器和NodeMCU监测机器的水平,当机器装满时通知收集器并通过全球定位系统的帮助发送机器的确切位置。

代码

  • 垃圾分类
  • 垃圾桶液位监控
垃圾分类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; // 按钮的当前状态int oldButtonState =0;const int ledPin1 =10; const int ledPin2 =11; const int buzz1 =12; const int buzz2 =13; const int塑料传感器=A0;int metalsensor=A1;int metalsensor_M=A2;伺服myservo;伺服myservo_M;int pos =90;int pos_M =360;void setup(){pinMode(knapp,输入);数字写入(knapp,低); lcd.begin(16,2);lcd.clear(); myservo.attach(9); myservo_M.attach(8); pinMode(塑料传感器,INPUT_PULLUP); pinMode(金属传感器,INPUT_PULLUP); pinMode(金属传感器_M,INPUT_PULLUP); pinMode(ledPin1,输出); pinMode(ledPin2,输出); pinMode(嗡嗡声1,输出); pinMode(嗡嗡声2,输出); Serial.begin(9600);} void loop() { lcd.setCursor(0,0); lcd.print("插入金属"); lcd.setCursor(0,1); lcd.print("右侧");延迟(6000);液晶显示器(); int sensor_read=digitalRead(塑料传感器); Serial.println("塑料传感器"); Serial.println(sensor_read); //延迟(10); int sensor_read_m=digitalRead(金属传感器); //塑料箱Serial.println("金属传感器1"); Serial.println(sensor_read_m); //延迟(10); int sensor_read_mm=digitalRead(metalsensor_M); Serial.println(sensor_read_mm); //延迟(10); if((sensor_read==1)&&(sensor_read_m!=1)){ for (pos =90; pos <=240; pos +=1) { // 从 0 度到 180 度 // 以 1 度为步长myservo.write(pos); // 告诉伺服器转到变量 'pos' 中的位置 //delay(5);数字写入(ledPin1,高);数字写入(嗡嗡声1,高); // 等待 15 毫秒让舵机到达位置 } //delay(5000); for (pos =240; pos>=90; pos -=1) { // 从 0 度到 180 度 // 以 1 度为单位 myservo.write(pos); //延迟(5); } } else { // 从 180 度变为 0 度 myservo.write(pos);数字写入(ledPin1,低);数字写入(嗡嗡声1,低); } if((sensor_read_mm==1)&&(sensor_read==0)){ for (pos_M =360; pos_M>=50; pos_M -=1) { // 从 0 度到 180 度 // 以 1 为步长学位 myservo_M.write(pos_M); //延迟(5);数字写入(ledPin2,高);数字写入(嗡嗡声2,高); } // 告诉伺服器转到变量 'pos' 中的位置 // delay(5000); for (pos_M =50; pos_M <=360; pos_M +=1) { // 从 180 度变为 0 度 myservo_M.write(pos_M); // 告诉舵机去变量 'pos' 中的位置 //delay(5);// 等待 15 毫秒让舵机到达位置 } } else{ myservo_M.write(pos_M);数字写入(ledPin2,低);数字写入(嗡嗡声2,低); } } 
垃圾箱液位监控C/C++
#include "ThingSpeak.h"#include #include #include #include #define BLYNK_PRINT Serial #define TRIGGER2 5#define ECHO2 4WiFiClient客户端;静态常量 int RXPin =4,TXPin =5; // GPIO 4=D2(connect Tx of GPS) and GPIO 5=D1(Connect Rx of GPSstatic const uint32_t GPSBaud =9600;//如果波特率9600在你的情况下不起作用,那么使用4800unsigned long myChannelField =1067056;/ / Channel IDconst int ChannelField =1; // 写入哪个通道 dataconst char * myWriteAPIKey ="FMV95MD2A1J7Y8SP"; // 你写的 ATinyGPSPlus gps; // The TinyGPS++ objectWidgetMap myMap(V0); // V0 为 Map WidgetSoftwareSerial ss 的虚拟引脚(RXPin, TXPin); // 与 GPS 设备的串行连接BlynkTimer timer;// 你应该在 Blynk App.char auth[] ="YVvvgHBx9fIM1-yR_2XrGXXkKdIuEmrYL";// 你的 WiFi 凭据中获得 Auth Token。// 设置密码到“”开放网络。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);物说。 begin(client);}/*void checkGPS(){ if (gps.charsProcessed() <10) { Serial.println(F("未检测到 GPS:检查接线。")); }}*/void loop() { if (WiFi.status() !=WL_CONNECTED) { Serial.print("尝试连接到 SSID:"); Serial.println(ssid);而 (WiFi.status() !=WL_CONNECTED) { WiFi.begin(ssid, pass); Serial.print(".");延迟(100); } Serial.println("\n已连接。"); } while (ss.available()> 0) { // 每次正确编码新句子时,草图都会显示信息。 if (gps.encode(ss.read())) Serial.println("GPS 连接");//displayInfo(); { if (gps.location.isValid()) { float latitude =(gps.location.lat()); //存储纬度。和朗。浮动经度 =(gps.location.lng()); Serial.print("纬度:"); Serial.println(纬度, 6); // 浮动到 x 位小数 Serial.print("LONG:"); Serial.println(经度,6); ThingSpeak.setField(3, 纬度); ThingSpeak.setField(4, 经度); ThingSpeak.writeFields(myChannelField, myWriteAPIKey); Blynk.virtualWrite(V1, String(latitude, 6)); Blynk.virtualWrite(V2, String(longitude, 6)); myMap.location(move_index, 纬度, 经度, "GPS_Location"); } } } //长持续时间1,距离1;长持续时间2,距离2;数字写入(触发器2,低);延迟微秒(2);数字写入(触发器2,高);延迟微秒(10);数字写入(触发器2,低);持续时间 2 =脉冲输入(ECHO2,高);距离 2 =(duration2/2) / 29.1; if (distance2 <=5) { Blynk.notify("请!!清空垃圾箱");} Serial.println("2 超声波厘米:"); Serial.println(distance2); Blynk.virtualWrite(V6, distance2); ThingSpeak.writeField(myChannelField, ChannelField, distance2, myWriteAPIKey);延迟(100); Blynk.run(); timer.run();} 

示意图


制造工艺

  1. 缝纫机
  2. 使用智能手机接近传感器制作自动上锁的办公室门
  3. Raspberry Pi 温度传感器
  4. 横幅 DBQ5 接近传感器测试仪演示盒
  5. 炸薯条自动售货机如何工作?
  6. 什么是牛奶自动售货机?
  7. 薯片自动售货机如何提供热辣新鲜的薯片?
  8. 什么是面条自动售货机?
  9. 什么是茶咖啡汤自动售货机?
  10. 用备餐自动售货机吃一顿健康的饭菜!
  11. 对软饮料自动售货机有何期待?
  12. 冰棒自动售货机:商业潜力