【创客教育】超声波测距模块介绍和使用方法

超声波测距模块及HCSR04简单介绍

超声波测距模块(Ultrasonic Distance Sensor)是用来测量距离的一种产品。
超声波测距模块有好多种类型,在Arduino实验项目中,普遍使用HC-SR04。HC-SR04广泛应用于机器人避障、液位检测、智能家居等领域。

在这里插入图片描述

HC-SR04基本参数:

  • 工作电压:5V DC(兼容3.3V逻辑电平)
  • ​测距范围:2cm ~ 400cm(部分新版HC-SR04测距可达600cm)
  • 测距精度:3mm(最高可达0.1cm±1%)
  • 工作频率:40kHz
  • 探测角度:≤15度(圆锥形)

测距原理

在这里插入图片描述
HCSR04测量距离的大概步骤如下:

  1. 触发信号‌:通过控制器给“Trig引脚”发送一个最少10μs的TTL高电平,触发超声波测距模块开始测距。
  2. 模块通过发射端(标注T-transmission)发出8个40kHz的脉冲信号(超声波)。
  3. 信号传播‌:超声波信号在空气中传播,遇到障碍物后反射回来。
  4. ‌信号接收‌:接收端(标注R-reception)捕获反射回来的信号,模块进行处理。
  5. 回响信号:模块处理的结果变换为,高电平脉冲,其脉冲宽度是超声波信号发出到接收的时间,通过“Echo引脚”输出到控制器。
  6. 距离计算‌:通过脉冲宽度(传播时间),结合超声波在空气中的传播速度(在20°C大约为340m/s),使用公式 :S=V×t2S=\frac{{V}\times{t}}{2}S=2V×t,其中S 是距离,V 是声速,t 是时间‌。

补充说明:

  • 超出距离:若距离>400cm,Echo可能输出固定66ms高电平;
  • ​测量周期:建议≥60ms,避免发射信号干扰回波。
  • 物体要求:被测物体面积≥0.5平方米且表面平整,否则影响精度。
  • 环境因素:工作温度大约-40~85℃,温度、湿度等会影响声速,需校准。

扩展说明

在数字信号处理和控制系统设计中,Trig和 Echo信号是非常重要的概念:

  • Trig触发信号(Trigger Signal):,它通常通过发出一个电平信号,用于控制模块开始操作。
  • Echo回响信号(Echo Signal):通常指的是接受模块操作后返回的信号​

Arduino项目的使用

引脚定义及接线

  • VCC:电源输入(5V)
  • Trig:触发控制信号输入(连接到数字引脚,提供高电平脉冲,如D9)
  • Echo:回响信号输出(连接到数字引脚,读取高电平脉冲,如D10)
  • ​GND:接地

Arduino项目代码

const int trigPin = 9;  // 触发引脚
const int echoPin = 10; // 回声引脚

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  // 触发信号:通过Trig引脚发送10μs高电平触发脉冲信号,启动超声波发射
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // 测量Echo引脚的高电平持续时间,即超声波往返时间(单位:微秒)
  long duration = pulseIn(echoPin, HIGH);
  
  // 计算距离(单位:厘米)
  float distance = duration * 0.034 / 2;  // 距离(cm)等于高电平持续时间*声速(340m/s → 0.034cm/μs),除以2表示单程距离

  // 串口输出结果
  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");

  delay(1000);  // 间隔1秒
}

补充说明

扩展应用

结合蜂鸣器或LED实现倒车雷达(距离越近警报越急促)
如需更复杂的项目(如LCD显示),可参考的I2C LCD1602扩展代码。

超声波测距模块和温度传感器搭配使用减少误差

超声波在不同温度下传播速度不同,所以温度会影响到测量精度,所以有时候会搭配温度传感器(如DS18B20)对现场温度进行测量,并通过软件计算实现波速的温度补偿,使测量误差降低。
在这里插入图片描述
将测量的速度数据与温度数据进行一阶拟合得出较为精确的值。

其他超声波测距模块:

parallax ping 超声波测距传感器 28015在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值