回答

收藏

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

Raspberry Pi Raspberry Pi 4178 人阅读 | 0 人回复 | 2017-12-26

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

树莓派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
复制代码




分享到:
回复

使用道具 举报

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

本版积分规则

关闭

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