OLED 顯示動態數字
這篇教學會使用 MakeCode 編輯 micro:bit 擴充板程式 ( EZ Start Kit+ ),透過 OLED 顯示器動態顯示可變電阻、溫濕度、環境光線...等動態數值。
- 操作 EZ Start Kit+ 需要載入對應的擴充積木,請先參考:載入 EZ Start Kit+ 的程式積木。
- 更多資訊:ICShop EZ Start Kit+ 官方網站。
OLED 顯示可變電阻數值
使用重複無限次積木,搭配 OLED 顯示數字積木,就能在旋轉可變電阻時,即時顯示動態的數字,比較需要注意的是,每次重複時會在開頭加上「清除畫面」積木,才不會讓過長的文字繼續顯示在畫面中。
雖然加上清除畫面積木可以刷新 OLED 畫面,但也會造成 OLED 畫面不斷閃爍的狀況 ( 因為每次重複就會清空畫面 ),為了避免畫面閃爍以及數字重疊的狀況,可以使用「空白字元」的方式取代清除畫面,由於可變電阻的數值從 0~1023,只要在數字位數不足 4 位時於後方補上空白字元,就可以同時避免文字重疊以及畫面閃爍。
使用「數字轉文字」積木,將可變電阻的數字轉換成文字,計算出和四位數相差幾位,再透過「重複次數」積木將不足位數的部分補上空白,執行後就可以動態顯示可變電阻數值,還可以避免文字重疊以及畫面閃爍。
如果要讓程式碼更有彈性 ( 例如同時可以支援多組動態顯示 ),可以加入「函式」輔助,新增一個函式,並給予這個函式 num 和 length 兩個變數,分別代表要轉換的數值,以及該數值最大的長度。
修改原本的程式,將積木放入函式裡,並回傳計算後的文字,執行後就會得到相同的結果。
OLED 顯示溫濕度
延伸 OLED 顯示可變電阻的程式 ( 使用函式 ),就可以同時顯示 DHT11 所偵測到的溫度和濕度,並透過字串組合的方式,在開頭加上 T 或 H,在結尾加上 C 與 % 符號。
OLED 顯示光感測器數值
延伸 OLED 顯示可變電阻的程式 ( 使用函式 ),將可變電阻數值換成光感測器數值,就能讀取環境光線的亮度。
範例解答
延伸練習
如果已經熟悉了 EZ Start Kit+ OLED 顯示動態數字的原理,還可以嘗試更多好玩的作法:
- 修改程式,同時顯示可變電阻、光感測器以及溫濕度 ( 解答 )。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~