第1159回-運算思維-micro:bit-6-光線感應值何處來?

第1157回我嘗試將耳機接上 micro:bit 並發出聲音,程式中我用到光線感應值,使之在暗處和明處演奏不同樂曲。但我很好奇,到底 micro:bit 是怎麼感測光線的?在板子上我並沒有看到光敏電阻啊?

到底 microbit 上有沒有內建 light sensor? 我上官網看了 micro:bit Hardware ( micro:bit 硬體構造中譯),裡面有提到:
  • (引用自原文)
    The display is a 5x5 array of LEDs. It is connected to the micro:bit as a 3x9 matrix. Runtime software repeatedly refreshes this matrix at a high speed, such that it is within the user persistence of vision range, and no flicker is detected. This LED matrix is also used to sense ambient light, by repeatedly switching some of the LED drive pins into inputs and sampling the voltage decay time, which is roughly proportional to ambient light levels.
  • (google 翻譯)
    顯示屏是一個 5x5 的 LED 陣列。它連接到 micro:bit 作為 3x9 矩陣。運行時軟件以高速重複刷新該矩陣,使其在用戶持續的視覺範圍內,並且不檢測到閃爍。該LED矩陣還用於通過將一些LED驅動器引腳重複地切換為輸入並對與環境光水平大致成比例的電壓衰減時間進行採樣來感測環境光。
天啊!這真是太有趣了!原來 LED 出了能通電發光以外,竟然還能感測光度?這到底是什麼原理呢? 10/13-10/14這兩天我斷斷續續花了三四個小時上網追查,長知識真是一件愉快的事情,尤其是還能一面陪我媽吃晚餐、看火之女神井兒、吃早餐、陪她去美容院洗頭。

以下是我的追查紀錄:
延伸閱讀

我寫了一個簡單的程式,用 micro:bit 來檢測環境光度與溫度。可用來不斷的顯示 micro:bit 所監測到的環境光線亮度(0最暗-255最亮)和溫度(度C),沒有 micro:bit 的板子也沒關係,我告訴你,模擬器上可以調整光度和溫度喔!


前情提要:

留言