RaspberryPi 4B 使用超声波传感器 HC-SR04 进行距离检测

news/2025/1/31 7:18:38/

由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人研制上也得到了广泛的应用。

一、超声波测距原理

超声波测距原理是在超声波发射装置发出超声波,它的根据是接收器接到超声波时的时间差,与雷达测距原理相似。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。

超声波在空气中的传播速度为 340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s =340t/2。
在这里插入图片描述

特点

  1. 频率越高,精度也越高,但检测距离越近(空气衰减增大);
  2. 输出功率越高、灵敏度越高,检测距离也越远;
  3. 通常检测角度小的,测距范围略远;

二、HC-SR04 模块

HC-SR04 超声波测距模块可提供约 2cm ~ 400cm 的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。

在这里插入图片描述

工作原理

  1. 采用 IO 触发测距,给至少 10us 的高电平信号;
  2. 模块自动发送 8 个 40KHz 的方波,自动检测是否有信号返回;
  3. 有信号返回,通过 IO 输出一高电平,高电平持续时间就是超声波从发射到返回的时间。
    在这里插入图片描述

主要技术参数

  1. 使用电压:DC 5V
  2. 静态电流:小于 2mA
  3. 电平输出:高 5V
  4. 电平输出:低 0V
  5. 感应角度:不大于 15 度
  6. 探测距离:2cm ~ 400cm
  7. 高精度:可达 0.3cm

板上接线方式,VCC、trig(控制端)、echo(接收端)、 out(空脚)、 GND

三、HC-SR04 模块使用

接线如下

树莓派HC-SR04 模块
5VVcc
GPIO17Trig
GPIO18Echo
GNDGnd

程序代码

#! /usr/bin/python
# -*- coding:utf-8 -*-import RPi.GPIO as GPIO
import timedef getdistance():#发出触发信号GPIO.output(11,GPIO.HIGH)#保持10us以上time.sleep(0.000015)GPIO.output(11,GPIO.LOW)while not GPIO.input(12):pass#发现高电平时开时计时t1 = time.time()while GPIO.input(12):pass#高电平结束停止计时t2 = time.time()#返回距离,单位为米return (t2-t1) * 340 / 2def loop():while True:print("Distance:" + str(getdistance()) + "m")time.sleep(0.5)if __name__ == "__main__":try:GPIO.setmode(GPIO.BOARD)GPIO.setwarnings(False)#第11号针,GPIO17GPIO.setup(11,GPIO.OUT,initial=GPIO.LOW)#第12号针,GPIO18GPIO.setup(12,GPIO.IN)time.sleep(1)loop()except KeyboardInterrupt:GPIO.cleanup()

在这里插入图片描述


http://www.ppmy.cn/news/719646.html

相关文章

超声波(HC-SR04)

超声波(HC-SR04) 1、 2、工作流程 ①单片机引脚触发Trig测距,给至少10us的高电平 ②模块自动发送8个40khz的方波,自动检测是否有信号返回 ③有信号返回,通过IO口输出高电平,并单片机ji’shu’an2高电平的…

关于两个HC05通讯的实际操作流程

市场上HC05模块有好几种,一般都是带有按键的。像下边这种(6只引脚的)(这个是从优信电子那搞过来的,他的模块的按键有点问题,不用摁照样能进入AT模式) 要使模块之间交互数据,必须要能…

74HC595实验

74HC595实验 实验现象 利用74HC595芯片实现LED流水灯的效果 理论学习 实现穿行数据转换为并行数据的控制模式 原理图 代码编写 #define latchpin 8 #define clockpin 12 #define datapin 11 //定义三个引脚 unsigned char table[8] {0x01,0x02,0x04,0x08,0x10,0x20,0x40…

hc sr04流程图_超声波测距模块工作原理_HC-SR04模块详解

超声波测距模块有好多种类型,目前比较常用的有URM37超声波传感器默认是232接口,可以调为TTL接口,URM05大功率超声波传感器测试距离能到10米,算是目前来说测试距离比较远的一款了,另外还有比较常用的国外的几款SRF系列的超声波模块,目前的超声波模块精度能到1cm。本文主要…

hc 05 蓝牙c语言程序,ATK-HC05 运用在STM32平台上的HC05蓝牙通信代码用C语言编写 - 下载 - 搜珍网...

1,ATK-HC05蓝牙串口模块/1,ATK-HC05蓝牙串口模块原理图/ATK-HC05-V11_SCH.pdf 1,ATK-HC05蓝牙串口模块/1,ATK-HC05蓝牙串口模块原理图/封装库/99SE/ATK-HC05-V1.3_PCB.lib 1,ATK-HC05蓝牙串口模块/1,ATK-HC…

SM74HC595D电路级联教程

SM74HC595D电路级联教程 1简述 SM74HC595D 是一种具有8 位锁存、8 位串行输入、 8 位串/并行输出、 串—并移位寄存器和三态输出功能的通用LED 驱动芯片。具有8 位移位寄存器和一个存储器,三态输出功能。 该设备具有串行输入(SER)和串行输出…

bert中 [CLS] 和 [SEP]怎么使用

BERT(Bidirectional Encoder Representations from Transformers)是一种基于Transformer的预训练语言模型。在BERT中,[CLS] 和 [SEP] 是特殊的标记(tokens),用于表示句子的开始和结束,或者在处理…

串口控制74HC164C语言,51单片机74HC164串口控制数码管显示

一般数码管需要接7个脚才能显示,如果用单片机本身的I/O口,虽然可以但是浪费宝贵的i/O口资源。本例用移位寄存器74HC164作为数码管驱动进行控制。 74HC164特性 是一种8位串转并口的控制芯片,用于数码管和液晶显示等. 工作电压2--6V 管脚定义: …