你知道蝙蝠是個「瞎子」嗎?那它怎麼看東西呢?好吧,它是通過超聲波來探路的。下面我要介紹的就是超聲波模組,有了它你的樹莓派就再也不用當心會「撞牆」了!
該模組會發出超聲波,在聲波碰到障礙物時會立刻返回被該模組接收到。通過超聲波模組來測距的原理就是,計算聲波返回的時間,然後與聲波的傳遞速度相乘,就能得到距離了。
我們知道,溫度為15度時,聲音的傳遞速度為340公尺/秒。
另外,大家可以思考一下,為什麼非要用超聲波來測距呢,別的聲波不可以嗎?因為,超聲波指向性強,能量消耗緩慢,在介質中傳播的距離較遠。
但是,本文介紹的超聲波模組只能探測到4、5公尺遠的距離。
[caption id="attachment_1593" align="alignnone" width="354"]
公對母麵包線(4根),超聲波模組(1個)
該模組有四個介面,分別如下:(需要使用兩個gpio)
vcc 5v
trig 控制發射超聲波
echo 接收超聲波
gnd 負極
[codesyntax lang="python"]
#!/usr/bin/python[/codesyntax]# from
import rpi.gpio as gpio
import datetime
import time
def gpio_init():
gpio.setmode(gpio.bcm)
pass
def ultrasound_init(echo, trig):
gpio_init()
gpio.setup(echo, gpio.in)
gpio.setup(trig, gpio.out)
pass
def get_distance(echo, trig):
ultrasound_init(echo, trig)
send_time = 0
rece_time = 0
gpio.output(trig, gpio.low)
time.sleep(0.002)
gpio.output(trig, gpio.high)
time.sleep(0.000015)
gpio.output(trig, gpio.low)
while gpio.input(echo) == 0:
send_time = time.time()
pass
while gpio.input(echo) == 1:
rece_time = time.time()
pass
distance = (rece_time - send_time) * 340 / 2 * 100
return distance
pass
#車位左側距離
def get_left_distance():
trig = 23
echo = 24
return get_distance(echo, trig)
#車位右側距離
def get_right_distance():
trig = 17
echo = 27
return get_distance(echo, trig)
#車位背後距離
def get_back_distance():
trig = 5
echo = 6
return get_distance(echo, trig)
#程式入口
if __name__ == '__main__':
try:
left_dis = get_left_distance()
right_dis = get_right_distance()
back_dis = get_back_distance()
print '車位左側距離:', left_dis
print '車位右側距離:', right_dis
print '車位背後距離:', back_dis
time.sleep(5)
except keyboardinterrupt:
gpio.cleanup()
**——觀月堂
這裡是用wiringpi實現的,
不知道你的樹莓派的gpio介面分布?請看這裡。
樹莓派C語言超聲波感測器測距
分享乙個樹莓派超聲波測距教程。非常基礎的小製作,可以激發一下樹莓派或其它基礎嵌入式開發興趣。首先準備乙個超聲波感測器 這裡是hc hr04型 樹莓派及連線排線。參考對照表將感測器引腳與樹莓派連線,連線方式不唯一,一定仔細連線。感測器vcc引腳連線樹莓派5v引腳,gnd連線0v接地引腳,trig ec...
超聲波感測器 單介紹超聲波
超聲波是聲波的一部分,是人耳聽不見 頻率高於20khz的聲波,它和聲波有共同之處,即都是由物質振動而產生的,並且只能在介質中傳播 同時,它也廣泛地存在於自然界,許多動物都能發射和接收超聲波,其中以蝙蝠最為突出,它能利用微弱的超聲回波在黑暗中飛行並捕捉食物。但超聲還有它的特殊性質 如具有較高的頻率與較...
樹莓派學習筆記003 超聲波距離感測器
感測器供電問題 工作原理和使用方法主要參考了 這是感測器使用樹莓派的5v電源的方案,親測可行。hc sr04超聲波模組工作原理 1 給trig口至少10us的高電平訊號觸發測距 2 之後模組自動傳送8個40khz的方波 3 之後echo口輸出高電平 這也是為什麼測量距離有下限而不能無限小 4 自動檢...