close
今天來實驗超音波這玩意
之前我先看網路上的文章,把超音波感測器的原理看了一下,有的都有數學,好複雜,哈哈
因為我數學很差,還好有求得的數字,記著就好。
首先準備材料
實驗材料
樹莓派主機(2或3代B+)
麵包板 + T型GPIO擴展板(T-Cobbler)
電阻 1kΩ x 1 與 2kΩ x 1
HC-SR04 超音波感測器 x 1
杜邦線 x 5
我個人自己理解的工作原理,簡要敍述如下:
當Trigger高腳位時會發出10us的訊號,此時HC-SR04收到訊號後會發出8個40HZh的超音波,Echo開始發出高電位,讓HC-SR04量測時間長度。
*聲音和障礙物的距離用一個公式求得:接收結束的時間 減去 發出訊號開始的時間 * 17150,下面程式碼裡26行會用到
這時就可以寫程式碼
- import RPi.GPIO as GPIO
- import time
- GPIO.setwarnings(False)
- GPIO.setmode(GPIO.BCM)
- TRIG = 23
- ECHO = 24
- GPIO.setup(TRIG, GPIO.OUT)
- GPIO.setup(ECHO, GPIO.IN)
- def get_distance():
- GPIO.output(TRIG, GPIO.HIGH)
- time.sleep(2)
- GPIO.output(TRIG, GPIO.LOW)
- while GPIO.input(ECHO)==0:
- start = time.time()
- while GPIO.input(ECHO)==1:
- end = time.time()
- D=(end - start) * 17150
- return D
- while True:
- print("{}{:.1f}{}".format("量測距離為: ",get_distance(),"公分"))
- GPIO.cleanup()
以下是實驗驗證
參考文章
1
2
文章標籤
全站熱搜
留言列表