创客联盟网

标题: 模拟火柴点燃的效果(触摸开关) [打印本页]

作者: CCFIVE    时间: 2013-10-3 16:10
标题: 模拟火柴点燃的效果(触摸开关)
最近有个妹纸,要完成互动设计的作业,题目是围绕LED和“软”的东西来创作一些好玩的作品

最后妹纸想到了一个创意就是模拟火柴的效果
(, 下载次数: 93)


创意是有了,但是她不知怎么实现这个效果。要火柴划过火柴和,然后火柴上的火焰(LED)亮起来,然后点燃柴堆

她把这个难题抛给我,说真的我也不知道怎么实现这样的效果,如果大家有什么想法可以跟帖留言哈!
我的想法是:
做成一个触摸开关,例如你右手拿着火柴(自制的大种火柴{:soso_e127:}),触摸开关装在火柴上!左手拿着火柴盒(也是自制的。。)外面包着锡纸,这样当火柴碰到火柴盒就相当于触摸开关碰到右手,然后通过编程我们就可以控制火柴上的LED亮。

好了原理说完,我们看下硬件:
因为是实验阶段,我直接用板子上13脚的蓝灯,再用一个10K电阻直接插到A0和GND上。硬件这样就完成了
(, 下载次数: 72)


程序很简单,现在只是做了个大概效果
  1. /*********************2013-10-1 For SaSa**************************/
  2. void setup()
  3. {
  4. pinMode(13,OUTPUT);
  5. //Serial.begin(9600);
  6. }
  7. void loop()
  8. {
  9.   int n=analogRead(A0);   //读取模拟口数据   
  10. //  Serial.println(n);  
  11.   if(n>0)                 //如果人体触摸了N就不为零,触发
  12.   {
  13.     for(int a=0;a<100;a++)//LED闪烁,模拟火苗跳动效果
  14.     {
  15.       digitalWrite(13,HIGH);
  16.       delay(100);               
  17.       digitalWrite(13,LOW);     
  18.       delay(50);
  19.     }
  20.   }
  21. }
复制代码
好了,其实就是一个触摸开关的效果,如果你有更好你实现方法,我期待你和我分享!






作者: 赤道以北    时间: 2013-11-7 12:25
为什么人体触摸电阻A0口那个脚,输出就是不为零,灯就亮了?
作者: CCFIVE    时间: 2013-11-7 12:42
赤道以北 发表于 2013-11-7 12:25
为什么人体触摸电阻A0口那个脚,输出就是不为零,灯就亮了?

因为我们接了一个10K的电阻,平时把A0那个电位钳制在低电平(analogRead读回来就是0),然后人体相当一个电容,你摸一下,A0读回来的数据就不是0了,然后写个程序判断下,led就能点亮




欢迎光临 创客联盟网 (https://immaker.org/) Powered by Discuz! X3.3