查看: 3402|回复: 0

[原创] 树莓派3B使用超声波传感器

[复制链接]
  • TA的每日心情
    奋斗
    2019-10-1 12:54
  • 签到天数: 313 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2017-12-26 22:46:36 | 显示全部楼层 |阅读模式
    分享到:
    下面介绍在树莓派3B上使用超声波传感器HC-SR04的方法
    20170908110252441.png
    树莓派3B的GPIO定义如下

    将超声波传感器的VCC GND TRIG ECHO分布连接到树莓派3B的Pin4 Pin6 Pin16 Pin18,然后上电,
    登陆后输入下面代码创建hc-sr04.py
    1. vi hc-sr04.py
    复制代码
    输入下面代码
    1. import RPi.GPIO as GPIO
    2. import time

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

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

    8. def time_to_echo(timeout):
    9.         t0 = time.time()
    10.         while GPIO.input(echo_pin) == False and time.time() < (t0 + timeout):
    11.                 pass
    12.         t0 = time.time()
    13.         while GPIO.input(echo_pin) == True and time.time() < (t0 + timeout):
    14.                 pass
    15.         return time.time() - t0

    16. def get_distance():
    17.         GPIO.output(trigger_pin, True)
    18.         time.sleep(0.00001) # 10us
    19.         GPIO.output(trigger_pin, False)
    20.         time.sleep(0.0002) # 200us
    21.         pulse_len = time_to_echo(1)
    22.         distance_cm = pulse_len / 0.000058
    23.         distance_in = distance_cm / 2.5
    24.         return (distance_cm, distance_in)

    25. while True:
    26.         print("cm=%f\tinches=%f" % get_distance())
    27.         time.sleep(1)
    复制代码
    然后运行
    1. sudo python hc-sr04.py
    复制代码
    2017-12-26_144135.png



    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-5-7 20:03 , Processed in 0.129264 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.