基于Wemos D1的感应开盖垃圾桶
參考:基于Wemos D1的感應(yīng)開蓋垃圾桶(增加自己的代碼實(shí)現(xiàn)部分)
作者:LEO-max
發(fā)布時(shí)間:2020-12-29 15:21:26
網(wǎng)址:https://blog.csdn.net/zouchengzhi1021/article/details/111880104?spm=1001.2014.3001.5502
目錄
- 硬件平臺介紹 WeMos D1
- 特性
- Arduino開發(fā)環(huán)境
- 超聲波模塊介紹
- 響應(yīng)測距核心代碼
- 自己實(shí)現(xiàn)感應(yīng)開蓋功能的代碼
- 關(guān)于距離中除以58的說明
- SG90舵機(jī)
- 接線
- 成品如下
硬件平臺介紹 WeMos D1
特性
軟件環(huán)境介紹
Arduino開發(fā)環(huán)境
優(yōu)點(diǎn):
超聲波模塊介紹
超聲波傳感器模塊上面通常有兩個(gè)超聲波元件器,一個(gè)用于發(fā)射,一個(gè)用于接受。電路板上有4個(gè)引腳:VCC(正極)、Trig(觸發(fā))、Echo(回應(yīng))、GND(接地)
主要參數(shù):
在超聲波模塊的出發(fā)腳位輸入10微秒以上的高電位,即可發(fā)射超聲波。發(fā)射超聲波之后,與接收到傳回的超聲波之前,“響應(yīng)”腳位呈現(xiàn)高電位,因此,程序可從“響應(yīng)”腳位的高電位脈沖持續(xù)時(shí)間,換算出被測物的距離。
超聲波模塊原理:
響應(yīng)測距核心代碼
const byte trigPin = 10; const int echoPin = 9; unsigned long d; unsigned long ping(){digitalWrite(trigPIN, HIGH);delayMicroseconds(10); //發(fā)送一個(gè)10us脈沖digitalWrite(trigPin, LOW);return pulseIn(echoPin, HIGH); //波傳過程echo高點(diǎn)品,計(jì)算高電平時(shí)間就獲取波傳輸時(shí)間,單位是us}void setup(){pinMode(trigPin, OUTPUT)pinMode(echoPin, INPUT);Serial.begin(115200); }void loop(){d = ping()/58;Serial.print(d);Serial.print("cm");Serial.printn();delay(1000); }自己實(shí)現(xiàn)感應(yīng)開蓋功能的代碼
#include <Servo.h>#define DuoPIN D5 #define Echo D2 #define Trig D8Servo myDuoji; long getTime(){digitalWrite(Trig, HIGH);delayMicroseconds(10);digitalWrite(Trig, LOW);return pulseIn(Echo, HIGH);}void initChaoShengBo() {pinMode(Echo,INPUT);pinMode(Trig,OUTPUT);}void setup() {initChaoShengBo();myDuoji.attach(DuoPIN);}void loop() {// put your main code here, to run repeatedly:long dis;dis = (getTime())/58;if(dis < 10){myDuoji.write(90);delay(2000);}else{myDuoji.write(180); }}關(guān)于距離中除以58的說明
聲音在干燥、20℃的空氣中的傳播速度大約為343m/s,即34300cm/s,換算單位,34300 / 1,000,000cm/us。即為0.0343cm/us,再換一個(gè)角度,1/0.0343cm/us,即29.15us/cm,這就意味這,291.5us表示10cm的距離,1cm就是29.15us, 但是從發(fā)送到接受,聲音走過2倍的距離。所以實(shí)際距離就是1cm對應(yīng)58.3us。實(shí)際整個(gè)測距過程是測的發(fā)出聲波到收到回波的時(shí)間,程序里的時(shí)間是us,換成距離cm,要除以58(58.3)
SG90舵機(jī)
型號:SG90 重量13克 角度90°~270°
紅色線為電壓 棕色線為地線 橙色線為信號線
尺寸:21.5mm11.8mm22.7mm
重量:9克
五負(fù)載速度:0.12s/60° (4.8V)
堵轉(zhuǎn)扭矩:1.2-1.4公斤/厘米(4.8V)
使用溫度:-30℃~60℃
死區(qū)設(shè)定:7us
工作電壓:4.8V-6V
接線
超聲波測距模塊
1.VCC接Wemos板的5V口 2.Trig接Wemos板的D8 3.Echo接Wemos板的D2 4.Gnd接Wemos板的GND- 1
- 2
- 3
- 4
SG90舵機(jī)
1.橙色線接Wemos板的D5 2.紅色線接Wemos板的3.3V 3.灰色線接Wemos板的另一個(gè)GND- 1
- 2
- 3
成品如下
總結(jié)
以上是生活随笔為你收集整理的基于Wemos D1的感应开盖垃圾桶的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java的堆与栈,科普给大家
- 下一篇: git用SSH下载代码