陳俊濤??
摘要:文中詳細(xì)介紹了基于Raspberry Pi3的超聲波測(cè)距報(bào)警系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法。本系統(tǒng)以Raspberry Pi3為核心,應(yīng)用超聲波測(cè)距傳感器對(duì)待測(cè)物體進(jìn)行測(cè)距、蜂鳴器模塊進(jìn)行報(bào)警。該系統(tǒng)可應(yīng)用于貴重物品防盜報(bào)警、盲人便攜式報(bào)警器等。
關(guān)鍵詞:Raspberry Pi;超聲波傳感器;報(bào)警系統(tǒng)
當(dāng)前,基于樹(shù)莓派和各種集成應(yīng)用系統(tǒng)層出不窮。本文就是基于樹(shù)莓派并集成了超聲波測(cè)距傳感器和蜂鳴器設(shè)計(jì)實(shí)現(xiàn)的一個(gè)報(bào)警系統(tǒng)。
超聲波測(cè)距傳感器中主要利用了超聲波的特性。超聲波具有定向性好、能量集中、在傳輸過(guò)程中衰減較小、反射能力較強(qiáng)等優(yōu)點(diǎn),超聲波傳感器可廣泛應(yīng)用于非接觸式檢測(cè)方法,因而采用仿真技術(shù)進(jìn)行超聲波測(cè)距。采用超聲波技術(shù)生產(chǎn)的超聲波傳感器與樹(shù)莓派結(jié)合使用,可以構(gòu)建超聲波測(cè)距防盜報(bào)警系統(tǒng)。
1 硬件簡(jiǎn)介
1.1樹(shù)莓派簡(jiǎn)介
Raspberry Pi(中文名為“樹(shù)莓派”,即Raspberry Pi電腦板,簡(jiǎn)寫(xiě)為RPi,或者RasPi / RPI)是一種只有信用卡大小的微型電腦。它由英國(guó)慈善組織“Raspberry Pi慈善基金會(huì)”開(kāi)發(fā),2012年3月正式對(duì)外發(fā)售,號(hào)稱世界上最小的臺(tái)式機(jī),又稱卡片式電腦,卻具有電腦的所有基本功能。樹(shù)莓派具有編程靈活、可定制信號(hào)類(lèi)型和易于適應(yīng)現(xiàn)有設(shè)備等優(yōu)點(diǎn),為工業(yè)領(lǐng)域帶來(lái)許多益處。它能成為普通工業(yè)設(shè)備的替代品,成本低廉且靈活,為小型傳統(tǒng)工業(yè)系統(tǒng)添加遠(yuǎn)程控制和監(jiān)控功能。當(dāng)前,RPi被廣泛應(yīng)用于智能家居、快速電子成型和家庭DIY等方面。本文將以樹(shù)莓派3代B型機(jī)作為開(kāi)發(fā)機(jī),它采用了Broadcom的BCM2837芯片,CPU基于ARM CortexA53架構(gòu),共4個(gè)核心,運(yùn)行頻率1200MHz,具有1GB DDR2內(nèi)存。樹(shù)莓派3代B型機(jī)接口豐富,擁有4個(gè)USB2.0規(guī)范接口,1個(gè)HDMI接口,1個(gè)RJ45接口;還有1個(gè)MicroSD卡槽,17個(gè)GPIO及HAT(擴(kuò)展板)規(guī)格鋪設(shè);15針頭 MIPI 相機(jī) (CSI) 界面,可被樹(shù)莓派相機(jī)或樹(shù)莓派相機(jī)(無(wú)紅外線版)使用。
1.2 其他使用的硬件
系統(tǒng)中還使用了超聲波測(cè)距傳感器和蜂鳴器。
2 系統(tǒng)設(shè)計(jì)方案
2.1 硬件設(shè)計(jì)方案
系統(tǒng)中,樹(shù)莓派作為系統(tǒng)的中央控制器,在系統(tǒng)啟動(dòng)后,樹(shù)莓派先向超聲波測(cè)距傳感器(HCSR04)的TRIG針腳發(fā)送至少10us的觸發(fā)信號(hào),超聲波測(cè)距傳感器模塊內(nèi)部將發(fā)出8個(gè)40kHz 周期電平并檢測(cè)回波。一旦檢測(cè)到有回波信號(hào)則ECHO針腳輸出一高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間,測(cè)量距離=(高電平時(shí)間*聲速(340m/s))/2,該距離即為貴重物品與超聲波測(cè)距傳感器之間的距離。
系統(tǒng)再根據(jù)所測(cè)距離值與系統(tǒng)設(shè)定的閾值(貴重物品與超聲波傳感器之間的預(yù)設(shè)距離)進(jìn)行比較,如超出閾值范圍,說(shuō)明貴重物品被移開(kāi)(即被盜),樹(shù)莓派將激活蜂鳴器進(jìn)行報(bào)警。
2.2 軟件設(shè)計(jì)方案
軟件編程主要使用Python編程語(yǔ)言,調(diào)用Raspbian操作系統(tǒng)中基于Python的RPI.GPIO庫(kù)來(lái)對(duì)連接在樹(shù)莓派GPIO接口的超聲波測(cè)距傳感器、蜂鳴器等設(shè)備進(jìn)行控制。超聲波測(cè)距傳感器(HCSR04)在測(cè)距中的關(guān)鍵代碼如下:
# 初始化;注意輸出與輸入的接口,17為發(fā)射,18為接收
Trig_Pin = 17
Echo_Pin = 18
GPIO.setmode(GPIO.BCM)
GPIO.setup(Trig_Pin,GPIO.OUT,initial = GPIO.LOW)
GPIO.setup(Echo_Pin,GPIO.IN)
GPIO.output(Trig_Pin,F(xiàn)alse)
while 1:
time.sleep(1)
# I/O 觸發(fā),發(fā)送10us以上的高電平,模塊自動(dòng)發(fā)送8個(gè)40khz的方波
GPIO.output(Trig_Pin,GPIO.HIGH)
time.sleep(0.00001)
t1 = time.time()
# 未接收為False,循環(huán)檢查開(kāi)始接收點(diǎn),轉(zhuǎn)為T(mén)rue為開(kāi)始接收
while GPIO.input(Echo_Pin)==FALSE:
pass
# 循環(huán)檢查開(kāi)始接收,轉(zhuǎn)為False,則為接受完畢
while GPIO.input(Echo_Pin):
pass
t2 = time.time()
# 計(jì)算發(fā)送與接收時(shí)間差
t3 = t2t1
# 空氣中1個(gè)標(biāo)準(zhǔn)大氣壓在溫度15攝氏度時(shí)速度為340m/s
# 所以按照一秒鐘34000厘米計(jì)算
# 根據(jù)硬件說(shuō)明文檔,該模塊探測(cè)距離在2450cm之間
# 測(cè)試范圍的時(shí)間間隔應(yīng)該為0.000132到0.023529
# 為了方便取值自行變化一點(diǎn)
if 0.0235 > t3 > 0.00015:
return t3*34000/2
3 結(jié)語(yǔ)
基于Raspberry Pi的超聲波測(cè)距防盜報(bào)警系統(tǒng)解決方案能較好地實(shí)現(xiàn)進(jìn)行超聲波測(cè)距,并根據(jù)所測(cè)距離與設(shè)定閾值進(jìn)行比較,判斷貴重物品的距離是否超過(guò)閾值,如果超出閾值范圍的距離就進(jìn)行報(bào)警。該系統(tǒng)可應(yīng)用于貴重物品防盜報(bào)警(一旦貴重物品被移開(kāi)超過(guò)設(shè)定的距離值即報(bào)警),還可用于設(shè)計(jì)盲人便攜式報(bào)警裝置等,并且樹(shù)莓派的功耗極低,能保持長(zhǎng)時(shí)間穩(wěn)定運(yùn)行,系統(tǒng)設(shè)計(jì)簡(jiǎn)單、成本低廉,未來(lái)將會(huì)在更多領(lǐng)域發(fā)揮積極作用。
參考文獻(xiàn):
[1]黃迪.物聯(lián)網(wǎng)的應(yīng)用和發(fā)展研究[D].北京:北京郵電大學(xué),2011.
[2]張鴻濤.物聯(lián)網(wǎng)關(guān)鍵技術(shù)及系統(tǒng)應(yīng)用(第2版)[M].北京:機(jī)械工業(yè)出版社,2017.
[3]吳建平.傳感器原理及應(yīng)用(第3版)[M].北京:機(jī)械工業(yè)出版社,2016.
[4]張永安.基于樹(shù)莓派的智能家居系統(tǒng)[J].電子世界,2016(15).
作者簡(jiǎn)介:陳俊濤(1977),男,講師,碩士,主要研究方向?yàn)榍度胧较到y(tǒng)、物聯(lián)網(wǎng)等。