极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15994|回复: 7

还没有接模拟量,A0就有值,该怎么破?

[复制链接]
发表于 2017-9-13 18:54:34 | 显示全部楼层 |阅读模式
各位老师,大家好,本想使用arduino的A0端口测一个光纤的模拟量输出值,但还没有接任何外设,A0就有值,图1所示,最后A0值稳定在了1.56左右,可这样的话,加上光纤传感器1~5V的范围,就超过了arduino可监测的区间,请问各位老师,怎样才能使得未接外设前的A0值为0呢?
我的监测代码是这样的:
  1. [code]
  2. int sensorValue = 0;
  3. float float_sensorValue = 0;
  4. void setup() {
  5.   // put your setup code here, to run once:
  6.   Serial.begin(9600);
  7. }

  8. void loop() {
  9.   // put your main code here, to run repeatedly:
  10.   sensorValue = analogRead(A0);
  11.   float_sensorValue = (float)sensorValue/1023*5.00;
  12.   Serial.println(float_sensorValue,2);
  13.   delay(1000);
  14. }
复制代码
[/code]

在此谢过各位大虾~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

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

使用道具 举报

发表于 2017-9-13 22:22:30 | 显示全部楼层
输入电压不会叠加,不超范围。UNO有内置上拉电阻,打开稳定在4.9-5V没问题,但你要求的是下拉到0,只能自己外接个电阻到地线了。
回复 支持 反对

使用道具 举报

发表于 2017-9-13 23:04:58 | 显示全部楼层
上拉或者下拉
回复 支持 反对

使用道具 举报

发表于 2017-9-14 07:59:44 | 显示全部楼层
接下啦或者上啦电阻,选择多大的电阻取决于你的外设输入负载能力,如果信号很弱建议接100K电阻,因为之前就是这么玩的。
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

发表于 2017-9-14 20:21:04 | 显示全部楼层

记得论坛主页之前可以看到时间的,现在怎么看不到了?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 05:13 , Processed in 0.044826 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表