中文 | English

LED 燈怎麼關?吹熄就好

「要怎麼樣,才可以讓 LED 蠟燭可以被吹熄呢?」

某天晚上,John Keefe 的女兒問了他這個問題。這問題看似天真,但 Keefe 一時也沒有想到一個確切的答案;於是,父女倆花了整個晚上,終於在網際網路這片大海裡,找到他們的答案。

LED 蠟燭

這作品是一個簡單的 LED 「蠟燭」,LED 蠟燭在點燃後,只要對著它吹氣(或者擺在風大的地方), LED 蠟燭就會熄滅,這時可以按下它的按鈕,它就會重新被「點燃」。

如何偵測吹氣

Photography by Hep Svadja

要了解 LED 蠟燭運作的原理,就必須瞭解 LED 蠟燭的核心零件——風速感測器的運轉機制。有別於一般氣象站用的葉扇式風速感測器,這裡所使用的風速感測器,並沒有會隨著風而移動的零件;他是間接感測風速(其實跟我們會對著熱湯,吹氣降溫的道理一樣)。當你對著一個「溫度高於室溫」的物體吹起時,流經它的空氣使它降溫,這邊使用的風速感測器,正是利用這個原理,透過測量一根加熱過的電線溫度變化、間接感測出風速註1

材料

LED 蠟燭需要一下這些材料:

  • Arduino - 作者是用 Arduino Uno
  • 風速感測器 - 作者是用從 Modern Device 取得的風速感測器
  • 跳線 - 總共需要 9 條
  • LED 燈, 電阻, 按鈕 – 都各一個就好
  • 麵包板 - 非必要,但如果是初學者建議使用,可以讓接線更簡單

不同零售商賣的風速感測器,規格可能不一樣,如果你買到的風速感測器,跟作者買到的一樣,沒有排針的話,那你除了上面列出的材料外,還需要烙鐵跟焊錫,並且先把排針焊到感測器電路板上;如果覺得零件動來動去不好焊的話,可以試試羨慕史塔克的機械手臂?超陽春自製小手助你銲接功力大提升這篇提到的焊接小幫手喔!

組裝

Schematic, by John Keefe

LED 蠟燭的線路配置圖的如上,如果你已經是個 DIY 老手,這段你大可跳過,直接看下一段就好;如果你還是新手,也不要擔心,接下來會一步步帶你把蠟燭從無到有組裝起來。

  1. 把麵包板拿出來,並把 Arduino 放到它的右側。
  2. 將按鈕放到麵包板的正中間,讓它橫跨中間的溝槽,它應該會有兩隻腳會在第 1 行,另外兩隻腳在第 3 行。
  3. 把電阻的其中一隻腳放到麵包板的第 3 行 J 欄,另一隻腳放到第 3 行藍色負號(-)欄。
  4. 把 LED 的兩隻腳往同個方向折 90 度,這樣放到麵包板上時就會平行於麵包板的板面。
  5. 把 LED 燈的長腳放到麵包板的第 21 行 A 欄,短腳放到第 23 行 A 欄。
  6. 把風速感測器的插針,插到麵包板 A 欄的 26 到 29 行(也就是最下面 5 行),感測器的板子應該要伸出麵包板外。

Photo by John Keefe

電子零件放好後,接下來就是傷眼力的跳線接接樂了。這邊我們提供一個簡單的表格,讓你知道每一條跳線要接在哪裡(沒特別註明就是麵包板的插槽),不過顏色的部分你並不一定要用一模一樣的顏色註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 欄 藍色負號 (-) 欄

Photo by John Keefe

程式碼

程式碼可以從作者的網站取得,也可以直接下載壓縮檔。上傳再重開後,蠟燭模擬程式就會啟動,你就可以試著吹熄你的 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,並且捨棄麵包板這個中介,直接把跳線焊到板子上,再把它整個放到紙桶中,你就有一個栩栩如真的可吹熄蠟燭了!

Photo by John Keefe

參考資料

註1:更詳細的來說,感測器其實也不是直接測量溫度,它測的是「電線導電度」的變化,這是因為電線的導電度會隨著溫度而變化。透過測量導電度,感測器就可以間接的知道電線溫度的變化,進而知道當下的風速。

註2:跳線都是一樣的,顏色只是為了方便區分不同條的跳線,而且跳線的兩端也沒有任何不同,沒有「插反」這種事。

分享到社群

SHY

半途出家踏入資工與資安的領域,發現軟體硬體本一家,又玩起 Arduino 與 Raspberry Pi ,基本上什麼都碰一點,夢想是成為一隻駭客犬。

This site or product includes IP2Location LITE data available from https://lite.ip2location.com.