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
}