如果您在PC或媒體中心上看了很多電影,我肯定您已經(jīng)面臨照明困境。您是否完全關(guān)閉所有燈?您是否讓它們處于爆炸狀態(tài)?還是使用調(diào)光開關(guān)將暗淡的黃色光芒保持在某處?
花費(fèi)不到100美元,您就可以設(shè)置一個(gè)令人驚嘆的照明系統(tǒng),該系統(tǒng)可以反映屏幕上的內(nèi)容;如果視頻是藍(lán)色的夜景,則燈光將是藍(lán)色的;當(dāng)橙色火焰燃燒時(shí),您的燈光也會(huì)閃爍。歡迎來(lái)到環(huán)境RGB照明的世界。
組件
RGB燈帶–這是5米長(zhǎng)的RGB LED燈帶,可以在eBay上購(gòu)買并從香港發(fā)貨每個(gè)不到20英鎊。如果您在電子商店中購(gòu)買商品,則需要按電表付款,而500萬(wàn)卷的價(jià)格是該價(jià)格的三到四倍,因此請(qǐng)?jiān)诰€購(gòu)買。這些類型的LED燈條可以更改為任何顏色,但一次只能更改-它們不能單獨(dú)調(diào)節(jié)。
12v電源-所需的功率(安培數(shù))取決于您安裝了多少LED燈條將連接。每個(gè)儀表消耗約0.6安培的電流,但這取決于您的LED的密度,因此請(qǐng)務(wù)必檢查您的特定LED燈條。 3A足以滿足我上面鏈接的5m帶,并且如果您無(wú)法在其他地方采購(gòu)一個(gè),則可以以10英鎊左右的價(jià)格購(gòu)買單獨(dú)的電源。
3 x MOSFET N晶體管–您可能會(huì)發(fā)現(xiàn)價(jià)格便宜,但我以10英鎊左右的價(jià)格買了一包6張(em》 STP16NF06FP型)。這些用于隔離來(lái)自Arduino的電流-將板條直接連接到Arduino會(huì)將它們消耗的電流炸掉。對(duì)于紅色,綠色和藍(lán)色,每個(gè)LED彩色通道需要1個(gè)MOSFET晶體管。
Arduino –我沒(méi)有包括此項(xiàng)目的成本,因?yàn)榧僭O(shè)您已經(jīng)擁有一個(gè),并且有
因此,如果您買不起官方的副本,則可以購(gòu)買各種克隆。
因此,總成本約為 40英鎊(不包括Arduino)。 p》 簡(jiǎn)介
該項(xiàng)目由兩部分組成。首先,我們將創(chuàng)建一個(gè)基本的Arduino電路,該電路可偵聽來(lái)自計(jì)算機(jī)的命令,并將RGB LED設(shè)置為適當(dāng)?shù)念伾?。第二個(gè)步驟是在計(jì)算機(jī)端使用一個(gè)名為處理和Java的新應(yīng)用程序–計(jì)算當(dāng)前屏幕上的顏色,將它們?nèi)∑骄缓髮⑵漭敵龅酱?a target="_blank">通信端口,以便Arduino做出反應(yīng)。
第1部分:電路和Arduino
我們正在使用的電路非常簡(jiǎn)單,如下圖所示。 LED燈條的一端應(yīng)帶有公插頭,您可以將其直接插入面包板中。
您的LED燈帶可能會(huì)有所不同,但是如果您仔細(xì)觀察,會(huì)看到 12v,R,G,B 寫在軌道上的某個(gè)地方。這些條實(shí)際上可以在這些銅點(diǎn)處進(jìn)行切割(我的每個(gè)LED上有3個(gè)LED),因此,如果您想在電視的角落切割條,則可以放心地進(jìn)行操作-您也無(wú)需使用整個(gè)5m ,因此您可能還有一些可用于將來(lái)的項(xiàng)目。將12v正電壓直接連接到外部電源。
MOSFET具有三個(gè)引腳。 門,流失和源。門就像Arduino將控制的電子開關(guān)一樣。然后,這確定了在源極和漏極之間流動(dòng)的電流。每個(gè)MOSFET的漏極都應(yīng)連接到Arduino的地,并連接到電源的地,而源極應(yīng)連接到LED燈帶通道。
完成電路后,下載并運(yùn)行此測(cè)試代碼(最初從LadyAda,引腳已修改)。您應(yīng)該會(huì)看到LED燈帶通過(guò)各種顏色旋轉(zhuǎn)。
第2部分:處理
下載處理并運(yùn)行。您可能會(huì)驚訝地發(fā)現(xiàn)它看起來(lái)幾乎完全像Arduino開發(fā)環(huán)境一樣;這是因?yàn)锳rduino環(huán)境基于此環(huán)境,盡管它們都執(zhí)行不同的功能。拿起這段代碼-最初是Silicon Republic的,但是我做了大量修改,使屏幕尺寸設(shè)置自動(dòng)且具有更好的色彩表現(xiàn)力-花一點(diǎn)時(shí)間仔細(xì)研究一下?;旧?,它使用名為 Robot 的Java類來(lái)每隔 10ms 進(jìn)行屏幕捕獲;然后,它挑選出每個(gè)奇數(shù)像素并平均總顏色。如果對(duì)您來(lái)說(shuō)性能是一個(gè)問(wèn)題,請(qǐng)將 skipValue 變量增加到3或4以跳過(guò)更多像素-總體效果應(yīng)該相同,但是因?yàn)樗鼨z查的像素更少,所以運(yùn)行速度更快。最后,我添加了一個(gè)過(guò)濾器,該過(guò)濾器通過(guò)增大找到的最大RGB值和減小最小的RGB值來(lái)幫助飽和顏色(沒(méi)有這個(gè),我發(fā)現(xiàn)顏色太白了)。
運(yùn)行該應(yīng)用;第一次,您可能會(huì)在嘗試訪問(wèn)錯(cuò)誤的串行端口時(shí)收到錯(cuò)誤消息。
檢查調(diào)試窗口以獲取當(dāng)前串行列表端口,并記下Arduino插入的端口旁邊的數(shù)字。在Mac上,USB連接是端口4。將此行中的數(shù)字更改為正確的端口:
port = new Serial(this, Serial.list()[4],9600); //set baud rate
保存并重新運(yùn)行;您應(yīng)該會(huì)看到一個(gè)小窗口-這代表屏幕上所有內(nèi)容的平均顏色。啟動(dòng)繪畫應(yīng)用程序或帶有濃色的東西以對(duì)其進(jìn)行測(cè)試,否則它可能只會(huì)顯示模糊的灰色陰影。完成測(cè)試后,請(qǐng)停止應(yīng)用程序,因?yàn)槲覀冃枰ㄟ^(guò)串行端口訪問(wèn)才能對(duì)Arduino進(jìn)行編程。
最后,將此代碼加載到Arduino上。這段代碼不是向LED燈帶發(fā)送隨機(jī)顏色,而是從串行端口(處理輸出到該端口)讀取值。這很容易理解,唯一困難的部分可能是在串行數(shù)據(jù)中使用標(biāo)記:
if (Serial.available()》=4) {
if(Serial.read() == 0xff){
red = Serial.read();
green= Serial.read();
blue = Serial.read();
}
}
這可確保我們讀取正確的字節(jié)值– Processing app在每組值之間輸出一個(gè)標(biāo)記作為“斷點(diǎn)”,以便Arduino不會(huì)不同步,并認(rèn)為綠色值代表藍(lán)色等。
一旦Arduino代碼上傳(存在最初在LED燈條上應(yīng)該沒(méi)有輸出),然后您可以加載并運(yùn)行Processing應(yīng)用程序;立即,您應(yīng)該會(huì)看到環(huán)境光在起作用。
下面是一個(gè)視頻演示,演示了如何通過(guò)隨機(jī)的Trippy音樂(lè)視頻為我工作。
您覺(jué)得呢?雖然它不如分析屏幕的每個(gè)部分并使用單獨(dú)的LED像素的東西令人印象深刻,但它便宜得多,而且亮度更高。唯一的缺點(diǎn)是,所有內(nèi)容都必須在媒體中心計(jì)算機(jī)上運(yùn)行,例如,它不能與常規(guī)電視廣播或Xbox 360一起使用。如果您有任何問(wèn)題,疑問(wèn)或建議,則請(qǐng)走開;或鏈接到完成設(shè)置的視頻。
責(zé)任編輯:wv
-
照明系統(tǒng)
+關(guān)注
關(guān)注
3文章
404瀏覽量
32862 -
Arduino
+關(guān)注
關(guān)注
187文章
6461瀏覽量
186524
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論