樹莓派-傳感器 HC-SR04 超聲波測距

HC-SR04 介紹

電器參數

電器參數 HC-SR04超聲波模塊
工作電壓 DC5V
工作電流 15mA
工作頻率 40Hz
最遠射程 4m
最近射程 2cm
測量角度 15度
輸入觸發信號 10us的TTL脈衝
輸出迴響信號 輸出TTL電平信號,與射程成比例
規格尺寸 452015mm

引腳

VCC、trig(控制端)、echo(接收端)、GND

使用方法

一個控制口發一個10US以上的高電平,就可以在接收口等待高電平輸出.一有輸出就可以開定時器計時,當此口變爲低電平時就可以讀定時器的值,此時就爲此次測距的時間,方可算出距離.如此不斷的週期測,就可以達到你移動測量的值了。


程序

語言:python

引腳:

引腳 BCM 編碼
Vcc 5V
Trig 23
Echo 24
Gnd GND

樹莓派 40Pin 引腳對照表

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

GPIO_TRIG = 23
GPIO_ECHO = 24

GPIO.setup(GPIO_TRIG, GPIO.OUT)
GPIO.setup(GPIO_ECHO, GPIO.IN)

def distance():
    # 發送高電平信號到 Trig 引腳
    GPIO.output(GPIO_TRIG, True)

    # 持續 10 us 
    time.sleep(0.00001)
    GPIO.output(GPIO_TRIG, False)

    # 高電平持續時間就是超聲波從發射到返回的時間
    while GPIO.input(GPIO_ECHO) == GPIO.LOW: pass
    start_time = time.time()
    while GPIO.input(GPIO_ECHO) == GPIO.HIGH: pass
    stop_time = time.time()

    # 計算距離 聲波的速度爲 34000cm/s。
    distance = ((stop_time - start_time) * 34000) / 2

    return distance

while True:
    dist = distance()
    print("距離: {:.2f} cm".format(dist))
    time.sleep(1)


whosmeya.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章