还没有接模拟量,A0就有值,该怎么破?
各位老师,大家好,本想使用arduino的A0端口测一个光纤的模拟量输出值,但还没有接任何外设,A0就有值,图1所示,最后A0值稳定在了1.56左右,可这样的话,加上光纤传感器1~5V的范围,就超过了arduino可监测的区间,请问各位老师,怎样才能使得未接外设前的A0值为0呢?我的监测代码是这样的:
int sensorValue = 0;
float float_sensorValue = 0;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
sensorValue = analogRead(A0);
float_sensorValue = (float)sensorValue/1023*5.00;
Serial.println(float_sensorValue,2);
delay(1000);
}
在此谢过各位大虾~ 你可以用一个电阻(比如,4K8或者更大一点)将A0下拉到GND,这样模拟量输入脚就不会悬空,进而造成你所不愿看到那样。这个下拉电阻的设计还要考虑对实际负载的引入干扰问题,要具体问题具体对待了,不知道你的具体应用场景,这里也就无法进一步提出建议了。
希望对你有帮助:) 输入电压不会叠加,不超范围。UNO有内置上拉电阻,打开稳定在4.9-5V没问题,但你要求的是下拉到0,只能自己外接个电阻到地线了。
上拉或者下拉 接下啦或者上啦电阻,选择多大的电阻取决于你的外设输入负载能力,如果信号很弱建议接100K电阻,因为之前就是这么玩的。 sam413 发表于 2017-9-13 22:20
你可以用一个电阻(比如,4K8或者更大一点)将A0下拉到GND,这样模拟量输入脚就不会悬空,进而造成你所不愿 ...
感谢你的回答,我准备接一个100K欧的下拉电阻,看看情况再说 sam413 发表于 2017-9-13 22:20
你可以用一个电阻(比如,4K8或者更大一点)将A0下拉到GND,这样模拟量输入脚就不会悬空,进而造成你所不愿 ...
感谢你的回答,我准备接一个100K欧的下拉电阻,看看情况再说 弘毅 发表于 2017-9-13 23:04
上拉或者下拉
记得论坛主页之前可以看到时间的,现在怎么看不到了?
页:
[1]