树莓派控制超声波模块HC-SR04 驱动 使用教程—徐奥雯编写|XUAOWEN

在这里插入图片描述
在这里插入图片描述
使用方法:
新建py文件,将下面的驱动代码复制到文件中保存,命名drive_HC_SR04.py
按照接线图连接树莓派与超声波模块 HC-SR04

在另一个文件导入本文件(放在同一文件夹) import drive_HC_SR04
使用函数 drive_HC_SR04.hc_sr04(trig引脚号,echo引脚号) 进行测距 函数返回值为距离 单位为厘米
trig引脚号 与 echo引脚号 换成你连接树莓派的引脚号(BCM引腳編號模式)

# 徐奥雯编写   XUAOWEN-ASSETS  E-MAIL:CHINA@XUAOWEN.CN  WECHAT:US-00000
# 超声波  HC-SR04模块

# 使用方法:在另一个文件导入本文件(放在同一文件夹)  import drive_HC_SR04
# 使用函数 drive_HC_SR04.hc_sr04(trig引脚号,echo引脚号) 进行测距 函数返回值为距离 单位为厘米
# trig引脚号 与 echo引脚号 换成你连接树莓派的引脚号(BCM引腳編號模式)

# 供电 VCC   接5V
# 觸發 TRIG  使用GPIO口  发出
# 回波 ECHO  使用GPIO口  接收  高电平持续的时间就是超声波从发射到返回的时间
# 接地 GND   接GND

import RPi.GPIO as GPIO
import time

def hc_sr04(TRIG_pin,ECHO_pin):

    GPIO.setmode(GPIO.BCM)  # 設置使用BCM引腳編號模式

    GPIO.setup(TRIG_pin,GPIO.OUT)  # 設置輸出引腳
    GPIO.setup(ECHO_pin,GPIO.IN)  # 設置輸入引腳

    time.sleep(0.1)

    GPIO.output(TRIG_pin,True)  # True False或者使用 GPIO.HIGH GPIO.LOW
    time.sleep(0.00001)  #  發送脉冲10微秒
    GPIO.output(TRIG_pin,False)

    # 高电平持续的时间就是超声波从发射到返回的时间
    while GPIO.input(ECHO_pin) == 0:  # 检测回波电平是否一直为0
        start_time = time.time()  # 得到回波脉冲开始时间

    while GPIO.input(ECHO_pin) == 1:  # 检测回波电平是否一直为1
        end_time = time.time()  # 得到回波脉冲结束时间

    time01 = end_time - start_time
    # print('往返耗时为 '+ str(time01) + '秒')
    cm = (34320*time01)/2  # 声速乘以时间除以2
    # print('距离为 '+ str(cm) + '厘米')
    return cm

# print(hc_sr04(14,15))

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐奥雯XUAOWEN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值