1.概述
当我们在做相关电子实验时,我们需要经常检测电压值,一般我们是用万用表检测。当身边没有万用表时,如果能确定电压范围在DC 0-5V时,我们可以直接接到 Keyes UNO R3 开发板模拟口,读取模拟值,计算出电压数值。如果检测电压大于5V时,我们就可以利用这个电压检测传感器检测电压。
这个传感器是基于电阻分压原理所设计,能使接线柱接口输入的电压缩小5倍,模拟输入电压最 大为5V,那么电压检测模块的输入电压则不能大于5V×5=25V(如果用到3.3V系统,输入电压不能大于3.3Vx5=16.5V)。传感器接到Keyes UNO R3 开发板测试时,因为所用AVR 芯片为10位AD,所以此模块的模拟分辨率为0.00489V(5V/1023),故电检测模块检测输入最小电压为 0.00489V×5=0.02445V。
为了方面接线,我们还配送1根3pin线,线的一端为白色防反插接口(和传感器上防反插白色端子匹配),另一端为3pin杜邦线母头接口。
该传感器兼容各种单片机控制板,如arduino系列单片机。使用时。我们提供该传感器和arduino系列单片机搭配使用的方法。接线时,我们将传感器信号端(S端)输入到arduino系列单片机的模拟口,读取对应的的模拟值,然后计算出对应的检测电压。
同时,传感器自带2个直径为3mm的定位孔,方便你将传感器固定在其他设备。
2.规格参数
导线长度:200mm
工作电压: DC 3.3-5V
检测电压 :DC 0-25V(5V单片机) DC 0-16.5V(3.3V单片机)
信号类型:模拟信号
尺寸:34*22*9mm
重量:4.0g
3.连接图
4.测试代码
int analogpin=3; //定义analogpin为模拟口3
int val,val5; //定义变量val,val5
int val2=0; //定义变量val2
int val3=0; //定义变量val3
int val4=0; //定义变量val4
void setup()
{
Serial.begin(9600); //设置波特率位9600
}
void loop()
{
int val,val5;
float val1;
val=analogRead(analogpin); //读出模拟口的值并赋给变量val
val1=val/3.9;
val5=(int)val1;
val3=val5/100;
val2=(val5%100)/10;
val4=val5%10;
Serial.print(“$CLEAR\r\n”); //清屏
Serial.print(“$GO 1 1\r\n”);
Serial.print(“$PRINT Voltage:\r\n”);
Serial.print(“$GO 1 9\r\n”);
Serial.print(“$PRINT “);
Serial.print(val3); //串口打印出变量val3的值
Serial.print(val2); //串口打印出变量val2的值
Serial.print(“.”); //串口打印出“.”
Serial.print(val4); //串口打印出变量val4的值
Serial.println(“V”); //串口打印出大写字母V
delay(1000); //延时1秒
}
5.测试结果
烧录好测试代码,按照接线图连接好线,利用USB线上电后,打开软件串口监视器,设置波特率为9600。串口监视器显示当前检测到的电压值。