「要怎麼樣,才可以讓 LED 蠟燭可以被吹熄呢?」
某天晚上,John Keefe 的女兒問了他這個問題。這問題看似天真,但 Keefe 一時也沒有想到一個確切的答案;於是,父女倆花了整個晚上,終於在網際網路這片大海裡,找到他們的答案。
LED 蠟燭
這作品是一個簡單的 LED 「蠟燭」,LED 蠟燭在點燃後,只要對著它吹氣(或者擺在風大的地方), LED 蠟燭就會熄滅,這時可以按下它的按鈕,它就會重新被「點燃」。
如何偵測吹氣
材料
LED 蠟燭需要一下這些材料:
- Arduino - 作者是用 Arduino Uno
- 風速感測器 - 作者是用從 Modern Device 取得的風速感測器
- 跳線 - 總共需要 9 條
- LED 燈, 電阻, 按鈕 – 都各一個就好
- 麵包板 - 非必要,但如果是初學者建議使用,可以讓接線更簡單
不同零售商賣的風速感測器,規格可能不一樣,如果你買到的風速感測器,跟作者買到的一樣,沒有排針的話,那你除了上面列出的材料外,還需要烙鐵跟焊錫,並且先把排針焊到感測器電路板上;如果覺得零件動來動去不好焊的話,可以試試羨慕史塔克的機械手臂?超陽春自製小手助你銲接功力大提升這篇提到的焊接小幫手喔!
組裝
LED 蠟燭的線路配置圖的如上,如果你已經是個 DIY 老手,這段你大可跳過,直接看下一段就好;如果你還是新手,也不要擔心,接下來會一步步帶你把蠟燭從無到有組裝起來。
- 把麵包板拿出來,並把 Arduino 放到它的右側。
- 將按鈕放到麵包板的正中間,讓它橫跨中間的溝槽,它應該會有兩隻腳會在第 1 行,另外兩隻腳在第 3 行。
- 把電阻的其中一隻腳放到麵包板的第 3 行 J 欄,另一隻腳放到第 3 行藍色負號(-)欄。
- 把 LED 的兩隻腳往同個方向折 90 度,這樣放到麵包板上時就會平行於麵包板的板面。
- 把 LED 燈的長腳放到麵包板的第 21 行 A 欄,短腳放到第 23 行 A 欄。
- 把風速感測器的插針,插到麵包板 A 欄的 26 到 29 行(也就是最下面 5 行),感測器的板子應該要伸出麵包板外。
電子零件放好後,接下來就是傷眼力的跳線接接樂了。這邊我們提供一個簡單的表格,讓你知道每一條跳線要接在哪裡(沒特別註明就是麵包板的插槽),不過顏色的部分你並不一定要用一模一樣的顏色註2,這只是為了方便你對照上面的線路配置圖而已。
顏色 | 插槽 1 | 插槽 2 |
---|---|---|
紅色 1 | 第 1 行 H 欄 | 3.3 伏特Arduino |
綠色 | 第 3 行 H 欄 | 2Arduino |
黑色 1 | 藍色負號 (-) 欄 | GNDArduino |
黃色 1 | 第 21 行 B 欄 | 13Arduino |
紅色 2 | 第 29 行 C 欄 | 5 伏特Arduino |
橘色 | 第 26 行 C 欄 | A0Arduino |
黃色 2 | 第 27 行 C 欄 | A1Arduino |
黑色 2 | 第 30 行 C 欄 | 藍色負號 (-) 欄 |
程式碼
程式碼可以從作者的網站取得,也可以直接下載壓縮檔。上傳再重開後,蠟燭模擬程式就會啟動,你就可以試著吹熄你的 LED 蠟燭啦~
A Wind-Sensor Candle from John Keefe on Vimeo.
如果想要改變 LED 蠟燭對於風速的靈敏度,你可以改第 74 行,把 if (WindSpeed_MPH > 6 ) {
這行的 6
改成其他數字。數字改得越小,蠟燭就越靈敏,反之,數字改得越大,蠟燭就越不靈敏。
延伸討論
既然你現在已經瞭解風速感測器背後運作的原理,也知道如何讓 Arduino 讀取當下的風速,接下來你可以試試用風速感測器和 Arduino 做一個個人氣象站。不過,想要風速測得準一點的話,記得參考這裡,看看要怎麼校正感測器。
另外,既然你的 LED 蠟燭 Prototype 已經成功了,你可以試著把它的外觀做成一根蠟燭。你需要把 LED 蠟燭縮小;試試用 Arduino Nano(或其他 跟 Arduino 相容的小型開發版)取代 Arduino Uno,並且捨棄麵包板這個中介,直接把跳線焊到板子上,再把它整個放到紙桶中,你就有一個栩栩如真的可吹熄蠟燭了!
參考資料
註1:更詳細的來說,感測器其實也不是直接測量溫度,它測的是「電線導電度」的變化,這是因為電線的導電度會隨著溫度而變化。透過測量導電度,感測器就可以間接的知道電線溫度的變化,進而知道當下的風速。⏎
註2:跳線都是一樣的,顏色只是為了方便區分不同條的跳線,而且跳線的兩端也沒有任何不同,沒有「插反」這種事。⏎