CrazyMar10 发表于 2017-9-13 18:54:34

还没有接模拟量,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);
}


在此谢过各位大虾~

sam413 发表于 2017-9-13 22:20:13

你可以用一个电阻(比如,4K8或者更大一点)将A0下拉到GND,这样模拟量输入脚就不会悬空,进而造成你所不愿看到那样。这个下拉电阻的设计还要考虑对实际负载的引入干扰问题,要具体问题具体对待了,不知道你的具体应用场景,这里也就无法进一步提出建议了。
希望对你有帮助:)

wangbin526 发表于 2017-9-13 22:22:30

输入电压不会叠加,不超范围。UNO有内置上拉电阻,打开稳定在4.9-5V没问题,但你要求的是下拉到0,只能自己外接个电阻到地线了。

弘毅 发表于 2017-9-13 23:04:58

上拉或者下拉

PINKWALKMAN 发表于 2017-9-14 07:59:44

接下啦或者上啦电阻,选择多大的电阻取决于你的外设输入负载能力,如果信号很弱建议接100K电阻,因为之前就是这么玩的。

CrazyMar10 发表于 2017-9-14 11:27:16

sam413 发表于 2017-9-13 22:20
你可以用一个电阻(比如,4K8或者更大一点)将A0下拉到GND,这样模拟量输入脚就不会悬空,进而造成你所不愿 ...

感谢你的回答,我准备接一个100K欧的下拉电阻,看看情况再说

CrazyMar10 发表于 2017-9-14 11:27:16

sam413 发表于 2017-9-13 22:20
你可以用一个电阻(比如,4K8或者更大一点)将A0下拉到GND,这样模拟量输入脚就不会悬空,进而造成你所不愿 ...

感谢你的回答,我准备接一个100K欧的下拉电阻,看看情况再说

suoma 发表于 2017-9-14 20:21:04

弘毅 发表于 2017-9-13 23:04
上拉或者下拉

记得论坛主页之前可以看到时间的,现在怎么看不到了?
页: [1]
查看完整版本: 还没有接模拟量,A0就有值,该怎么破?