可乐丸子 发表于 2017-12-26 22:46:36

树莓派3B使用超声波传感器

下面介绍在树莓派3B上使用超声波传感器HC-SR04的方法

树莓派3B的GPIO定义如下
https://github.com/yfgeek/rpi-TempRuntime/raw/master/images/2.png
将超声波传感器的VCC GND TRIG ECHO分布连接到树莓派3B的Pin4 Pin6 Pin16 Pin18,然后上电,
登陆后输入下面代码创建hc-sr04.pyvi hc-sr04.py输入下面代码import RPi.GPIO as GPIO
import time

trigger_pin = 23
echo_pin = 24 # USE LEVEL CONVERTER 5V->3.3V

GPIO.setmode(GPIO.BCM)
GPIO.setup(trigger_pin, GPIO.OUT)
GPIO.setup(echo_pin, GPIO.IN)

def time_to_echo(timeout):
        t0 = time.time()
        while GPIO.input(echo_pin) == False and time.time() < (t0 + timeout):
                pass
        t0 = time.time()
        while GPIO.input(echo_pin) == True and time.time() < (t0 + timeout):
                pass
        return time.time() - t0

def get_distance():
        GPIO.output(trigger_pin, True)
        time.sleep(0.00001) # 10us
        GPIO.output(trigger_pin, False)
        time.sleep(0.0002) # 200us
        pulse_len = time_to_echo(1)
        distance_cm = pulse_len / 0.000058
        distance_in = distance_cm / 2.5
        return (distance_cm, distance_in)

while True:
        print("cm=%f\tinches=%f" % get_distance())
        time.sleep(1)然后运行sudo python hc-sr04.py



页: [1]
查看完整版本: 树莓派3B使用超声波传感器

Baidu
map