| 4. 類比輸入 |
| 4. 類比輸入 |
偵測環境亮度
偵測環境亮度
特色化挑戰:光感應LED模組
特色化挑戰:光感應LED模組
想想看,生活中我們使用手機或電腦時
想想看,生活中我們使用手機或電腦時
螢幕亮度會隨著環境亮度自動調整
螢幕亮度會隨著環境亮度自動調整
讓我們也動手做出會自動隨環境亮度調整的LED燈吧!
讓我們也動手做出會自動隨環境亮度調整的LED燈吧!
連接光線感應模組與LED模組
連接光線感應模組與LED模組
拿出光線感應模組與外接LED模組,連接到擴充版上的類比腳位吧!
拿出光線感應模組與外接LED模組,連接到擴充版上的類比腳位吧!
✅ 課程範例連接的類比腳位如下
✅ 課程範例連接的類比腳位如下
- 光線感應模組:類比腳位A0
- 外接LED模組:類比腳位A1
- - -
- - -
讓LED模組隨著光線改變亮度
讓LED模組隨著光線改變亮度
✅ 加入積木:
✅ 加入積木:
- 類比I/O:「類比寫入Pin15[類比讀取PinA0]」
為了觀察LED模組會以多少的數值點亮,所以我們在觀察窗中印出讀取的數值。
為了觀察LED模組會以多少的數值點亮,所以我們在觀察窗中印出讀取的數值。
✅ 加入積木:
✅ 加入積木:
- 序列埠I/O:「序列埠印出(換行) [類比讀取PinA0]」
完成了,想一想這些積木的功能吧!
完成了,想一想這些積木的功能吧!
■ 我們以光線感應器(類比讀取A0)的數值,去點亮外接LED模組(類比寫入Pin15)
■ 我們以光線感應器(類比讀取A0)的數值,去點亮外接LED模組(類比寫入Pin15)
■ 然後將光線感應器(類比讀取A0)的數值顯示出來
■ 然後將光線感應器(類比讀取A0)的數值顯示出來
■ 為了方便觀察,加入延遲10毫秒
■ 為了方便觀察,加入延遲10毫秒
- - -
- - -
縮小光線感應模組的數值
縮小光線感應模組的數值
光線感應模組的數值範圍是0~4095,而LED模組的數值範圍是0~255,因此我們需要將光線感應模組的數值縮小:
光線感應模組的數值範圍是0~4095,而LED模組的數值範圍是0~255,因此我們需要將光線感應模組的數值縮小:
✅ 加入「類比讀取PinA0 ÷ 16」
✅ 加入「類比讀取PinA0 ÷ 16」
「類比讀取PinA0 ÷ 16」會得到 PinA0除以16的商,並自動取到個位數。
完成了!
完成了!
將光線感應模組的數值(0~4095)除以16的商,就會落在LED模組的數值範圍了(0~255)。
將光線感應模組的數值(0~4095)除以16的商,就會落在LED模組的數值範圍了(0~255)。
作品成果
作品成果