標(biāo)題: arduino+超聲波模塊+BT04A藍(lán)牙模塊 [打印本頁(yè)]

作者: 金華千跡落竹    時(shí)間: 2020-9-22 15:50
標(biāo)題: arduino+超聲波模塊+BT04A藍(lán)牙模塊
arduino uno R3作為arduino里面最普遍的一塊芯片,其主要芯片是mega328p,avr的單片機(jī),但是用途很多地方,代碼編寫方便,好理解,我i們今天要弄得就是arduino uno和BT04A藍(lán)牙模塊,超聲波模塊,超聲波測(cè)試的距離用藍(lán)牙傳送到手機(jī)上


RXD-pin0  arduino上對(duì)應(yīng)的pin
TXD-pin1
HC-SR04超聲波模塊

時(shí)序圖
引腳Trig先拉低電位,然后高電位延時(shí)10us,
然后等待Echo引腳的返回的高電位時(shí)間,時(shí)間的單位是us級(jí)別,
我們可以用pulseIn()函數(shù)來(lái)確定高電平是多少us,我們來(lái)講一下為什么是除以58,而不是其它的呢,相信你們都疑惑,以下是重點(diǎn):
我們知道聲音在空氣中傳播的速度是340m/s,我們換算一下單位,34000cm/1000ms=34cm/ms,在換算一下,34cm/ms=0.034cm/us,,,
我們寫成us/ms的單位,相當(dāng)于取倒數(shù)

大概的數(shù)值為29us/cm,
這個(gè)是單程的,而我們是來(lái)回,所以要乘以2,即58,當(dāng)Echo是us,所以除以58就可以的得到cm了,
還有一點(diǎn)需要注意的,超聲波的兩次之間的啟動(dòng)時(shí)間應(yīng)大于80us,80us轉(zhuǎn)換一次,以下就是就是實(shí)驗(yàn)的結(jié)果。。
有興趣的朋友可以自己加一些功能或者改進(jìn)一下,BT04A藍(lán)牙模塊就不再這里介紹了(默認(rèn)波特率115200bps 可以用AT指令去修改名稱,波特率之類的,壓縮包里附上AT指令表,還有附上一個(gè)藍(lán)牙調(diào)試器(安卓的),如果不能用,可以在網(wǎng)上自己下載藍(lán)牙調(diào)試相關(guān)的軟件),希望大家學(xué)習(xí)交流。。


全部資料51hei下載地址:
arduino+BT04A+超聲波模塊.zip (2.07 MB, 下載次數(shù): 27)





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1