LED蠟燭

pondahai
3 min readMar 25, 2019

--

網路流傳一則影片,有人用Arudino連接一顆0402的SMD LED,然後對著點亮的LED吹氣,最後竟然可以吹熄,過一會又亮起來,如此反覆操作著。

這個作者也在instructables.com上面發表做法,甚至在Arduino官網上也有上頭條,這麼有趣的專題,我也來跟風做做看。

矽二極體每升高一度C,則障壁電壓會下降2.5mV

這是電子學課本一開始就會教的知識,如今可以用在這個小專題上,這個專題利用微小封裝的LED,使得該LED內的二極體接面能夠快速感受到溫度的變化,利用點亮LED時產生的溫度升高與吹氣時帶走溫度這兩者之間的溫差,預計可以獲得一個明顯的障蔽電壓電壓變化,然後搭配Arduino內的ADC將二極體的障壁電壓讀取出來,接著用軟體模擬蠟燭點亮與吹熄的效果。

首先接一個簡單可以點亮發光二極體的電路,一個有限流電阻的發光二極體迴路,發光二極體在迴路中的低側,如此就可以從發光二極體的陽極拉出導線量測電壓。電壓變化如此的小,除了在硬體電路上加以改進外,是否還有其他解法能得知這個微弱變化呢?

為了解決在電壓量測的軟體技巧上使用了累加法,將微小的電壓變化放大出來。當直接讀取單次的ADC數值時,只有看到個位數在跳動,但完全無法得知目前微弱電壓的數值,但是這個跳動的個位數本身就隱含著微弱電壓的訊息,於是我們只要每次讀取固定且大量的數據累加起來,就可以將這個隱含的訊息予以放大。這個過程有點像是累進誤差這個概念的反義應用,本來累進誤差是我們不要的,但是如果逆向思考則成為有效的工具。另外,這裡也有另一層意義需要思考,就是單筆ADC數值上的個位數跳動與累加之後產生了明顯的差別,非常貼切地驗證了「見樹不見林」這句話。在解決問題之前我們通常要先觀察問題,而觀察問題的時候則是是需要不斷改變高度甚至是維度,這時候就要依賴數學課教我們的那一堆數學工具來觀察了。

接線圖

原始碼:https://gist.github.com/pondahai/61813e185e10d7c55895407259f9863f

--

--

pondahai
pondahai

Written by pondahai

有容乃大 海納百川 我是彭大海 以前是工程師 現在不是工程師 贊助鏈結: https://www.paypal.me/pondahai

No responses yet