以 OLED DISPLAY(OD01)配合GPS CORE(SN01)顯示座標

在早前我們學過利用 GPS CORE (SN01 )取得座標,亦學過如何利用OLED DISPLAY(OD01)顯示文字.

這次我們將它們合二為一,一次過由GPS CORE (SN01 )取得數據再以OLED DISPLAY(OD01)顯示出來.

所需用料 :

micro:bit x 1

micro:bit bridge IM01 x 1 

GPS CORE (SN01 ) x 1

OLED DISPLAY(OD01) x 1

xChips Connector x 2

usb cable x 1             

micro:bit coding platform : https://makecode.microbit.org/  

GPS CORE (SN01 )  + OLED DISPLAY(OD01) 接駁方法 :

詳細接駁教學請看此 : 按我

編程教學

1. 加入「SN01」及「OD01」Extension block,

輸入「XinaBox/pxt-SN01」, 「XinaBox/pxt-OD01」

詳細教學請看此 : 按我

編程教學 :

Ex.1 在OD01 display 顯示時間

Microsoft MakeCode for micro:bit - Google Chrome

由於 "GET TIME" 是一組字串, 而不是文字 ;

所以我們需用用 「print string 」 來顯示。

Ex.2 在OD01 display 顯示經緯度

Microsoft MakeCode for micro:bit - Google Chrome

直接顯示2組數據。

但你會發現,每按1次「A制」就會在下方顯示新一組數據。

Ex.3 利用clear display來清空上一組數據

Microsoft MakeCode for micro:bit - Google Chrome

在顯示不同數據時, 為免造成混亂 .

做簡單的做法是,按下一個button時顯示一種數據.

再按下另一個button時,上次的數據便消失接著再顯示另一種數據.

為了清除上次的數據 , 我們這次利用了「Clear display」這個功能.

Ex.4 顯示數據時加入名稱作分辨

頭3個Ex都只是單純顯示數據,

如果不看回原code是很難知道該數據是代表什麼.

所以在Ex.4 我們將會加入名稱來顯示不同數據.

這次我們不再使用「print newline」,而是使用「at col ___ row ___ 」來顯示 !

row 代表在第幾行顯示 ( y axis / 上下)

col 代表在什麼距離顯示 ( x axis / 左右)

每個半型字元 = 5 col , i.e. 1個字母/spacebar/符號...

Microsoft MakeCode for micro:bit - Google Chrome

" latitude  : " ⇒ 8個字母 = 5 * 8

3個符號 ( " " + ) + 1 spacebar = 5 * 4  ==> total = 60 col

我們要在 latiude 後才顯示數值,所以要再 + 5個col → 65 col

因此 SN01 get latitude at col 65  ;

" longitude : "  ⇒ 9個字母 = 5 * 9 ,

3個符號 ( " " + ) + 1 spacebar = 5 * 4  ==> total = 65 col

我們要在 latiude 後才顯示數值,所以要再 + 5個col → 70 col

因此 SN01 get longitude at col 70 。