樹莓派 超聲波模組HC SR04的應用

2021-09-30 16:38:21 字數 1927 閱讀 7577

樹莓派b型

麵包板hc-sr04超聲波模組

採用io口trig觸發測距,給至少10us的高電平訊號;

模組自動傳送8個40khz的方波,自動檢測是否有訊號返回;

有訊號返回,通過io口echo輸出乙個高電平,高電平持續的時間就是超聲波從發射到返回的時間。

測試距離=(高電平時間*聲速(340m/s))/2;

詳細內容請看

vcc 接+5v

echo 接 gpio 針腳

trig 接 gpio 針腳

gnd 接 0v

import wiringpi as gpio

import time

from wiringpi import gpio

trig=6

echo=7

gpio.wiringpisetup()#初始化為wiringpigpio

gpio.pinmode(trig,gpio.output)#7腳為輸出

gpio.pinmode(echo,gpio.input)#6腳為輸入

def jvli():

t1=0

t2=0

gpio.digitalwrite(trig,gpio.high)

gpio.delay(10)

gpio.digitalwrite(trig,gpio.low)

while gpio.digitalread(echo)==0:

pass

t1=gpio.micros()

#t1 = time.time()

#print(t1)

while gpio.digitalread(echo)==1:

pass

t2=gpio.micros()

#t2 = time.time()

# print(t2)

distance=343*(t2-t1)/10000/2

print("distance :{} cm".format(distance))

print("-"*50)

for i in range(10):

jvli()

time.sleep(2)

import rpi.gpio as gpio

import time

#初始化設定

gpio.setmode(gpio.bcm)

trig = 25

echo = 4

gpio.setup(trig,gpio.out)

gpio.setup(echo,gpio.in)

for i in range(10):

# 傳送 trig 訊號 持續 10us 的方波脈衝

gpio.output(trig,true)

time.sleep(0.00001)

gpio.output(trig,false)

# 等待低電平結束,然後記錄時間。

while (gpio.input(echo)==0):

pass

start = time.time()

#等待高電平結束,然後記錄時間。

while (gpio.input(echo) == 1):

pass

end = time.time()

duration = end - start

distance = duration * 34300/2

distance = round(distance,2)

print("distance: {}cm".format(distance))

print("-"*50)

樹莓派使用HC SR04超聲波測距模組

hc sr04 模組可以測量 3cm 4m 的距離,測量角度為15度,精確度可以達到 3mm。這個模組包括超聲波發射器 超聲波接收器和控制電路三部分。有如下 4 個引腳 注意 echo 返回的是 5v訊號,而樹莓派的 gpio 接收超過 3.3v 的訊號可能會被燒毀,因此需要加乙個分壓電路 樹莓派向...

超聲波hc sr04模組 樹莓派基於C語言程式

產品特點 hc sr04 超聲波測距模組可提供 2cm 400cm 的非接觸式距離感測功能,測距精度可達高到 3mm 模組包括超聲波發射器 接收器與控制電路。基本工作原理 1 採用 io 口 trig 觸發測距,給最少 10us 的高電平信呈。2 模組自動傳送 8 個 40khz 的方波,自動檢測是...

樹莓派上使用HC SR04超聲波測距模組

hc sr04 模組可以測量 3cm 4m 的距離,精確度可以達到 3mm。這個模組包括 超聲波發射器 超聲波接收器和控制電路三部分。有 4 個引腳。4 個引腳由 2 個電源引腳 vcc gnd 和 2 個控制引腳 trig echo 組成。vcc 和 gnd 接 5v dc 電源,使用樹莓派或微控...