学习目标
- 理解超声波的原理
- 实现基本测距
- 通过串口在电脑上打印实际距离
- 通过串口设置阈值,当距离太近,报警装置报警
超声波测距原理
HC-SR04 超声波测距模块可提供 2cm-400cm 的非接触式距离感测功能,测距精度可达高到 3mm;模块包括超声波发射器、接收器与控制电路。基本原理如下:
(1)采用IO口TRIG触发测距,给至少10us的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;
操作:初始化时将trig和echo端口都置低,首先向给 trig发送至少10 us的高电平脉冲(模块自动向外发送8个40K的方波),然后等待,捕捉 echo 端输出上升沿,捕捉到上升沿的同时,打开定时器开始计时,再次等待捕捉echo的下降沿,当捕捉到下降沿,读出计时器的时间,这就是超声波在空气中运行的时间(或采用输入捕获得出高电平时间),按照 测试距离=(高电平时间*声速(340M/S))/2 就可以算出超声波到障碍物的距离。
定时器
通过定时器向上计数到24ms(因为超声波模块的测距范围为2cm-400c