| 4. 類比輸入 |

偵測環境亮度


特色化挑戰:光感應LED模組


想想看,生活中我們使用手機或電腦時

螢幕亮度會隨著環境亮度自動調整

讓我們也動手做出會自動隨環境亮度調整的LED燈吧!




連接光線感應模組與LED模組

拿出光線感應模組與外接LED模組,連接到擴充版上的類比腳位吧!


✅ 課程範例連接的類比腳位如下

    • 光線感應模組:類比腳位A0
    • 外接LED模組:類比腳位A1

- - -

讓LED模組隨著光線改變亮度

✅ 加入積木:

    • 類比I/O:「類比寫入Pin15[類比讀取PinA0]」

為了觀察LED模組會以多少的數值點亮,所以我們在觀察窗中印出讀取的數值。


✅ 加入積木:

    • 序列埠I/O:「序列埠印出(換行) [類比讀取PinA0]」

完成了,想一想這些積木的功能吧!


■ 我們以光線感應器(類比讀取A0)的數值,去點亮外接LED模組(類比寫入Pin15)

■ 然後將光線感應器(類比讀取A0)的數值顯示出來

■ 為了方便觀察,加入延遲10毫秒

- - -

縮小光線感應模組的數值

光線感應模組的數值範圍是0~4095,而LED模組的數值範圍是0~255,因此我們需要將光線感應模組的數值縮小:


✅ 加入「類比讀取PinA0 ÷ 16」


「類比讀取PinA0 ÷ 16」會得到 PinA0除以16的商,並自動取到個位數。

完成了!

將光線感應模組的數值(0~4095)除以16的商,就會落在LED模組的數值範圍了(0~255)。


作品成果