樹莓派連接超音波測距感測器

在物聯網的練習中,HC-SRC04超音波測距感測器的使用也是必學的項目之一,透過簡單的線路連接,就可以輕易地製作出測距裝置,感測的速度也很快。在這篇文章中,我們就來教大家如何利用樹莓派完成測距的功能。

本篇文章使用的超音波測距感測器是下面這個:

這個模組有4個接腳,分別是Vcc連接5V電源,GND連接GND接地,以及Trig和Echo則任選兩個GPIO接腳進行連接,但是在程式中要確定這兩個接腳分別是哪一個GPIO,以本篇文章的例子,我們把Trig接到實際連線的PIN38(GPIO20),並把Echo接到實際連線的PIN40(GPIO21),並參考這個連結網頁中的程式進行修改如下:

import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
TRIG_PIN = 20
ECHO_PIN = 21

def get_distance(TRIG_PIN, ECHO_PIN):
    GPIO.setup(TRIG_PIN,GPIO.OUT)  
    GPIO.setup(ECHO_PIN,GPIO.IN)      
    GPIO.output(TRIG_PIN, False)
    time.sleep(0.5)
    GPIO.output(TRIG_PIN, True)
    time.sleep(0.00001)
    GPIO.output(TRIG_PIN, False)
    start = time.time()
    while GPIO.input(ECHO_PIN)==0:
        start = time.time()
    while GPIO.input(ECHO_PIN)==1:
        stop = time.time()
    elapsed = stop-start
    distance = elapsed * 34000
    distance = distance / 2
    return round(distance, 2)

try:
    while True:
        print(get_distance(TRIG_PIN, ECHO_PIN))
except:
    pass
GPIO.cleanup()

此程式執行之後就可會不斷地傳回它所測出的距離數值(單位是公分),直到你按下Ctrl+C中斷程式的執行為止。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *