DIY变色彩蛋灯,蛋壳也可以如此创意

电子说

1.2w人已加入

描述

这个彩蛋能呈现出1658万种色彩,更绝的是你可以用随便一个电视,DVD,或者录像机的遥控器来遥控它。

这个项目基于一个蛋壳里的RGB全色LED,随机变色的来源是一个Atmel的ATtiny85单片机,用一块Arduino板烧写的程序。单片机通过一个接收头和外面的遥控器通信,这个晶体管对红外遥控用的波长和载波频率特别敏感。

材料和工具

1个ATtiny85或者ATtiny45单片机1个共阳极RGB LED ,3个1/4W的220欧姆电阻,1个红外接收头,3个或者4个1.4V纽扣电池。

我用的红外接收头是从一个寿命到头的录像机前面板上拆下来的。如果其他的部件是邮购的话,搭车买一个更划算。但是几乎所有的部件手边都有或者能从旧机器上拆到,这个我也不想例外。

电阻是给LED限流的,180欧到560欧的都随意,但是记得弄三个一样的。

如果你能找到的RGB LED是共阴极的话,不用说应该将共同的引脚连到地线上。我想代码应该也能工作,但是会得到和共阳极LED不同的结果。

最后我给这个电路准备了4个纽扣电池供电,加起来5.4V。过去我通常用3V的电压给ATtiny85和RGB LED供电(比如说CR2032锂电池),但是红外接收头至少要求5V供电才能工作,所以没办法了。

单片机编程

我用的代码和电路来自MIT high/low博客,在那里我学到了怎么用Arduino板给ATtiny烧写程序。我用的是ATtiny系列而不是板上的ATmega328,因为ATtiny系列的体积要小不少,所以才方便放进蛋里。这个芯片业比较便宜,用来做一次性的制作也不会心疼。

我把编程板和万能板组合在一起用,这样比较省事。但是你也可以全部用面包板和插线搞定。下面是来自MIT的教程,告诉你下载安装程序之后如何将ArduinoISP 的程序加进Arduino IDE.工程并下载到单片机里。

1.将Arduino板连接电脑,然后在示例菜单中打开ArduinoISP sketch;

2.在面包板上或者ISP板上将ATtiny芯片连接到Arduino板;

3.在Arduino IDE里打开一个新窗口,将彩蛋的程序粘贴进去;

4.保存程序;

5.从IDE软件的菜单里,选择Tools》Board》“Attiny85(w/Arduino as ISP)”;

6.下载烧写程序到ATtiny里。

电路
 

把ATtiny和其他的电路零件插到面包板上并且供给5V的电源,注意芯片的引脚编号,不要接错了。注意实体芯片上的引脚号和编程时的IO口编号不一样,看好电路图。在面包板上搭好电路之后记得仔细检查,这样才能正确下载程序,并让它以你希望的方式工作。

这个电路会对遥控器上的点击做出反应,它使用接收头探测38KHz的红外光脉冲。这是红外遥控的编码标准,并且大大增加了系统的灵敏度,使它能够透过蛋壳感应到外界的遥控器。

我们并不真的要读出这些脉冲里编码的信息,所有的脉冲对电路来说都像是发令枪砰的一声,然后就开始变色。红外接收头靠电池供电,然后将探测到的38KHz信号从OUT引脚输出。当这个引脚和连接的ATtiny引脚处于低电平时什么都不会发生,但是当OUT引脚输出高电平时,ATtiny就会随机决定LED的颜色。

焊接组装
 

有时候这种做法被称为折腾死甲虫,因为需要把Attiny翻过来,然后在悬空的引脚上焊接。需要非常认真,确定在焊正确的脚位:芯片翻过来以后引脚的位置和正放着时刚好相反。

不要匆忙,耐心慢慢来。这些部件都怕热,不要焊太久。最后都焊好以后,终于可以松一口气了!

蛋壳制作

找一个白色的鸡蛋,背刺它,不断摇动把里面的蛋液甩出来——找个水池做这活。然后用剪刀小心地把洞口扩大一些。

为了让整个电路有个底座,我把一小段铜管焊在一分钱上,然后把电池用胶带缠好塞进管里。

按下遥控器
 

把蛋壳套在电路上,然后就可以把彩蛋放在电视机旁看热闹了。稍等一会儿之后它的颜色就会变得难以预料。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
毫末123 2018-07-30
0 回复 举报
哪里有程序 收起回复
稚雷电子 2016-11-13
0 回复 举报
小东西,大创意 收起回复
全部评论

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分