栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

树莓派4B运行超声波HC-SR04

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

树莓派4B运行超声波HC-SR04

树莓派4B运行超声波HC-SR04测距显示

树莓派引脚图如下

连线:
Vcc 接 5v 引脚
Gnd接 GND引脚
Trig 引脚用来接收树莓派的控制信号。接任意 GPIO 口。
Echo 引脚用来向树莓派返回测距信息。接任意 GPIO 口。

安装RPi.GPIO

sudo pip3 install -U RPi.GPIO --ignore-installed

参考python代码—hcsr.py:

#导入 GPIO库
import RPi.GPIO as GPIO
import time
  
#设置 GPIO 模式为 BCM
GPIO.setmode(GPIO.BCM)
  
#定义 GPIO 引脚使用BCM编码
TRIG = 20
ECHO = 21  #根据实际连接的引脚对照引脚图填写
  
#设置 GPIO 的工作方式 (IN / OUT)
GPIO.setup(TRIG, GPIO.OUT)
GPIO.setup(ECHO, GPIO.IN)

# 获取距离信息
def getDistance():
    # 向Trig引脚发送10us的脉冲信号
    GPIO.output(TRIG, GPIO.HIGH)
    time.sleep(0.00001)
    GPIO.output(TRIG, GPIO.LOW)
    
    # 开始发送超声波的时刻
    while GPIO.input(ECHO)==0:
        pass
    startTime=time.time()
 
    # 收到返回超声波的时刻
    while GPIO.input(ECHO)==1:
        pass
    endTime=time.time()

    # 计算距离 距离=(声波的往返时间*声速)/2
    timeDelta = endTime - startTime
    distance = (timeDelta * 34300) / 2
  
    return distance


if __name__ == '__main__':
    try:
        while True:
            dist = getDistance()
            print("Distance = {:.2f} cm".format(dist))
            time.sleep(1)       # 每间隔1秒测量一次
  
        
    except KeyboardInterrupt:
        print("Stopped")
        GPIO.cleanup()

执行代码:

python3 hcsr.py

运行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665174.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号