US-100超声波测距模块
US-100

dispbuf[0] = 10; //显示 "-"
dispbuf[1] = 10; //显示 "-"
dispbuf[2] = 10; //显示 "-"
dispbuf[3] = 10; //显示 "-"
//定时器0中断,用做显示
timer0() interrupt 1 // 定时器0中断是1号
{
uchar dispcount; //自定义寄存器
static unsigned char count=0;
TH0 =(65536-2500)/256; //约2.50MS定时器初值
}
/*******************************************************************************************/
void DisplayLength(unsigned long number)
{
if(number > 4500) //如果大于4.5米,显示 "-"
{
UARTSnd(0X55);
}
/*******************************************************************************************/
void main(void)
{
unsigned long PreLength = 0;
led1 = ~led1;
}
/*******************************************************************************************/
超声波测距报告(带报警)

目录一、超声波测距原理二、超声波测距模块介绍1.主控模块2.电源模块3.显示模块4.超声波模块5.扬声器模块三、超声波测距功能介绍四、超声波测距前景展望五、心得附:程序超声波测距(可报警)一、超声波测距原理超声波发射器定期发送超声波,遇到被测物体时发生反射,反射波经超声波接收器接收并转化为电信号,只要测出发送和接收的时间差t,即可测出超声测距装置到被测物体之间的距离S:S=c*t/2(式中c为超声波在空气中的传播速度,c=331.45*√(1+T/273.16)) 由此可见声速与温度的密切的关系。
在应用中,如果温度变化不大或者对测量要求不太高(例如汽车泊车定位系统),则可认为声速是不变的,否则,必须进行温度补偿。
超声波传感器是超声测距核心部件,传感器按其工作介质可分气相、液相和固相传感器;按其发射波束宽度可分为宽波束和窄波束传感器;按其工作频率又可分为40kHz, 5OkHz等不同等级。
超声波在空气传播过程中,由于空气吸收衰减和扩散损失,声强随着传播距离的增大而衰减,而超声波的衰减随频率增大而成指数增加。
本设计选用气相、窄波束、40kHz的超声波传感器。
二、超声波测距模块介绍该产品共有五个模块,其中主控模块、电源模块、显示模块、扬声器模块集成在开发板上,超声波模块是外接的。
1.主控模块主要部分是51单片机。
51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。
该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATLEM公司的AT89系列,它广泛应用于工业测控系统之中。
目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。
51单片机是基础入门的一个单片机,还是应用最广泛的一种。
需要注意的是52系列的单片机一般不具备自编程能力。
主要功能:·8位CPU·4kbytes 程序存储器(ROM) (52为8K)·256bytes的数据存储器(RAM) (52有384bytes的RAM)·32条I/O口线·111条指令,大部分为单字节指令·21个专用寄存器·2个可编程定时/计数器·5个中断源,2个优先级(52有6个)·一个全双工串行通信口·外部数据存储器寻址空间为64kB·外部程序存储器寻址空间为64kB·逻辑操作位寻址功能·双列直插40PinDIP封装·单一+5V电源供电CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:用以存放程序、一些原始数据和表格;I/O口:四个8位并行I/O口,既可用作输入,也可用作输出;T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;五个中断源的中断控制系统;一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。
US-100超声波测距模块

1.概述US-100超声波测距模块可实现2cm~4.5m的非接触测距功能,拥有2.4~5.5V 的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO(通用接口总线),串口等多种通信方式,内带看门狗,工作稳定可靠。
2.主要技术参数3.本模块实物图及尺寸本模块如图3.1和图3.2所示:图3.1:US-100正面图本模块的尺寸:45mm*20mm*1.6mm。
板上有两个半径为1mm的机械孔,如图3.3所示:图3.3:US-100尺寸图4.接口说明本模块共有两个接口,即模式选择跳线和5 Pin接口。
模式选择跳线接口如图4.1所示。
模式选择跳线的间距为2.54mm,当插上跳线帽时为UART(串口)模式,拔掉时为电平触发模式。
图4.1:模式选择跳线接口5 Pin接口为2.54mm间距的弯排针,如图4.2所示:图4.2:5 Pin接口从左到右依次编号1,2,3,4,5。
它们的定义如下:●1号Pin:接VCC电源(供电范围2.4V~5.5V)。
●2号Pin:当为UART模式时,接外部电路UART的TX端;当为电平触发模式时,接外部电路的Trig端。
●3号Pin:当为UART模式时,接外部电路UART的RX端;当为电平触发模式时,接外部电路的Echo端。
●4号Pin:接外部电路的地。
●5号Pin:接外部电路的地。
5.电平触发测距工作原理在模块上电前,首先去掉模式选择跳线上的跳线帽,使模块处于电平触发模式。
电平触发测距的时序如图5.1所示:图5.1:US-100测距时序图图5.1表明:只需要在Trig/TX管脚输入一个10US以上的高电平,系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。
当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX管脚输出。
在此模式下,模块将距离值转化为340m/s时的时间值的2倍,通过Echo端输出一高电平,可根据此高电平的持续时间来计算距离值。
US-100超声波测距模块在Arduino平台上的使用说明

unsigned int TrigPin = 3; //将 Arduino 的 Pin3 连接至 US-100 的 Trig/TX unsigned long Time_Echo_us = 0; unsigned long Len_mm = 0;
void setup() { //Initialize
如果先将 US-100 与 Arduino 连好,再给 Arduino 下载程序,在下载程序时会出错, 因为 US-100 与 Arduino 的通信和 Arduino 下载程序时使用的同一个串口,会相互干扰。
图 3.1:串口模式下 US‐100 与 Arduino 的连接
3.2 串口模式下测距使用例程
}
3.3 串口模式下测温使用例程
int Temperature45 = 0;
void setup() { //将 Arduino 的 RX 与 TX(Digital IO 0 和 1)分别于 US-100 的 Echo/Rx 和 Trig/Tx 相连,确保连接前已经使 US-100 处于串口模式。
Serial.begin(9600); //设置波特率为 9600bps. }
Serial.begin(9600); //测量结果将通过此串口输出至 PC 上的串口监视器 pinMode(EchoPin, INPUT);//设置 EchoPin 为输入模式。 pinMode(TrigPin, OUTPUT); //设置 TrigPin 为输出模式。 }
void loop()
{ //通过 Trig/Pin 发送脉冲,触发 US-100 测距
unsigned int HighLen = 0; unsigned int LowLen = 0; unsigned int Len_mm = 0; void setup() { //将 Arduino 的 RX 与 T(X Digital IO 0 和 1)分别于 US-100 的 Echo/Rx 和 Trig/Tx 相连,确保连接前已经使 US-100 处于串口模式。
US-100超声波模块测试板使用说明V1

US‐100超声波模块测试板使用说明 1.概述US-100超声波测距模块可实现0~4.5m的非接触测距功能,拥有2.4~5.5V的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠。
US-100测试板可实现对US-100模块两种测距模式的测试。
2.测试板接口说明在进行测试时,本模块共用到如下4个接口:z S401:3Pin模式选择拨码开关z Trig模式接口:在电平触发模式下接超声波测距模块z UART模式接口:在UART模式下接超声波测距模块z2Pin电源接口:接3~3.6V直流电源。
接口位置如图2.1所示:图2.1:US-100测试板接口示意图3.电源接口电源接口如图3.1所示图3.1:电源接口说明 4.模式选择拨码开关图4.1:模式选择拨码开关说明5.电平触发模式测试在电平触发模式下进行测试,需先将拨码开关的1号及2号Pin 拨至下方,将3号Pin拨至上方,然后按照下列步骤进行: z将US-100超声波测距模块背部的模式选择跳线拔掉。
z将US-100超声波模块插至测试板的Trig模式接口。
z将测试板上电。
如图5.1所示:图5.1:电平触发模式测试场景图说明:电平触发模式下,数码管第一排显示“-25”,无意义;第二排显示当前测量距离值,单位是mm,图5.1中显示为196mm。
6.串口模式测试在串口触发模式下进行测试,需先将拨码开关的1号及3号Pin 拨至下方,将2号Pin拨至上方,然后按照下列步骤进行:z将US-100超声波测距模块背部的模式选择跳线插上。
z将US-100超声波模块插至测试板的Trig模式接口。
z将测试板上电。
如图6.1所示:图6.1:串口模式测试场景图说明:UART模式下,第一排显示的是温度值,图6.1中为20度;第二排显示的是当前测量的距离值,单位为mm,图6.1中为196mm。
常用超声波模块

常用超声波模块
以下是常见的超声波模块:
1.HC-SR04:该模块使用4个引脚,非常常见,可通过触发和回波来
进行距离测量。
2.JSNSR04T:这是一款基于HC-SR04的超声波传感器模块,具有防水
设计和长距离距离能力。
-015:这款超声波模块使用了5个引脚,包括VCC、GND、TRIG、ECHO和PWM输出。
4. LV-MaxSonar-EZ1:这是一款精度较高的超声波传感器,最大探测
距离可以达到6.5米。
5.SRF05:这款超声波模块采用了双晶体设计,提供了更高的探测精
度和稳定性。
6.SRF06:这个超声波模块也是双晶体设计,可以测量距离、高度和
宽度。
7. XL-MaxSonar-AE:这是一款高精度的超声波模块,可以进行距离
和障碍物检测,最大探测距离可以达到10米以上。
8. MB1240 XL-MaxSonar-EZ4:这是一款可靠稳定的超声波模块,特
别适用于室外环境和噪声较大环境下的距离测量。
超声波传感器测距

US-100 超声波测距模块1.概述US-100 超声波测距模块可实现2cm~4.5m 的非接触测距功能,拥有2.4~5.5V 的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠。
2.主要技术参数工作电压:DC 2.4V~5.5V静态电流:2mA工作温度:-20~+70 度输出方式:电平或UART(跳线帽选择)感应角度:小于15 度探测距离:2cm-450cm探测精度:0.3cm+1%UART 模式下串口配置:波特率9600,起始位1 位,停止位1 位,数据位8 位,无奇偶校验,无流控制。
3.实物图(自己拍的不是很清楚)4.测量原理选用超声波传感器来采集信号,超声波发射端和接收端在同一水平面上。
首先发射端向目标发射超声波,并同时启动定时器计时,超声波在空气中传播的途中一旦遇到障碍物后就会被反射回来,当接收端收到反射波后就会给负脉冲到单片机使其立刻停止计时。
定时器能够准确的记录下超声波发射点至障碍物之间往返传播所用的时间t,设声速为c,可得距离测量值为:s=ct/2,由单片机控制定时器可测得t值,从而得到s 值。
5.程序源代码本代码是基于C8051F120单片机,采用LCD液晶显示屏进行显示,经过多次调试可将误差缩小至1-2mm。
#include<c8051f120.h>#include<intrins.h>#include<declare.h>typedef unsigned char uchar;typedef unsigned int uint;extern uchar old_SFRPAGE;double n0=0,n=0;float M0, t,s;sbit D=P1^0;//连TX //输出高低电平sbit Q=P1^1;//连RXuchar flag=0;uchar flag_0=1;void timer1_int() // 定时器1,产生中断{old_SFRPAGE = SFRPAGE;SFRPAGE=0X00;TL1=0X00;TH1=0X00;TMOD|=0X90; //定时器1方式1,16位定时器功能, CKCON=0X00; //TCLK=SYSCLK/12;TCON|=0X40; //启动定时器1ET1=1;EA=1; //允许定时器1中断SFRPAGE = old_SFRPAGE;}void timer1_intr() interrupt 3{old_SFRPAGE = SFRPAGE;SFRPAGE=0X00;n0++;TF1=0;SFRPAGE=old_SFRPAGE;}void timer3_int() //定时器3溢出标志位必须使用软件清0{ //16 位自动重载定时器,当初值为0xFFDB 时为200000Hz,周期为5usold_SFRPAGE = SFRPAGE;SFRPAGE=0x01;TMR3L = 0XDB;TMR3H = 0XFF; //初值RCAP3L = 0XDB;RCAP3H = 0XFF; //重载值(捕捉寄存器)TMR3CF = 0X00; //sysclk/12 向上计数TMR3CN = 0X04; //自动重载EIE2 = 0X01;EA=1; //允许中断SFRPAGE = old_SFRPAGE;}void timer3_intr() interrupt 14{n++;if(n > 2000){n = 0;}if(n<5) //25usD=1;elseD=0;old_SFRPAGE = SFRPAGE;SFRPAGE=0x01;TMR3CN &= 0X7F; //清除中断标志SFRPAGE = old_SFRPAGE;}void port_int(){old_SFRPAGE = SFRPAGE;SFRPAGE=0x0F;P1MDOUT=0XFF; //推挽输出,键盘P3|=0X02; //液晶端口接P3XBR1=0X10; // INT1 接到端口XBR2=0X40; //允许交叉开关,全局弱上拉SFRPAGE = old_SFRPAGE;}uchar code num[16][16]={ {0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F ,0x00},{0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00 ,0x00},{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30, 0x00},{0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E ,0x00},{0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24 ,0x00},{0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E ,0x00},{0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E ,0x00},{0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00 ,0x00},{0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1 C,0x00},{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F ,0x00},{0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x3 8,0x20},{0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E ,0x00},{0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08 ,0x00},{0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F ,0x00},{0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18 ,0x00},{0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00 ,0x00},};//0~Fuchar code shen[]={0x00,0x00,0x00,0xFC,0x54,0x56,0x55,0x54,0x54,0x54,0x54,0xFC,0x00,0x80,0 x40,0x00,0x40,0x42,0x42,0x23,0x22,0x22,0x12,0x12,0x0A,0x46,0x82,0x7F,0x01,0x00,0x00,0x00 ,};uchar code gao[]={0x04,0x04,0x04,0x04,0xF4,0x94,0x95,0x96,0x94,0x94,0xF4,0x04,0x04,0x04,0x 04,0x00,0x00,0xFE,0x02,0x02,0x7A,0x4A,0x4A,0x4A,0x4A,0x4A,0x7A,0x02,0x82,0xFE,0x00, 0x00,};unsigned char code danwei[][16]={{0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x3 0,0x00,0x00,0x00},//:{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3 F},//m{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x0 1},//-};//uchar code dian[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x 00,0x00};void display (float dat){uint x1,x2,x3,x4;x1=(uint)(dat)%10;x2=(uint)((dat)/10)%10;x3=(uint)((dat)/100)%10;x4=(uint)((dat)/1000)%10;if((dat>1500)&&(dat<1900)){lcd_disword(0,0,shen);lcd_disword(18,0,gao);lcd_disletter(36,0,danwei[0]);lcd_disletter(45,0,num[x4]);lcd_disletter(54,0,num[x3]);lcd_disletter(63,0,num[x2]);lcd_disletter(72,0,num[x1]);lcd_disletter(81,0,danwei[1]);lcd_disletter(90,0,danwei[1]);}else{//x5=(uint)((dat)/10000)%10;//y1=(uint)(dat*10)%10;//y2=(uint)(dat*100)%10;//y3=(uint)(dat*1000)%10;//lcd_disletter(24,4,num[x5]);lcd_disword(0,0,shen);lcd_disword(18,0,gao);lcd_disletter(36,0,danwei[0]);lcd_disletter(45,0,danwei[2]);lcd_disletter(54,0,danwei[2]);lcd_disletter(63,0,danwei[2]);lcd_disletter(72,0,danwei[2]);lcd_disletter(81,0,danwei[1]);lcd_disletter(90,0,danwei[1]);//lcd_disletter(64,4,dian);//lcd_disletter(72,4,num[y1]);//lcd_disletter(80,4,num[y2]);//lcd_disletter(88,4,num[y3]);}}void main()uchar i;sys_int();oscx_int();pll_int();port_int();lcd_int();for(i=255;i>0;i--)delay1ms();timer3_int();timer1_int();delay1ms();lcd_clr();while(1){//display(s);if(Q==0) //当门控为0时进行计算并显示{if(flag==0){ old_SFRPAGE = SFRPAGE;SFRPAGE=0x00;M0=n0*65536+(TL1+TH1*256);t=M0/(11.0592*1000000*8/12);s=t*170000;display(s);flag=1;flag_0=1 ;SFRPAGE = old_SFRPAGE;}}elseif(flag_0==1){old_SFRPAGE = SFRPAGE;SFRPAGE=0x00;TL1=0;TH1=0;SFRPAGE = old_SFRPAGE;n0=0;flag_0=0;flag=0 ;}}}6.测量结果图为LCD液晶屏显示的身高测量值。
基于STM32单片机的多功能智能盲人拐杖设计

基于 STM32 单片机的多功能智能盲人拐杖设计摘要:针对盲人出行安全问题,设计一款解决盲人出行困难的智能拐杖。
本设计以 STM32 单片机为控制核心,结合当前先进且较为成熟的信号处理算法、传感器技术、无线通信技术,通过超声波模块进行广角测障利用语音播报模块报警,引导盲人及时规避障碍物。
同时采用 MPU6050 水平检测模块监测拐杖与地面的倾角,在出现突发情况时,不仅可以通过语音模块识别求救,还可以用短信的方式将GPS的实时定位位置发送给监护人。
此外,采用OPENMV 4进行机器视觉图像分析,使拐杖能对外界变动的信息做出应答,为盲人通过路况复杂的红绿灯路口提供保障。
现测试结果表明,整个系统性能稳定,灵敏度较高,操作方便,且功能易于扩展,能满足盲人出行的多方面需求。
关键词:盲人拐杖;红绿灯识别;超声波测距;跌倒报警项目名称:“无忧出行”智能盲人手杖装置设计,项目编号:202010214020,国家级大学生创新训练项目1概述针对盲人出行安全问题,现有的辅助盲人出行工具性能单一且无法普及,设计智能盲人手杖可以帮助更多盲人实现安全出行。
随着信息化社会的飞速发展,在基本满足了大众的物质需求后,人们也更加关注社会残障群体。
相比于正常人,残障人士的生活有诸多的不便,更需要社会对他们的理解与关注。
针对盲人出行安全问题,现有的辅助盲人出行工具性能单一且无法普及,设计了一款基于STM32单片机控制的集超声波测障、语音播报、红绿灯识别、短信报警、GPS定位等功能于一体的智能拐杖系统, 能够实时监测周边情况, 保护老人安全出行。
2系统总体设计单片机实时监控测距模块传送来的信号,对信号处理后,进行避障决策判断。
当检测到障碍物时,手杖自动报警(语音和机械振动双重模式)提示盲人避障。
同时,用图像分析技术识别并筛选外界信息,构造合理的内部控制逻辑,组建红绿灯决策功能,另外,还有一键求助和黑夜防撞等特色功能,进一步提高盲人出行安全系数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.概述
US-100超声波测距模块可实现
2cm~4.5m的非接触测距功能,拥有
2.4~5.5V的宽电压输入范围,静态功耗
低于2mA,自带温度传感器对测距结果
进行校正,同时具有GPIO(通用接口总线),串口等多种通信方式,内带看门狗,工作稳定可靠。
2.主要技术参数
3.本模块实物图及尺寸
本模块如图3.1和图3.2所示:
图3.1:US-100正面图
本模块的尺寸:45mm*20mm*1.6mm。
板上有两个半径为1mm的机械孔,如图3.3
所示:
图3.3:US-100尺寸图
4.接口说明
本模块共有两个接口,即模式选择跳
线和5 Pin接口。
模式选择跳线接口如图4.1所示。
模式选择跳线的间距为2.54mm,当插上跳线帽时为UART(串口)模式,拔掉时为电平触发模式。
图4.1:模式选择跳线接口
5 Pin接口为2.54mm间距的弯排针,如图4.2所示:
图4.2:5 Pin接口
从左到右依次编号1,2,3,4,5。
它们的定义如下:
1号Pin:接VCC电源(供电范围2.4V~5.5V)。
2号Pin:当为UART模式时,接外部电路UART的TX端;当为电平
触发模式时,接外部电路的Trig
端。
3号Pin:当为UART模式时,接外部电路UART的RX端;当为电平
触发模式时,接外部电路的Echo
端。
4号Pin:接外部电路的地。
5号Pin:接外部电路的地。
5.电平触发测距工作原理
在模块上电前,首先去掉模式选择跳线上的跳线帽,使模块处于电平触发模
式。
电平触发测距的时序如图5.1所示:
图5.1:US-100测距时序图
图5.1表明:只需要在Trig/TX管脚输入一个10US以上的高电平,系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。
当检测到回波信号后,模块还要进行温度值的测量,然后根据当
前温度对测距结果进行校正,将校正后
的结果通过Echo/RX管脚输出。
在此模式下,模块将距离值转化为340m/s时的时间值的2倍,通过Echo
端输出一高电平,可根据此高电平的持
续时间来计算距离值。
即距离值为:(高电平时间*340m/s)/2。
注:因为距离值已经经过温度校正,此时无需再根据环境温度对超声波声速
进行校正,即不管温度多少,声速选择
340m/s即可。
6.串口触发测距工作原理
在模块上电前,首先插上模式选择跳线上的跳线帽,使模块处于串口触发模
式。
串口触发测距的时序如图6.1所示:
在此模式下只需要在Trig/TX管脚输入0X55(波特率9600),系统便可发出8个40KHZ的超声波脉冲,然后检测回波
信号。
当检测到回波信号后,模块还要
进行温度值的测量,然后根据当前温度
对测距结果进行校正,将校正后的结果
通过Echo/RX管脚输出。
输出的距离值共两个字节,第一个字节
是距离的高8位(HDate),第二个字节
为距离的低8位(LData),单位为毫米。
即距离值为(HData*256 +LData)mm。
串口触发测距时序图
7.串口触发测温工作原理
在模块上电前,首先插上模式选择跳线上的跳线帽,使模块处于串口触发模式。
串口触发测温的时序如图7.1所示:
在此模式下只需要在Trig/TX管脚输入0X50(波特率9600),系统便启动温度传感器对当前温度进行测量,然后将温度值通过Echo/RX管脚输出。
测量完成温度后,本模块会返回一个字节的温度值(TData),实际的温度值为TData-45。
例如通过TX发送完0X50后,在RX端收到0X45,则此时的温度值为[69(0X45的10进制值)-45] = 24度。
图7.1:串口触发测温时序图
可搭配本店超声波测距模块开发板。