Arduino Trash-Bot(自动打开/关闭垃圾箱)
组件和用品
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 |
应用和在线服务
![]() |
|
关于这个项目
一切都变得更智能了,对吧?那为什么不是你的垃圾桶呢?如果它看到前面有任何垃圾,这个垃圾桶就会打开和关闭盖子。你只需要把垃圾带到它那里,它会自动打开,并会等待你喂它更多,然后在一定的延迟后它会自动关闭。观看视频,看看它到底能做什么。
让我们开始吧。
第 1 步:组件



(另外 2 张图片)
- Arduino Uno(任何板)
- 伺服电机(我使用的是微型伺服 sg90)
- HCSR04 超声波传感器
- 舵机臂(图 2 中的舵机旁边)
- 纸板(只是切片)
- 垃圾桶
第 2 步:构建电路

电路就是这么简单。由于伺服和声纳只需要较少的功率,您可以直接从 Arduino 5v 电源为它们供电。请记住使用超过 7.4 V DC 或至少 7v 的电压为 Arduino 供电。
- 伺服数据(黄色)到 arduino 的第 3 针
- 伺服 vcc(红色)到 Arduino 的 5v
- 伺服接地(黑色/灰色)到 Arduino Gnd
- 声纳传感器触发到 Arduino 6
- 声纳传感器回波到 Arduino 5
- Vcc 到 Arduino 5v
- 接地到 Arduino 接地
第三步:连接伺服臂



只需将这个伺服臂用热胶或其他胶水连接到一个长纸板。您也可以使用冰淇淋棒代替纸板。然后将长伺服臂连接到伺服电机。
第 4 步:将伺服和声纳传感器添加到垃圾箱



像这样将声纳传感器面朝上连接到垃圾箱。然后在图2和图3上添加这样的伺服电机,使舵机可以向上旋转。
第 5 步:代码
代码链接:https://github.com/ashraf-minhaj/Trash-bot
我已经对 Arduino 进行了编程,这样如果它在 50 厘米范围内看到任何垃圾(实际上是任何东西),伺服器就会转至 50 度并撞击垃圾箱的上盖,以便打开上盖,等待三秒钟,然后自动旋转到 160 度,从而关闭上盖。所以现在你看到了一个自动打开/关闭垃圾机器人。
#include伺服舵机;int const trigPin =6;int const echoPin =5;void setup(){pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);伺服.attach(3);}void loop(){ int持续时间,距离;digitalWrite(trigPin,HIGH); delay(1);digitalWrite(trigPin, LOW);// 在 echo pinduration =pulseIn(echoPin, HIGH) 中测量脉冲输入;// 距离是持续时间的一半除以 29.1(来自数据表)距离 =(duration/2) / 29.1;// 如果距离小于 0.5 米且大于 0(0 或更小表示超出范围) if (distance <=50 &&distance>=0) {servo.write(50);延迟(3000);}其他{伺服.写(160);}
第 6 步:完成


所以现在只要用超过 7v 的电压给 Arduino 供电,你就有了一个垃圾桶机器人。
谢谢。
[如果你喜欢我的作品,请订阅我的 YouTube 频道来支持我]
代码
- arduino 垃圾机器人代码
arduino 垃圾机器人代码C/C++
#include伺服伺服;int const trigPin =6;int const echoPin =5;void setup(){pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);伺服.attach(3);}void loop(){ int持续时间,距离;digitalWrite(trigPin,HIGH); delay(1);digitalWrite(trigPin, LOW);// 在 echo pinduration =pulseIn(echoPin, HIGH) 中测量脉冲输入;// 距离是持续时间的一半除以 29.1(来自数据表)距离 =(duration/2) / 29.1;// 如果距离小于 0.5 米且大于 0(0 或更小表示超出范围) if (distance <=50 &&distance>=0) {servo.write(50); delay(3000);} else {servo.write(160);}// 等待 60 ms 不会伤害任何 onedelay(60);}
示意图

arduino 垃圾机器人代码
https://github.com/ashraf-minhaj/Trash-bot制造工艺