本單元參考下列網站編寫:
https://steam.oxxostudio.tw/category/microbit/example/oled-draw.html
本單元主要是展示OLED1306也可以繪製數學圖形哦!不會講述相關數學及函數原理。
按照公式,先放入對應的 x、y、y0、n、deg 變數,並設定數值。
使用重複迴圈,重複 128 次 ( 因為 OLED 的 x 方向解析度只有 128 點 )
每次重複時
計算 y 座標 ( 注意!MakeCode 的三角函數使用「弧度」,要將角度除以 57.7 轉換 )。
OLED 繪製在 (x,y) 繪製亮點。
x 增加 1。
deg 增加 20。
完成後,啟動 micro:bit,OLED 就會畫出正弦波形。
「圓形」是透過三角函數,計算圓周上的 x 與 y 座標所畫出的圖形。
圓形座標公式 ( x0、y0 為圓心座標,r 為半徑,deg 為角度 ):
x 座標:x0 + r × cos(deg)
y 座標:y0 + r × sin(deg)
首先新增一個名為 circle 的函式,替函式加入 x0、y0、r 和 deg 四個參數,透過函式繪製圓形。
了解公式原理後,就可以開始設計 OLED 的繪圖程式:
按照公式,編輯 circle 函式內容。
使用計次迴圈,重複 deg 次 ( 360 度可以畫出圓形,180 度可以畫出半圓形 )。
每次重複時計算 x、y 座標,並在 OLED 繪製亮點。
函式編輯完成後,於啟動時呼叫 circle 函式。
完成後,啟動 micro:bit,OLED 就會畫出圓形。
如果需要修改「起始角度」,可以把 circle 函式增加一個 deg0 的參數,計算角度時,先加上 deg0,就能夠指定起始的角度。
下圖的例子,按下 A 按鈕時,OLED 會畫出左邊的半圓形,按下 B 按鈕時,OLED 會畫出右邊的半圓形。