|
arduino uno R3作為arduino里面最普遍的一塊芯片,其主要芯片是mega328p,avr的單片機(jī),但是用途很多地方,代碼編寫方便,好理解,我i們今天要弄得就是arduino uno和BT04A藍(lán)牙模塊,超聲波模塊,超聲波測試的距離用藍(lán)牙傳送到手機(jī)上
IMG_20200921_224207.jpg (2.84 MB, 下載次數(shù): 102)
下載附件
2020-9-22 15:09 上傳
51hei.png (497.72 KB, 下載次數(shù): 91)
下載附件
2020-9-22 22:53 上傳
RXD-pin0 arduino上對應(yīng)的pin
TXD-pin1
HC-SR04超聲波模塊
065425pa0nvwibfalj35v1.jpg (22.91 KB, 下載次數(shù): 90)
下載附件
2020-9-22 15:11 上傳
時序圖
引腳Trig先拉低電位,然后高電位延時10us,
然后等待Echo引腳的返回的高電位時間,時間的單位是us級別,
我們可以用pulseIn()函數(shù)來確定高電平是多少us,我們來講一下為什么是除以58,而不是其它的呢,相信你們都疑惑,以下是重點:
我們知道聲音在空氣中傳播的速度是340m/s,我們換算一下單位,34000cm/1000ms=34cm/ms,在換算一下,34cm/ms=0.034cm/us,,,
我們寫成us/ms的單位,相當(dāng)于取倒數(shù)
1600760226692.jpg (1.74 MB, 下載次數(shù): 87)
下載附件
2020-9-22 15:37 上傳
大概的數(shù)值為29us/cm,
這個是單程的,而我們是來回,所以要乘以2,即58,當(dāng)Echo是us,所以除以58就可以的得到cm了,
還有一點需要注意的,超聲波的兩次之間的啟動時間應(yīng)大于80us,80us轉(zhuǎn)換一次,以下就是就是實驗的結(jié)果。。
有興趣的朋友可以自己加一些功能或者改進(jìn)一下,BT04A藍(lán)牙模塊就不再這里介紹了(默認(rèn)波特率115200bps 可以用AT指令去修改名稱,波特率之類的,壓縮包里附上AT指令表,還有附上一個藍(lán)牙調(diào)試器(安卓的),如果不能用,可以在網(wǎng)上自己下載藍(lán)牙調(diào)試相關(guān)的軟件),希望大家學(xué)習(xí)交流。。
Screenshot_20200921_224129.jpg (222.6 KB, 下載次數(shù): 91)
下載附件
2020-9-22 15:47 上傳
全部資料51hei下載地址:
arduino+BT04A+超聲波模塊.zip
(2.07 MB, 下載次數(shù): 27)
2020-9-22 15:54 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|