🌞 光線感測器是什麼?
光線感測器可以「感覺」環境的明亮或黑暗,並把這個亮度轉成數字。
micro:bit 也能當光線感測器喔!
它會測出周圍有多亮,讓你寫程式時可以讓燈光、音效或動畫跟著環境亮度改變。
🔍 那 micro:bit 的光感測器在哪裡?
其實——micro:bit 上並沒有特別放「光敏電阻」這種感測元件。
但它有一個超酷的設計:利用 5×5 的 LED 陣列反向感光!
⚙️ micro:bit 怎麼「用燈感光」?
LED 通常是「發光」的元件。
不過,當 LED 不亮的時候,它其實也能「接收光」,產生一點點反向電流。
micro:bit 就是利用這個原理來感光的:
1️⃣ 當 LED 不亮時,會偵測接收到多少光。
2️⃣ 這些微小電流會被主控晶片讀取(透過 ADC 類比輸入)。
3️⃣ 讀到的值越高,就代表環境越亮;越低,就代表越暗。
是不是很聰明 😄?
micro:bit 把原本用來「發光」的 LED,反過來「感光」,一燈兩用!
🧠 延伸小知識
當腳位從「輸出(發光)」切換成「輸入(感光)」時,需要等一下下,大約 4 毫秒 才能準確讀取亮度。
啟動亮度感測功能後,LED 顯示更新速度會稍微變慢(從每秒 55 次變成 50 次)。
因為 micro:bit 的 LED 是紅色的,所以它對「紅光」特別敏感。紅光變強或變弱,micro:bit 就會更明顯地感受到。
💡 LightSensor-01:亮度控制燈光
任務:
讓 LED 燈根據環境亮度自動調整。
越暗 → LED 越亮;
越亮 → LED 越暗。
同時,把亮度感測值顯示在「Show data 裝置」上。 (你也可以同步顯示 LED 亮度數值喔!)
👉 想一想:
如果你把 micro:bit 拿去靠近手電筒,數值會變成多少呢?
❤️ LightSensor-02:光影心跳燈
任務:
讓 micro:bit 根據光線變化跳動心臟動畫!
越暗 → 心跳越快;
越亮 → 心跳越慢。
並在「Show data 裝置」顯示目前的亮度值與心跳速度。
小挑戰:
能不能設計一個「夜燈模式」?
當環境變暗到某個程度時,micro:bit 自動開燈!