了解如何使用Raspberry Pi 4B進(jìn)行超聲波測(cè)距項(xiàng)目。
硬件部件:
- Raspberry Pi 4 B型×1個(gè)
- 超聲波傳感器-HC-SR04(通用)×1個(gè)
- LED條形圖陣列,綠色×1個(gè)
- 高亮度LED,白色×1個(gè)
- 4位7段LED顯示屏×1個(gè)
- 電阻1k歐姆×1個(gè)
- 電阻2.21k歐姆×1個(gè)
- 電阻100歐姆×8
- 通孔電阻,150 ohm×10
- 電阻330歐姆×1個(gè)
- 無(wú)焊面包板全尺寸×1個(gè)
聲音由通過(guò)介質(zhì)(例如空氣)的振蕩波組成,其音高由這些波彼此之間的接近程度(頻率)確定。人耳只能聽到某些頻譜(聲波頻率范圍),這被定義為“聲學(xué)”范圍。低于聲音的極低頻聲音被定義為“次聲”,而高于聲音的高頻聲音被定義為“超聲”。
超聲波傳感器被設(shè)計(jì)為使用類似于雷達(dá)的超聲波反射來(lái)感測(cè)物體的接近或范圍,以計(jì)算反射傳感器與固體物體之間的超聲波所花費(fèi)的時(shí)間。主要使用超聲波是因?yàn)樗鼰o(wú)法被人耳聽到,并且在短距離內(nèi)相對(duì)準(zhǔn)確。您當(dāng)然可以為此使用聲學(xué)聲音,但是您將擁有一個(gè)嘈雜的機(jī)器人,每隔幾秒鐘會(huì)發(fā)出嗶嗶聲……。
基本的超聲波傳感器由一個(gè)或多個(gè)超聲波發(fā)射器(基本上是揚(yáng)聲器),接收器和控制電路組成。發(fā)射器發(fā)出高頻超聲波,該超聲波會(huì)從附近的任何固體物體上反彈。某些超聲波噪聲被傳感器上的接收器反射并檢測(cè)到。然后,該返回信號(hào)由控制電路處理,以計(jì)算正在發(fā)送和接收的信號(hào)之間的時(shí)間差。隨后可以將此時(shí)間與一些聰明的數(shù)學(xué)一起用于計(jì)算傳感器與反射對(duì)象之間的距離。
我們將在本教程中為Raspberry Pi使用的HC-SR04超聲波傳感器具有四個(gè)引腳:接地(GND),回波脈沖輸出(ECHO),觸發(fā)脈沖輸入(TRIG)和5V電源(Vcc)。我們使用Vcc為模塊供電,使用GND將其接地,然后使用Raspberry Pi將輸入信號(hào)發(fā)送到TRIG,這將觸發(fā)傳感器發(fā)送超聲波脈沖。脈沖波從附近的任何物體反彈,并且一些反射回傳感器。傳感器檢測(cè)到這些返回波,并測(cè)量觸發(fā)和返回脈沖之間的時(shí)間,然后在ECHO引腳上發(fā)送5V信號(hào)。
在收到回波脈沖后,傳感器被觸發(fā)之前,ECHO將為“低”(0V)。找到返回脈沖后,在該脈沖持續(xù)時(shí)間內(nèi),將ECHO設(shè)置為“高”(5V)。脈沖持續(xù)時(shí)間是指?jìng)鞲衅鬏敵龀暡}沖與傳感器接收器檢測(cè)到返回脈沖之間的完整時(shí)間。因此,我們的Python腳本必須測(cè)量脈沖持續(xù)時(shí)間,然后從中計(jì)算出距離。
HC-SR04上的傳感器輸出信號(hào)(ECHO)的額定值為5V。但是,Raspberry Pi GPIO上的輸入引腳的額定電壓為3.3V。向該不受保護(hù)的3.3V輸入端口發(fā)送5V信號(hào)可能會(huì)損壞您的GPIO引腳,這是我們要避免的事情!我們需要使用一個(gè)由兩個(gè)電阻組成的小型分壓器電路,以將傳感器輸出電壓降低到我們的Raspberry Pi可以處理的水平。