极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16184|回复: 12

是静电的问题?还是需要接个地线?

[复制链接]
发表于 2014-2-16 21:31:56 | 显示全部楼层 |阅读模式


接线如下,本来红色的线是要接一个开关的,程序超简单,按下开关给pin8加电,灯就亮了。 如果是A0的红线就用analogRead(A0),如果是2的红线就用 digitalRead(2),再简单不过的程序啦。可是运行的时候,没等我按下开关,灯就亮了。开始以为是开关质量不好,后来拔掉开关,用手一碰线就亮了。再后来发现即使是用数字口依然会亮,最夸张的是,我的手离线头还有3,4厘米的距离灯就能亮。。这是肿么了啊。。求解。

  1.   int n=analogRead(A0);
  2.   if(n>500)      //测试发现平时就有200多,手一碰到电线就是1000了
  3. {
  4.     digitalWrite(8,n / 4); //点亮led
  5.     delay(200);                  
  6.     digitalWrite(8,LOW);           //熄灭led
  7.   }
复制代码

本帖子中包含更多资源

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

x
回复

使用道具 举报

发表于 2014-2-16 22:05:35 | 显示全部楼层
看多了连问题都问不清楚的帖子,看到个这么详尽的很难得……

你的开关是怎么接的?如果希望是高电平触发,应该接一个上拉电阻到5v端。否则悬空状态下,它本来就会是一个随机值。
回复 支持 反对

使用道具 举报

发表于 2014-2-16 22:07:11 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-16 22:16:21 来自手机 | 显示全部楼层
isilcala 发表于 2014-2-16 22:07
http://www.geek-workshop.com/thread-1048-1-1.html

参考这个接法

原来还要有一个大电阻?包里好像没有那么大的,找几个串起来试试。不过感觉故障依旧呢。
回复 支持 反对

使用道具 举报

发表于 2014-2-16 23:57:17 | 显示全部楼层
人体相当于一个大电容,不过像你说的距离3 4cm就有感应确实有点奇怪

或者你把自己一起接到地上再看看?
回复 支持 反对

使用道具 举报

发表于 2014-2-17 09:10:41 | 显示全部楼层
zoologist 发表于 2014-2-16 23:57
人体相当于一个大电容,不过像你说的距离3 4cm就有感应确实有点奇怪

或者你把自己一起接到地上再看看?

静电不会那么强,并且你可以试试在水管上放电一下之后是否还有这个现象
回复 支持 反对

使用道具 举报

发表于 2014-2-17 09:46:31 | 显示全部楼层
是电磁波干扰。。。空间中各种电磁波都有。一根悬空的导线就是天线。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2014-2-17 10:18:37 | 显示全部楼层
任何一输入的接口,空载的时候,读数都是随机值。
所以不管你有没有按开关,灯都有可能忽亮忽灭。
-------------------------------------------------------------------
接地后,读数只能为零了,按下开关,读数就是高电平了

接地的电阻推荐1000欧姆,250-5000欧姆应该都没问题
因为电流小于20毫安,都没问题的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-17 14:20:00 | 显示全部楼层
bacon6581 发表于 2014-2-17 10:18
任何一输入的接口,空载的时候,读数都是随机值。
所以不管你有没有按开关,灯都有可能忽亮忽灭。
------ ...

刚才画了个图,越画越凌乱了,瞎改了一下,您看看对否?

在dc和gnd之间有一个电阻蓝色的,A0在开关前也有个电阻绿色的,断开开关的时候,电流从GND溜回,如果加个电阻是为了不让他短路。闭合开关后,电流会到A0口,这样就可以检测到闭合的信号了?


本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-17 14:28:09 | 显示全部楼层
本帖最后由 shihaipeng04 于 2014-2-17 14:46 编辑
bacon6581 发表于 2014-2-17 10:18
任何一输入的接口,空载的时候,读数都是随机值。
所以不管你有没有按开关,灯都有可能忽亮忽灭。
------ ...


刚试验了一下,用我上面yy的那张图接的线。2个电阻都是980欧的,还没接开关呢,一碰导线依然乱显示。A0口断开的时候读数是500多,拿起导线在手里捏,有时候是0,有时候是1023,然后还有在中间乱跳的情况。疯狂的arduino哦

又改造了一下,串了好几个电阻大约2000多点。

拍了个照片看一下,那一排led的没用的,懒的拆了。红线是DC5V的,通过一个电阻回到蓝线GND,橙色接的A0,前面串联了一堆电阻,黄线准备接开关,但是现在只要手一摸黄色线头,就会测到0或者1023,太随机了。。哦

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2014-2-18 09:29:25 | 显示全部楼层

开关断开时,低电平
开关闭合时,高电平

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2014-2-18 14:28:03 | 显示全部楼层

我的理解是:需要低电平触发按左图连接,需要高电平触发按右图连接。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-9 23:44 , Processed in 0.038432 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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