单片机实验(三) Arduino 超声波测距
实验目的
- 理解超声波脉冲飞行时间测距的基本原理;
- 掌握 Arduino 数字脉冲的产生、计时和串口数据显示方法;
- 通过标定实验认识测量范围、误差、分辨率和环境干扰。
预习材料
- 了解 HC-SR04 模块的VCC、Trig、Echo和GND引脚功能;
- 阅读 Arduino pulseIn() 函数说明;
- 复习距离、传播速度与往返时间的关系,取室温空气中声速约343 m/s。
实验器材
Arduino UNO 或兼容开发板1块,HC-SR04超声波测距模块1个,面包板1块,USB线1条,杜邦线若干,直尺或卷尺1把,平整硬质挡板1块,安装 Arduino IDE 的笔记本电脑1台。实验步骤
- 断开 USB,按模块标识连接VCC至5 V、GND至GND,并将Trig和Echo分别连接到两个数字引脚;检查接线后再上电;
- 编写程序:向Trig发送约10 μs高电平触发脉冲,使用pulseIn()测量Echo高电平持续时间,并设置合理的超时时间;
- 根据“距离=Echo持续时间×声速÷2”计算距离,以厘米为单位每200 ms输出一次到串口监视器;
- 将平整挡板依次放在10 cm、20 cm、40 cm、60 cm和100 cm处,每个位置记录10次测量值,计算平均值和最大偏差;
- 在程序中加入5次移动平均,比较滤波前后数据波动;
- 改变挡板角度或换用吸声较强的软质物体,观察丢失回波或误差增大的现象,并分析原因。
思考题
- 距离计算公式中为什么要除以2?
- 温度变化会怎样影响测距结果?
- 移动平均能够减小随机波动,但会给快速变化的测量带来什么影响?
考核要求
于1周内提交实验报告,内容包括接线照片、完整程序、5个距离点的原始数据与误差表、滤波前后对比、异常回波现象分析及思考题解答。实验索引
- 模拟电路实验(一):示波器的使用与简易传声器电路
- 模拟电路实验(二):共射放大电路与差分放大电路
- 模拟电路实验(三):运算放大电路
- 模拟电路实验(四):Arduino驱动电机与模数转换
- 数字电路实验(一):FPGA基础入门
- 数字电路实验(二):FPGA中IP核的使用
- 数字电路实验(三):FPGA应用实例之梳状滤波器
- 单片机实验(一):单片机基础与 Arduino 流水灯
- 单片机实验(二):Arduino PWM 信号生成与示波器测量
- 单片机实验(三):Arduino 超声波测距
- 综合实验(一):电子元器件与 PCB 电路设计基础
- 综合实验(二):STM32F446RE 定时器、编码器测速与电机闭环控制
- 综合实验(三):无人机控制系统与电子电路