第1步:分析蠟燭
用LED制作逼真的蠟燭的第一步是知道真正的蠟燭是什么樣的。這個問題有很多種方法,有些方法比其他方法更好。我們可以觀看蠟燭并嘗試實時識別閃爍模式,但如果我們改用技術來幫助我們,那就容易多了。我使用連接到軟件的相機創建了光照水平圖。
首先,蠟燭閃爍的數量并不總是相同的。當頻率保持不變時,幅度會發生變化。其次,如果你看一般模式,你會看到你可以將閃爍分成不同的部分。每個部分長約一到五秒。最后,蠟燭似乎遵循每個部分的一般向上或向下曲線。
現在我們知道蠟燭火焰應該如何看,我們可以開始構建。
步驟2:接線
將LED連接到Arduino的最簡單方法是但是直接連接會帶來一些問題。 LED只能處理一定的安培數,通常為20 mA; Arduinos將輸出大約55毫安。
為了解決這個問題,每個LED應該有一個電阻阻止一些電流。邏輯結論是通過電阻器發送每個輸出。雖然這有效,但需要很多電阻才能完成這項工作。
連接LED的最佳方法是通過電阻發送接地,從而允許每個LED共用同一電阻,同時保持輸出線分離。
顯示時這樣,您將需要確保LED暢通無阻且外觀良好。要做到這一點,最好使用短線并相互放置每種顏色。
步驟3:代碼
我在本教程中假設了Arduino編程的基本知識,因此我將跳過編碼過程的某些部分。即使您不知道如何編碼,Candle.ino文件也可以正常工作并進行全面評論。
現在我們連接了LED,我們可以編碼Arduino以匹配蠟燭。您可能還記得,我們對蠟燭的分析告訴我們,我們的LED應該:
每1-5秒更換一次模式
并不總是有相同數量的閃爍
每個部分的平均變化不變
第一步是允許蠟燭改變模式。使用for循環最簡單的方法。循環的每次運行都是一個幀,它循環的次數控制每個部分的長度。每次循環結束時,都會啟動一個新循環。偽代碼將如下所示:
loop (forever) {
loop (section length) number of times {
flicker LEDs
wait (frame length)
}
}
對于閃爍量,我們應該為兩個變量分配最大值和最小值,并在它們之間選擇一個隨機值。這將允許我們改變每個LED的平均亮度和閃爍范圍。在每個部分期間,參數將被更改。我們的新偽代碼:
loop (forever) {
set LED range
loop (section length) number of times {
flicker LEDs with range as parameters
wait (frame length)
}
}
最后一步是讓每個部分的平均亮度發生變化。要做到這一點,我們需要首先用變量存儲當前亮度。我們還應該創建一個變量來決定最終亮度應該是多少。當我們進入for循環時,我們想要使亮度緩慢衰減,因此我們可以編寫一些代碼,以匹配未來/當前亮度與比率幀/長度的比率。偽代碼:
loop (forever) {
set LED range
store current brightness
set future brightness
loop (section length) number of times {
fade brightness
flicker LEDs with range and brightness as parameters
wait (frame length)
}
}
現在我們的代碼完成了,讓我們展示我們的工作!
步驟4:顯示
最后一步是顯示您的手工作品。你在顯示它的地方很有創意,但是一些一般規則仍然適用。
最明顯的是,你要確保你的Arduino有穩定的電源。長的USB線應該可以用于此,但是你應該確保線不會被擊倒或絆倒。
其次,Arduino應該處于良好的環境中。確保你的Arduino不會摔倒,如果你點亮了一個千斤頂,請小心南瓜內的水分。
最后,為了獲得良好的蠟燭外觀,你應該有良好的光擴散。有很多選擇,但我在燈籠面前放了一塊布而不是購買擴散紙。
-
led
+關注
關注
242文章
23691瀏覽量
670794 -
Arduino
+關注
關注
188文章
6490瀏覽量
190074
發布評論請先 登錄
松下影像制作方案分享會成功舉辦

DLPC3479 GUI上面的Edit Firmware制作中有幾個疑問求解
開源項目!手把手教你制作一個互動式LED墻壁時鐘!
白光LED熒光粉合成途徑與光學性能研究

松下MPS媒體制作平臺概述

虛擬制作技術在廣告領域中的應用與挑戰
HDI板盲孔制作常見缺陷及解決
AIGC在視頻內容制作中的應用前景

光刻掩膜版制作流程
AI+XR打造內容制作新范式 隨幻科技全新虛擬制作方案首秀BIRTV2024

評論