前段時(shí)間我正在籌備一個(gè)項(xiàng)目,大體是如何巧妙地照亮我們的中庭房間。在秋冬季節(jié)房間變得有點(diǎn)太陰暗了,我想要比 LED 燈更自然的東西,最好是閃爍蠟燭的現(xiàn)場(chǎng)外觀。
創(chuàng)造一個(gè)逼真的人造火焰并不是一件容易的事,所以我的想法是:把燈光放在看不到“火焰”的地方,然后我們只能看到所產(chǎn)生的光,接著借此在墻上跳舞。
由于房間主要由玻璃墻制成,顯而易見(jiàn)的選擇是讓光線投射在支撐窗戶的白色光束上。我決定將燈放在水平光束的底部,將光向下投射到垂直光束上。
準(zhǔn)備和計(jì)劃
由于我希望能夠單獨(dú)控制每個(gè)“蠟燭”,因此 LED 燈的選擇很容易;它顯然應(yīng)該是一組基于 WS2812 的 LED 模塊,所以我訂購(gòu)了 100 個(gè)單獨(dú)的 LED。
正如您在上圖中所見(jiàn),每個(gè) LED 有六個(gè)連接 - 并且背面標(biāo)有箭頭方向。
其中兩個(gè)連接標(biāo)記為5V ,兩個(gè)是GND ,然后是Din (數(shù)據(jù)輸入)和Dout (數(shù)據(jù)輸出)。兩個(gè)5V相連,兩個(gè)GND也相連。所以實(shí)際上有四個(gè)連接;5V 、GND 、Din和Dout 。
在對(duì)每個(gè)“蠟燭”不同數(shù)量的 LED 進(jìn)行了一些試驗(yàn)后,我想出了四個(gè)。這個(gè)數(shù)字使我能夠?qū)γ扛馐M(jìn)行足夠有趣的燈光操作,從而在不需要太多 LED 的情況下制作出逼真的蠟燭外觀。
注:如果我必須再做一次,我會(huì)訂購(gòu)一組 2×2 LED 模塊,以簡(jiǎn)化組裝。
控制器不需要非常先進(jìn),我的假設(shè)是Arduino Nano就足夠了。
Arduino 的位置并不明顯。最后,我選擇將它放在水平梁本身上,在上面第一張照片中可見(jiàn)的粗柱后面(最左邊)。柱子放置在兩個(gè)玻璃墻相交的房間的角落(照片中顯示了“右”墻)。通過(guò)這種方式,我可以將 LED 安裝在兩條平行的燈串上——每堵墻一個(gè)——以最小化每個(gè)燈串的物理長(zhǎng)度?,F(xiàn)在,每根弦的總長(zhǎng)度約為 4 米(13 英尺),而不是原來(lái)的兩倍。
隱藏電纜
這一步依據(jù)我自身的情況,并沒(méi)有那么難。因?yàn)?LED 被放置在水平光束的底部,LED 模塊本身只需用強(qiáng)力雙面膠帶放置即可。
創(chuàng)建 LED 模塊
由于我不想將整個(gè)東西焊接在一根全長(zhǎng)的串上(我想象我在嘗試將東西安裝在梁的底部時(shí)會(huì)遇到電纜堵塞)我決定用連接器構(gòu)建 LED 模塊。
LED 模塊將放置在垂直光束旁邊,以便盡可能多地反射光線。我還想讓電纜靠近光束。這導(dǎo)致我有兩個(gè)版本的模塊;一個(gè)設(shè)置放在從 Arduino向右的繩子上,一個(gè)向左。
這兩個(gè)模塊版本需要兩種獨(dú)特的焊接布局,主要區(qū)別在于保持?jǐn)?shù)據(jù)流從正確的 LED 流向下一個(gè)。
由于 LED 非常小,直徑約為 9 毫米(3/8 英寸),因此焊接它們并不容易;鑒于我缺乏焊接經(jīng)驗(yàn),結(jié)果并不是那么好和漂亮。但它確實(shí)有效。
焊接
在焊接之前,我從 2×5 的原始部分切下一個(gè) 2×2 LED 模塊。然后我將一端涂成紅色,另一端涂成黑色,以標(biāo)記靠近 5V 和 GND 的兩側(cè)。
第一步首先做一個(gè)焊接練習(xí),在每個(gè) LED 的微小金屬島上滴一滴焊料。
下一步是連接簡(jiǎn)單的直線,靠近的連接。
然后跟隨電纜需要保持絕緣,因?yàn)樗鼈兿嗷ソ徊妗?/p>
總而言之,每個(gè)方向都有五根光束——加上角梁——總共有十一根光束。由于每個(gè) LED 模塊有四個(gè) LED,因此單個(gè) LED 的數(shù)量為 44 個(gè)。
在幾個(gè)模塊之后,我掌握了竅門(mén),最后我可以在大約 30 分鐘內(nèi)焊接一個(gè)完整的模塊。
“短電纜技巧”
許多細(xì)小的電纜都需要絕緣層,但是當(dāng)電纜的總長(zhǎng)度不到一厘米時(shí),很難在每一端切割出足夠的絕緣層以暴露內(nèi)芯。
然后我想出了這個(gè)(明顯的)技巧:
1.焊接電纜的一端,然后將其彎曲并切割成所需的長(zhǎng)度。
2.將絕緣層向下滑動(dòng)一點(diǎn)。
3.從釋放的絕緣層上剪下所需的長(zhǎng)度。
4.向后滑動(dòng)絕緣層,露出自由端的芯線。
這樣就可以創(chuàng)建裸露電纜芯的確切長(zhǎng)度,結(jié)果非常好:
完成 LED 模塊
最后,LED 模塊應(yīng)倒置在梁上,因此必須準(zhǔn)備好焊接的、填充電纜的背面以固定膠帶。
我開(kāi)始使用一些隨機(jī)的扁平塑料,我只是簡(jiǎn)單地切成正方形。這些只是用熱膠粘在 LED 模塊上。
這是所有完整的模塊:
完整的模塊很容易用強(qiáng)力膠帶粘在它們現(xiàn)在平坦的背面。
制作電纜
幸運(yùn)的是,我周?chē)幸痪砼f電話延長(zhǎng)線。這條電纜有四根獨(dú)立的電線,這綽綽有余,因?yàn)槲倚枰娋€(5V、GND 和數(shù)據(jù))。
在沒(méi)有特殊壓接工具的情況下安裝母插座并不容易,但完全可行。
電纜通道很容易安裝;只需將其切成合適的長(zhǎng)度并使用預(yù)先粘貼的膠帶將其連接到水平梁上。
這是最終安裝的模塊的樣子:
自動(dòng)激活和停用
由于我不想在天黑時(shí)手動(dòng)打開(kāi)燈并在之后將其關(guān)閉,因此我放入了一個(gè)光敏電阻。
同時(shí)我不想要簡(jiǎn)單的開(kāi)/關(guān),而是在黃昏時(shí)分逐漸改變光強(qiáng)度。出于這個(gè)原因,我需要知道我的光敏電阻在晚上決定“白天”變成“暮光”和“暮光”變成“黑暗”的時(shí)間點(diǎn)的模擬值。
在下面的圖表中,紅色曲線代表光敏電阻在一天中變化時(shí)的模擬讀數(shù)(不是下面的實(shí)際讀數(shù),只是我的手繪圖)。兩條微弱的水平線標(biāo)志著兩個(gè)層次;頂部是“daylight”變成“twilight”的極限,而底部是“twilight”變成“darkness”的極限。所以,當(dāng)紅色曲線高于頂部水平線時(shí),我認(rèn)為它是白天,當(dāng)它低于底部水平線時(shí),它是夜晚。
綠色的直線是“干凈的”日光測(cè)量值,即夜間的最小值 (0.0) 和白天的最大值 (1.0),以及黃昏時(shí)的線性斜率。
為了知道實(shí)際的模擬讀數(shù),我將四個(gè)光敏電阻連接到一個(gè) Arduino 和一個(gè) LCD 屏幕,以顯示四個(gè)電阻的電流、最小值和最大值。我使用了四個(gè),因?yàn)槲也恢牢沂欠裼幸粋€(gè)壞的,所以如果他們中的大多數(shù)人的讀數(shù)大致相同,我知道他們會(huì)工作。顯然,我將設(shè)備放置在我打算讓 Arduino 最終驅(qū)動(dòng) LED 的同一位置。這是它的樣子:
由于 LCD 非常有限,我當(dāng)時(shí)顯示了一個(gè)光敏電阻的讀數(shù)大約五秒鐘。然后在白天我不時(shí)過(guò)去,在一張紙上寫(xiě)下數(shù)字。(顯然,我本可以將它連接到我的筆記本電腦并通過(guò)串行連接發(fā)送數(shù)字,但我白天需要筆記本電腦,不想整天坐在中庭)。
最后我決定它在“630”以下是暗的,在“800”以上是亮的。但是這些數(shù)字顯然正好適合我的光敏電阻和我串聯(lián)使用的 10 kΩ 電阻,所以這不是絕對(duì)的事實(shí)。
Arduino 源代碼
我希望能夠擁有不同類(lèi)型的燈光效果,而不僅僅是燭光。出于這個(gè)原因,我構(gòu)建了源代碼模塊化,試圖將不同的機(jī)制隔離在不同的文件中,以便于概覽。
主.ino文件非常小。我基本上只是啟動(dòng)了整個(gè)事情并調(diào)用Update()了幾個(gè)助手類(lèi)(這反過(guò)來(lái)又起到了作用)。
目前源代碼支持兩種不同的效果:“燭光”效果和“圣誕節(jié)”效果。目前效果的選擇是硬編碼的,這意味著如果我想進(jìn)行切換,我需要重新編譯代碼。到這一步,所有需要的步驟就做完了,所以接下來(lái)讓我們拭目以待。
-
led燈
+關(guān)注
關(guān)注
22文章
1588瀏覽量
107395 -
Arduino
+關(guān)注
關(guān)注
187文章
6453瀏覽量
185915
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論