hc-sr04超聲波模組的優勢及應用領域
hc-sr04效能穩定,測度距離精確,模組高精度,盲區小。常應用領域於:機械人避障、物體測距、液位檢測、公共安防、停車場檢測等。
超聲波測距模組工作原理
採用 io 口 trig 觸發測距,給最少 10us 的高電平信呈。
模組自動傳送 8 個 40khz 的方波,自動檢測是否有訊號返回。
有訊號返回,通過 io 口 echo 輸出乙個高電平,高電平持續的時間就是超聲波從發射到返回的時間。測試距離=(高電平時間*聲速(340m/s))/2。
模組引數:
工作電壓:5v
工作電流:15ma
射程範圍:2cm-4m
模組的應用
利用模組發出超聲波接受返回的超聲波測試距離
線路連線(*連線線路時樹莓派務必斷電操作)
第一端:vcc正極接入樹莓派(5v)4號引腳,第四端:gnd負極接入樹莓派6號引腳,第二端:trig為觸發控制訊號輸入接入38號引腳,第三端為echo回訊號輸出接入40號引腳。
編寫程式distance.py
import rpi.gpio as gpio #匯入 gpio庫
import time
gpio.setmode(gpio.board) #設定 gpio 模式為board
gpio.setwarnings(false) #關閉錯誤提示
trig = 38 #定義 gpio 引腳
echo = 40
gpio.setup(trig, gpio.out) #設定 gpio 的工作方式 (in / out)
gpio.setup(echo,
def distance():
gpio.output(trig, true) # 傳送高電平訊號到 trig 引腳
time.sleep(0.00001) # 持續 10 us
gpio.output(trig, false)
start_time = time.time()
stop_time = time.time()
while gpio.input(echo) == 0: # 記錄傳送超聲波的時刻1
start_time = time.time()
while gpio.input(echo) == 1: # 記錄接收到返回超聲波的時刻2
stop_time = time.time()
time_elapsed = stop_time - start_time # 計算超聲波的往返時間 = 時刻2 - 時刻1
distance = (time_elapsed * 34300) / 2 # 聲波的速度為 343m/s, 轉化34300cm/s。
return distance
if __name__ == '__main__':
try:
while true:
dist = distance()
print('測量距離 = : %1.1f cm' %(dist))
time.sleep(1)
except keyboardinterrupt:
print("使用者停止")
gpio.cleanup()
執行程式如無誤的話程式會一直持續執行,超聲波開始工作,將測量換算到的資料列印在視窗上。
樹莓派編寫超聲波模組程式
初始化 在程式的開始的時候需要呼叫上面的任意的函式來對wiringpi 進行初始化,否則你的程式不能正常工作。int wiringpisetup void 設定引腳電平 void pinmode int pin,int mode 引數說明 pin 引腳編號 根據wiringpi的引腳說明圖找到各個引...
樹莓派 超聲波模組HC SR04的應用
樹莓派b型 麵包板hc sr04超聲波模組 採用io口trig觸發測距,給至少10us的高電平訊號 模組自動傳送8個40khz的方波,自動檢測是否有訊號返回 有訊號返回,通過io口echo輸出乙個高電平,高電平持續的時間就是超聲波從發射到返回的時間。測試距離 高電平時間 聲速 340m s 2 詳細...
樹莓派連線超聲波感測器
你知道蝙蝠是個 瞎子 嗎?那它怎麼看東西呢?好吧,它是通過超聲波來探路的。下面我要介紹的就是超聲波模組,有了它你的樹莓派就再也不用當心會 撞牆 了!該模組會發出超聲波,在聲波碰到障礙物時會立刻返回被該模組接收到。通過超聲波模組來測距的原理就是,計算聲波返回的時間,然後與聲波的傳遞速度相乘,就能得到距...