用树莓派3B+和HC-SR04超声波测距模块实现测距 (1)

1.材料准备

①树莓派3B+
②杜邦线四根(母对母)
③HC-SR04超声波测距模块
(买DC3.3v-5v这种型号,Vcc去接 3.3v DC 电源)
(如果你买的是DC5v这种型号,Vcc只能接 5v DC 电源,则Echo引脚返回的是 5v信号,由于树莓派的 GPIO口 接收超过 3.3v 的信号可能会被烧毁,因此还需要自己加一个分压电路,太麻烦)

2. 树莓派40Pin引脚对照表

在这里插入图片描述

3. HC-SR04简介

HC-SR04有4 个引脚, 2 个电源引脚(Vcc 、GND)和 2 个控制引脚(Trig、Echo)
Vcc 和 Gnd 接 3.3v DC 电源,但不推荐用独立电源给它供电,可以接树莓派的引脚给它供电。
Trig 引脚用来接收来自树莓派的控制信号。接任意 GPIO 口。
Echo 引脚用来发送测距结果给树莓派。接任意 GPIO 口。
在这里插入图片描述
HC-SR04 的测距过程

  1. 树莓派向 Trig 脚发送一个持续 10us 的脉冲信号。
  2. HC-SR04 接收到树莓派发送的脉冲信号,开始发送超声波 ,并把 Echo置为高电平。
  3. 当 HC-SR04 接收到返回的超声波时,把 Echo 置为低电平。

可见, 超声波从发射到返回经过的时间,就是Echo高电平持续的时间
在这里插入图片描述

4.组件连接

我是这样接的
HC-SR04的Vcc引脚接树莓派的17引脚(3.3v)
HC-SR04的GND引脚接树莓派的39引脚(Ground)
HC-SR04的Trig引脚接树莓派的15引脚(GPIO22)
HC-SR04的Echo引脚接树莓派的11引脚(GPIO17)

5.树莓派上的操作

RPi.GPIO包提供了一个控制树莓派GPIO(General-purpose input/output)的类

# coding=UTF-8
import RPi.GPIO as GPIO
import time
 
# 设置警告信息为不输出
GPIO.setwarnings(False)
# 使用BCM针脚编号方式
GPIO.setmode(GPIO.BCM)
# 控制引脚GPIO22
trig = 22
# 接收引脚GPIO17
echo = 17
# 设置trig引脚为输出模式,初始化输出为低电平
GPIO.setup(trig, GPIO.OUT, initial=GPIO.LOW)
# 设置echo引脚为输入模式
GPIO.setup(echo, GPIO.IN)
HIGH = 1
LOW = 0
 
 
# 测量函数
def measure():
    # 树莓派向trig引脚发送信号,一个持续10us的方波脉冲
    GPIO.output(trig, HIGH)
    time.sleep(0.00001)
    GPIO.output(trig, LOW)
 
    # HC - SR04接收到脉冲信号,开始发送超声波并将Echo引脚置为高电平
    # echo引脚之前一直接收低电平信号,一旦收到高电平信号就开始记录时间
    while GPIO.input(echo) == LOW:
        pass
    start = time.time()
    # 当 HC-SR04 接收到返回的超声波 时,把Echo引脚置为低电平
    # 也就是说echo引脚接收到的高电平结束,终止计时
    while GPIO.input(echo) == HIGH:
        pass
    end = time.time()
 
    # 计算距离,单位厘米,这里的340m/s是超声波在空气中的传播速度
    distance = round((end - start)*340/2*100, 2)
    print("distance:{0}cm".format(distance))
 
 
# 循环测距,间隔为1秒
while True:
    measure()
    time.sleep(1)
# 清理脚本使用过的 GPIO 通道
GPIO.cleanup()

6.树莓派无需显示屏的VNC Viewer方式的远程连接

请参考学姐博客:https://blog.csdn.net/qq_43279579/article/details/109142276?ops_request_misc=&request_id=&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2blogkoosearch~default-1-109142276-null-null.268v1koosearch&utm_term=%E6%A0%91%E8%8E%93%E6%B4%BE&spm=1018.2226.3001.4450

7.实验结果展示

在这里插入图片描述

8.资料参考

https://blog.csdn.net/YINZHE__/article/details/120864069
https://blog.csdn.net/YINZHE__/article/details/120586503
https://zhuanlan.zhihu.com/p/396524598
http://lihuaxi.xjx100.cn/news/162754.html?action=onClick

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值