US-016超声波测距模块
1. 概述
US-016超声波测距模块可实现2cm~3m的非接触测距功能,供电电压为5V,工作电流为3.8mA,支持模拟电压输出,工作稳定可靠。本模块根据不同应用场景可设置成不同的量程(大测量距离分别为1m和3m);当Range管脚悬空时,量程为3m。
US-016能将测量距离转化为模拟电压输出,输出电压值与测量距离成正比。
2. 主要技术参数
电气参数 |
US-016超声波测距模块 |
工作电压 |
DC 5V |
工作电流 |
3.8mA |
工作温度 |
0~+70度 |
输出方式 |
模拟电压(0~Vcc) |
感应角度 |
小于15度 |
探测距离 |
2cm-300cm |
探测精度 |
0.3cm+1% |
分辨率 |
1mm |
3. 本模块尺寸图
4. 接口说明
本模块有一个接口:4 Pin供电及通信接口。
4 Pin接口为2.54mm间距的弯排针,如图4.1所示:
从左到右依次编号1,2,3,4。它们的定义如下:
l 1号Pin:接VCC电源(直流5V)。
l 2号Pin:量程设置引脚(Range),当模块上电时此引脚为高电平时,量程为3m;当模块上电时此引脚为低电平时,量程为1m。此引脚内带上拉电阻,当Range引脚悬空时,量程为3m。
l 3号Pin:模拟电压输出引脚(Out),模拟电压与测量距离成正比,输出范围为0~Vcc。
l 4号Pin:接外部电路的地。
5. 测距工作原理
模块上电后,系统先判断Range引脚的输入电平,根据输入电平状态来设置不同的量程。当Range引脚为高电平时,量程为3m,当Range管脚为低电平时,量程为1m。
然后,系统开始连续测距,同时将测距结果通过模拟电压在Out管脚输出。当距离变化时,模拟电压也会随之进行变化。
模拟电压与测量距离成正比,模拟电压的输出范围是0~Vcc。
当系统量程为1m时,测量距离为:L = 1024*Vout/Vcc(mm)。当输出电压为0V对应距离为0m,输出Vcc对应为1.024m。
当系统量程为3m时,测量距离为:L = 3096*Vout/Vcc(mm)。当输出电压为0V对应距离为0m,输出Vcc对应为3.072m。
测量距离与输出电压的关系如图5.1所示:
6. 量程为1m时编程建议
注意:上电时,需要将Range管脚设置为低电平。
测量时,可采用ADC对Out管脚的输出电压进行采样,根据ADC值换算出测量距离,可用如下公式计算:
L = (A*1024/2^n)*(Vref/Vcc),其中A为ADC的值,n为ADC的位数,Vref为ADC的参考电压,Vcc为US-016的电源电压。
比如采用10位ADC进行采样,且ADC的参考电压为VCC时,测量距离可用ADC的值来表示。举例:当ADC采样值为345时,测量距离为345mm。
量程为1m时,Arduino测距例程:
unsigned int ADCValue;
void setup()
{
Serial.begin(9600);
}
void loop()
{
ADCValue = analogRead(0);
Serial.print("Present Length is: ");
Serial.print(ADCValue, DEC);
Serial.println("mm");
delay(1000);//delay 1S
}
7. 量程为3m时编程建议
注意:上电时,需要将Range管脚悬空或设置为高电平。
测量时,可采用ADC对Out管脚的输出电压进行采样,根据ADC值换算出测量距离,可用如下公式计算:
L = (A*3072/2^n)*(Vref/Vcc),其中A为ADC的值,n为ADC的位数,Vref为ADC的参考电压,Vcc为US-016的电源电压。
比如采用10位ADC进行采样,且ADC的参考电压为VCC时,测量距离可用3*ADC的值来表示。举例:当10位ADC采样值为400时,测量距离为3*400 = 1200mm。
量程为3m时,Arduino测距例程:
unsigned int ADCValue;
void setup()
{
Serial.begin(9600);
}
void loop()
{
ADCValue = analogRead(0);
ADCValue *= 3;
Serial.print("Present Length is: ");
Serial.print(ADCValue, DEC);
Serial.println("mm");
delay(1000);//delay 1S
}