【導(dǎo)讀】市面上去買個(gè)變換顏色的電子產(chǎn)品也不便宜,那能不能自己制作呢?當(dāng)然可以,小編這就教大家如何自己DIY一個(gè)可呈現(xiàn)1658萬種顏色的蛋燈,同時(shí)還能用隨便一個(gè)電視,DVD,或者錄像機(jī)的遙控器來遙控它。是不是很心動(dòng)?
這個(gè)彩蛋能呈現(xiàn)出1658萬種色彩,更絕的是你可以用隨便一個(gè)電視,DVD,或者錄像機(jī)的遙控器來遙控它。
這個(gè)項(xiàng)目基于一個(gè)蛋殼里的RGB全色LED,隨機(jī)變色的來源是一個(gè)Atmel的ATtiny85($0.7249)單片機(jī),用一塊Arduino板燒寫的程序。單片機(jī)通過一個(gè)接收頭和外面的遙控器通信,這個(gè)晶體管對(duì)紅外遙控用的波長(zhǎng)和載波頻率特別敏感。
材料和工具
1個(gè)ATtiny85($0.7249)或者ATtiny45($0.6439)單片機(jī)1個(gè)共陽(yáng)極RGB LED ,3個(gè)1/4W的220歐姆電阻,1個(gè)紅外接收頭,3個(gè)或者4個(gè)1.4V紐扣電池。
我用的紅外接收頭是從一個(gè)壽命到頭的錄像機(jī)前面板上拆下來的。如果其他的部件是郵購(gòu)的話,搭車買一個(gè)更劃算。但是幾乎所有的部件手邊都有或者能從舊機(jī)器上拆到,這個(gè)我也不想例外。
電阻是給LED限流的,180歐到560歐的都隨意,但是記得弄三個(gè)一樣的。
如果你能找到的RGB LED是共陰極的話,不用說應(yīng)該將共同的引腳連到地線上。我想代碼應(yīng)該也能工作,但是會(huì)得到和共陽(yáng)極LED不同的結(jié)果。
最后我給這個(gè)電路準(zhǔn)備了4個(gè)紐扣電池供電,加起來5.4V。過去我通常用3V的電壓給ATtiny85($0.7249)和RGB LED供電(比如說CR2032($0.1463)鋰電池),但是紅外接收頭至少要求5V供電才能工作,所以沒辦法了。
[page]
單片機(jī)編程
我用的代碼和電路來自MIT high/low博客,在那里我學(xué)到了怎么用Arduino板給ATtiny($0.4040)燒寫程序。我用的是ATtiny($0.4040)系列而不是板上的ATmega328($1.6417),因?yàn)锳Ttiny($0.4040)系列的體積要小不少,所以才方便放進(jìn)蛋里。這個(gè)芯片業(yè)比較便宜,用來做一次性的制作也不會(huì)心疼。
我把編程板和萬能板組合在一起用,這樣比較省事。但是你也可以全部用面包板和插線搞定。下面是來自MIT的教程,告訴你下載安裝程序之后如何將ArduinoISP 的程序加進(jìn)Arduino IDE.工程并下載到單片機(jī)里。
1.將Arduino板連接電腦,然后在示例菜單中打開ArduinoISP sketch;
2.在面包板上或者ISP板上將ATtiny($0.4040)芯片連接到Arduino板;
3.在Arduino IDE里打開一個(gè)新窗口,將彩蛋的程序粘貼進(jìn)去;
4.保存程序;
5.從IDE軟件的菜單里,選擇Tools($11.9700)》Board》“ATtiny85($0.7249)(w/Arduino as ISP)”;
6.下載燒寫程序到ATtiny($0.4040)里。
[page]
電路
把ATtiny($0.4040)和其他的電路零件插到面包板上并且供給5V的電源,注意芯片的引腳編號(hào),不要接錯(cuò)了。注意實(shí)體芯片上的引腳號(hào)和編程時(shí)的IO口編號(hào)不一樣,看好電路圖。在面包板上搭好電路之后記得仔細(xì)檢查,這樣才能正確下載程序,并讓它以你希望的方式工作。
這個(gè)電路會(huì)對(duì)遙控器上的點(diǎn)擊做出反應(yīng),它使用接收頭探測(cè)38KHz的紅外光脈沖。這是紅外遙控的編碼標(biāo)準(zhǔn),并且大大增加了系統(tǒng)的靈敏度,使它能夠透過蛋殼感應(yīng)到外界的遙控器。
我們并不真的要讀出這些脈沖里編碼的信息,所有的脈沖對(duì)電路來說都像是發(fā)令槍砰的一聲,然后就開始變色。紅外接收頭靠電池供電,然后將探測(cè)到的38KHz信號(hào)從OUT引腳輸出。當(dāng)這個(gè)引腳和連接的ATtiny($0.4040)引腳處于低電平時(shí)什么都不會(huì)發(fā)生,但是當(dāng)OUT引腳輸出高電平時(shí),ATtiny($0.4040)就會(huì)隨機(jī)決定LED的顏色。
[page]
有時(shí)候這種做法被稱為折騰死甲蟲,因?yàn)樾枰袮Ttiny($0.4040)翻過來,然后在懸空的引腳上焊接。需要非常認(rèn)真,確定在焊正確的腳位:芯片翻過來以后引腳的位置和正放著時(shí)剛好相反。
不要匆忙,耐心慢慢來。這些部件都怕熱,不要焊太久。最后都焊好以后,終于可以松一口氣了!
蛋殼制作
找一個(gè)白色的雞蛋,背刺它,不斷搖動(dòng)把里面的蛋液甩出來——找個(gè)水池做這活。然后用剪刀小心地把洞口擴(kuò)大一些。
為了讓整個(gè)電路有個(gè)底座,我把一小段銅管焊在一分錢上,然后把電池用膠帶纏好塞進(jìn)管里。
[page]
按下遙控器
把蛋殼套在電路上,然后就可以把彩蛋放在電視機(jī)旁看熱鬧了。稍等一會(huì)兒之后它的顏色就會(huì)變得難以預(yù)料。