OLED 繪製正弦波圖形
這篇教學會使用 MakeCode 編輯 micro:bit 擴充板程式 ( EZ Start Kit+ ),透過 OLED 顯示器繪製三角函數正弦波圖形圖形。
- 操作 EZ Start Kit+ 需要載入對應的擴充積木,請先參考:載入 EZ Start Kit+ 的程式積木。
- 更多資訊:ICShop EZ Start Kit+ 官方網站。
OLED 座標說明
EZ Start Kit 所使用的 OLED 解析度為 128x64,換算成 x 座標範圍 0~127,y 座標範圍 0~63,OLED 的座標系統如下圖所示:
使用「點」繪製圖形
「OLED 顯示像素點」積木,可以在指定的座標亮起一顆像素點,下面的例子將顯示像素點積木搭配重複迴圈,在畫面中畫出一條 (0,0) 到 (50,50) 的直線。
透過兩個重複迴圈,就能在畫面中畫出一條垂直線和一條水平線組合的十字線。
繪製正弦波圖形
「正弦波形」是什麼呢?是一種來自三角函數中的正弦比例的曲線波形,當 x 不斷改變時,透過震幅、角度和正弦函數計算 y 座標,模擬週期性的波形圖案 ( 更多詳細正弦波形公式,可以參考:The General Sinusoidal Function )。
正弦波形 y 座標公式:y = y0 + n × sin(deg)
( y0:y 軸位置、n:震幅大小、deg:角度 )
了解公式原理後,就可以開始設計 OLED 的繪圖程式:
- 按照公式,先放入對應的 y、n、deg 變數,並設定數值。
- 使用重複迴圈,重複 0~127 ( OLED 的 x 方向解析度只有 128 點 )
- 每次重複時
- 計算 y 座標 ( 注意!MakeCode 的三角函數使用「弧度」,要將角度除以 57.7 轉換 )。
- OLED 在 (x,y) 亮起一顆像素點。
- deg 增加 20。
範例解答
延伸練習
如果已經熟悉了 EZ Start Kit+ OLED 繪製正弦波圖形的原理,還可以嘗試更多好玩的作法:
- 嘗試改變振幅或角度,觀察最後呈現出來的圖形。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~