基于Adruino单片机的自动开关垃圾桶(用Adruino和Mind+两种模式实现)
文章目錄
- 前言
- 一、自動開關垃圾桶原理
- 二、實物搭建
- 1.設備清單
- 2.I/0口接線
- 3.接線圖
- 4.Adruino IDE實現
- 4.1Adruino IDE的使用
- 4.2系統代碼實現
- 4.3最終效果
- 5.MIND+實現(適合上小學初中的小朋友,拼積木的快感~)
- 5.1MIND+的使用
- 5.2系統代碼實現
- 總結
前言
最近在學習傳感器原理和高頻電子技術的課程,對于超聲波這一詞語很感興趣,手上也有超聲波傳感器,嘗試著做了一個自動垃圾桶項目,希望大家能夠喜歡。
一、自動開關垃圾桶原理
當人接近垃圾桶時,超聲波模塊會檢測到人接近,打開垃圾桶蓋,同時,當人離開垃圾桶時,關上垃圾桶蓋。
二、實物搭建
1.設備清單
1、Arduino UNO板(含USB連接線)
2、HC-SR04超聲波傳感器
3、SG90舵機1個
4、杜邦線(若干)
2.I/0口接線
| GND | GND |
| VCC | 5v |
| Trig | D2 |
| Echo | D3 |
| GND | GND |
| VCC | 5V |
| Signa | D8 |
3.接線圖
4.Adruino IDE實現
4.1Adruino IDE的使用
1.點擊新建,選擇文件就可以建立一個新文件,初始界面如下圖所示。
2、點擊項目,加載庫,管理庫,搜索Servo,下載庫。(其他庫也可以在線下載,或者下載庫的壓縮包)
3、選擇工具、查看端口是否正確(一般要插上單片機才能檢測到)。
4、進行編譯和上傳。
4.2系統代碼實現
set up()代碼如下(示例):
void setup() {myservo.attach(8); // 設置舵機的Signa引腳為D8Serial.begin(115200);//設置波特率,方便測量pinMode(TRIG_PIN, OUTPUT);pinMode(ECHO_PIN, INPUT); }loop()代碼如下(示例):
void loop() {float distance = readDistanceCM();Serial.print("Measured distance: ");Serial.println(readDistanceCM());//便于測試,從串口中查看if(distance<10){myservo.write(0);//小于10cm開蓋delay(2000);//2秒的延時}else{myservo.write(90);//大于10cm關蓋} }4.3最終效果
串口界面
實物模型
未組裝前:
組裝后
5.MIND+實現(適合上小學初中的小朋友,拼積木的快感~)
5.1MIND+的使用
1、打開擴展
2、在主控板上選擇Adruino Uno,傳感器中選擇超聲波測距傳感器,執行器中選擇舵機模塊。
5.2系統代碼實現
1、圖形塊
2、代碼如下(示例):
最后只需選擇串口,找到上傳模式上傳就行了。
總結
以上就是今天要分享的內容,本文用Adruino IDE 和MIND+實現了自動開關垃圾桶的項目,具體代碼已經在gitee倉庫開源(https://gitee.com/nqqdz/Automatic-switch-trash-can.git),旨在與各位同學一起交流,提升技術。作為一位死磕嵌入式的小白,希望大家能在此過程中不吝賜教,如有問題,請大家批評指正。
總結
以上是生活随笔為你收集整理的基于Adruino单片机的自动开关垃圾桶(用Adruino和Mind+两种模式实现)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C中插入字符和字符串
- 下一篇: Kubernetes 【安全】2. Sy