超声波模块

更新时间:2024-01-02 07:25:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

超声波传感器模块

1) 硬件工作原理

超声波测距传感器是模拟传感器。超声波测距传感器利用声音在空气中的传输距离和传输时间成正比的原理,通过检测不同远近的反射面对超声波反射回去的时间不同来检测障碍物的距离。超声波传感器有一个发射头和一个接收头,安装在同一面上。在有效的检测距离内,发射头发射特定频率的超声波,遇到检测面反射部分超声波,接收头接收返回的超声波,由芯片记录超声波的往返时间,并计算出距离值,本模块把距离值通过DA芯片转化成模拟值。“控制器模块”通过扩展接口的模数转换,再通过软件处

理,就可以读取离障碍物的距离并在数码管上显示数值。

当超声波测距模块检测到障碍物,同时超声波模块上LED1亮,则数码管显示检测到的距离;当超声波测距模块没有检测到障碍物,同时超声波模块上LED1灭,则数码管显示888。

2) 软件工作原理

“控制器模块”硬件电路通过扩展接口将完成两个任务:1.读取当前接口的AD转化结果。2.把当前的模拟值转化成距离值并把距离值送“显示模块”进行显示。

超声波模块上的DA芯片使用MCP4822, 由公式Vout=2.048*2*Dn/4096??(1) Dn是数字输入量Dn=距离<<3(为了提高精度)

扩展接口取得的AD值AD_value=(Vin/Vcc)*1024??(2)

Vin =(AD_value/1024)* Vcc??(3)

因为(1)中的Vout与(2)中的Vin相等,则2.048*2*Dn/4096=(AD_value/1024)* Vcc,Dn= AD_value*4096* Vcc/2.048*1024*2;即Dn=0.97* Vcc* AD_value;

所需求的距离S=Dn>>3;Vcc=5V; AD_value 9 17 25 33 42 50 58 Vin=(AD_value/1024)* Vcc 0.04V 0.08V 0.12V 0.16V 0.20V 0.24V 0.28V S=(0.97* Vcc* AD_value)>>3 5cm 10cm 15cm 20cm 25cm 30cm 35cm 66 75 83 91 99 108 116 124 132 141 149 157 165 198 231 264 297 330 413 495 0.32V 0.36V 0.40V 0.44V 0.48V 0.52V 0.56V 0.60V 0.64V 0.68V 0.72V 0.76V 0.80V 0.96V 1.12V 1.28V 1.45V 1.61V 2.01V 2.41V 40cm 45cm 50cm 55cm 60cm 65cm 70cm 75cm 80cm 85cm 90cm 95cm 100cm 120cm 140cm 160cm 180cm 200cm 250cm 300cm

IIC接口 DA输出接口 从上至下为Vout、Vcc、 GND 流程图:

初始化、关闭声光提示声明变量初始化AD函数读取ADC转换结果,把处理后的数据送显示模块流程图说明:

上电先初始化各端口状态:声光输出口都处于关闭状态,即P0.0、P0.1、P0.2端口输出一个高电平。声明变量及初始化AD函数。

完成初始化工作后,程序就读取ADC转化结果,由公式S= (AD_value*4.84)>>3可以计算小车离障碍物的距离,并把当前的距离值送“显示模块”进行显示。

本文来源:https://www.bwwdw.com/article/s6tx.html

Top