標(biāo)題: Arduino自動化智能垃圾桶制作,感應(yīng)開合 附程序 [打印本頁]
作者: zhongzl728 時間: 2019-7-20 09:31
標(biāo)題: Arduino自動化智能垃圾桶制作,感應(yīng)開合 附程序
現(xiàn)在正在大力推進(jìn)垃圾分類投放,這是一個很有意義但是卻需要投入大量精力的過程,作為一個工程師,我能做些什么,于是,我想到了制作一個簡易的智能垃圾桶,可以感應(yīng)到人的靠近,自動打開和關(guān)閉垃圾桶。
制作出來的實(shí)物圖如下:
1231231.png (288.29 KB, 下載次數(shù): 106)
下載附件
2019-7-20 09:32 上傳
2.jpg (1.25 MB, 下載次數(shù): 96)
下載附件
2019-7-20 09:30 上傳
硬件組件:
· 跳線(通用)×16
· SG90微伺服電機(jī)×1
· 超聲波傳感器 - HC-SR04(Generic)×2
· 面包板(通用)×1
· ArduinoUNO和Genuino UNO×1
· EspressifESP8266 ESP-01×1
軟件應(yīng)用程序和在線服務(wù):
· Blynk
· ArduinoIDE
手動工具和制造機(jī)器:
· 熱膠槍(通用)
· 膠帶
我對這個項(xiàng)目的期望是,當(dāng)我靠近這個垃圾桶,我不需要踩腳踏或者其他動作就可以打開垃圾桶,這樣子可以幫助我們更加衛(wèi)生的處理生活垃圾。
Arduino源程序如下:
- #define BLYNK_PRINT Serial // Blynk
- #include <ESP8266WiFi.h> // WIFI
- #include <BlynkSimpleEsp8266.h>
- #include<Servo.h> //Servo SG90
- char auth[] = "483e2a27dc3b4fdcb5108b*******"; // token
- char ssid[] = "J**** Sidh***"; // SSID WIFI
- char pass[] = "190****"; // PASSWORD WIFI
- Servo servo;
- #define trigPin 13 //Ultrasonic1
- #define echoPin 12 //Ultrasonic1
- #define trigPin2 5 //Ultrasonic2
- #define echoPin2 4 //Ultrasonic2
- #define LED 2 //LED WIFI
- #define BLYNK_MAX_SENDBYTES 256 //256 Bytes
- void setup()
- {
- Serial.begin (9600);
- pinMode(trigPin, OUTPUT); //Ultrasonic1
- pinMode(echoPin, INPUT); //Ultrasonic1
- pinMode(trigPin2, OUTPUT); //Ultrasonic2
- pinMode(echoPin2, INPUT); //Ultrasonic2
- pinMode(LED, OUTPUT); //LED
- servo.attach(16); //Servo
- Blynk.begin(auth, ssid, pass);
- Blynk.email("josie**************@gmail.com", "TrashBin", "Online."); // Test Online Email Sent
- Blynk.notify("Tong Sampah Sudah Online"); //Notify Trash Online
- servo.write(210); // Starting Position Servo
- }
- void loop()
- {
- Blynk.run();
-
- //Ultrasonic1
- long duration, distance;
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- duration = pulseIn(echoPin, HIGH);
- distance = (duration/2) / 29.1;
- Blynk.virtualWrite(V1, distance); //Level
- //Ultrasonic1
-
- //Ultrasonic2
- long duration2, distance2;
- digitalWrite(trigPin2, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin2, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin2, LOW);
- duration2 = pulseIn(echoPin2, HIGH);
- distance2 = (duration2/2) / 29.1;
- Blynk.virtualWrite(V2, distance2); //Level
- //Ultrasonic2
-
- // Open Automation
- if (distance >= 30 || distance <= 0) //Condition when trash open and close automatically
- {
- Serial.println("Out of range");
- servo.write(210); //menutup
- if (distance2 >= 6 || distance2 <= 0) //Condition When Trash close reading full or not
- {
- Serial.print(distance2);
- Serial.println(" cm2");
- digitalWrite(LED, HIGH);
- delay(500);
- }
- else
- {
- digitalWrite(LED, LOW);
- delay(3000);
- Serial.println("FULL");
- Blynk.email("jo********@gmail.com", "Subject: TrashBin", "Full"); //if trash full will sending you email every 15minutes
- Blynk.notify("Hey, Tong Sampah Penuh Segera Dikosongkan"); //Notify if trash full with blynk
- }
- }
- else
- {
- Serial.print(distance);
- Serial.println(" cm");
- servo.write(60); //Open trash
- delay(5000); //Delay open trash
- }
- delay(500); //Reading hands
- }
- //Open Automation
- //Open Manually
- BLYNK_WRITE(V3)
- {
- servo.write(param.asInt());//open
- delay(5000);
- }
- BLYNK_WRITE(V5)
- {
- servo.write(param.asInt());
- delay(5000);
- }
- //Open Manually
復(fù)制代碼
以上代碼下載:
智能垃圾桶.zip
(23.19 KB, 下載次數(shù): 287)
2019-7-20 09:26 上傳
點(diǎn)擊文件名下載附件
程序、原理圖
下載積分: 黑幣 -5
作者: 難得糊涂2018 時間: 2019-8-2 18:58
不錯,你是一個有想法的人!
作者: agony203 時間: 2019-12-10 09:52
我太佩服您啦! 師傅,我可不可以私下聯(lián)系您呀!
作者: wenli7302 時間: 2020-1-26 23:07
可不可以研究一下語音互動的垃圾桶智能分類
作者: bajie34 時間: 2020-6-15 13:35
非常好
作者: azi197417 時間: 2020-6-27 22:36
真的很好!學(xué)到了很多
作者: lihongbin112 時間: 2021-4-19 09:24
很多作品
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |