极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11363|回复: 4

模拟电压表 LED等老乱闪 准度不够求帮助

[复制链接]
发表于 2014-2-7 14:58:06 | 显示全部楼层 |阅读模式

  1. /*
  2. voltmeter
  3. BY CH
  4. 2014-2-7
  5. */
  6. #define newLED 2
  7. #define okLED 4
  8. #define oldLED 6

  9. int analogValue=0;
  10. float voltage=0;
  11. int ledDelay=100;

  12. void setup()
  13. {
  14.   pinMode(newLED,OUTPUT);
  15.   pinMode(okLED,OUTPUT);
  16.   pinMode(oldLED,OUTPUT);
  17. }

  18. void loop()
  19. {
  20.   analogValue=analogRead(1);
  21.   voltage=0.0048*analogValue;
  22.   digitalWrite(newLED,LOW);
  23.   digitalWrite(okLED,LOW);
  24.   digitalWrite(oldLED,LOW);
  25.   if(voltage>=1.5)
  26.   {
  27.     digitalWrite(newLED,HIGH);
  28.     delay(ledDelay);
  29.     digitalWrite(newLED,LOW);
  30.   }
  31.   else if(voltage<1.5 &&  voltage >1.3)
  32.   {
  33.     digitalWrite(okLED,HIGH);
  34.     delay(ledDelay);
  35.     digitalWrite(okLED,LOW);
  36.   }
  37.   else if(voltage<=1.3)
  38.   {
  39.     digitalWrite(oldLED,HIGH);
  40.     delay(ledDelay);
  41.     digitalWrite(oldLED,LOW);
  42.   }
  43. }
  44. /*
  45. END
  46. */
  47. /*
  48. void setup()
  49. {
  50.   pinMode(2,OUTPUT);
  51.   pinMode(4,OUTPUT);
  52.   pinMode(6,OUTPUT);
  53. }
  54. void loop()
  55. {
  56.   digitalWrite(2,HIGH);
  57.   digitalWrite(4,HIGH);
  58.   digitalWrite(6,HIGH);
  59. }
  60. */
复制代码

LED灯老乱闪 测试功能正常 就是能否使其在正常状态下不闪 如果模拟端口1上什么都不接入就亮绿灯 太奇怪了 求帮助
回复

使用道具 举报

发表于 2014-2-7 20:11:57 | 显示全部楼层
模拟口本身因为环境干扰,有波动的。
接个下拉电阻?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-8 10:14:15 | 显示全部楼层
[email protected] 发表于 2014-2-7 20:11
模拟口本身因为环境干扰,有波动的。
接个下拉电阻?

好主意!谢谢
回复 支持 反对

使用道具 举报

发表于 2014-2-8 12:55:54 | 显示全部楼层
又学了一招。
回复 支持 反对

使用道具 举报

发表于 2015-4-17 15:13:41 | 显示全部楼层
你的是多少范围?
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-19 02:27 , Processed in 0.036830 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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