SAM LabsSAM LABS Coding Tutorial (workbench) TutorialTutorial 4.設計旋轉飛機和旋轉臂 (DC motor)

Tutorial 4.設計旋轉飛機和旋轉臂 (DC motor)

關於如何改裝旋轉飛機和旋轉臂請查看此 : 按我查閱

所需的配件 :

SAM DC Motor x 1

micro:bit x 1

Workbench平台 x 1

轉飛機和旋轉臂模型 x 1

Ex0. 配對DC motor及micro:bit

如有配對上的問題請查看 :  Tutorial 0. Connect SAM blocks and micro:bit On Workbench

在編程這個模型此我們需學習 : 如果編程DC motor

Ex1. 按下micro:bit的Button A來開啟馬達

開啟DC motor,這是一個Actions(行動),

所以需在Action選取編程積木.

在SAM Labs/Workbench中,開啟DC motor即是set DC Motor motor speed to a value .

i.e.給予它速度來把它開啟

把DC motor motor speed set成 100以把它開啟,完成後緊記按RUN!

示範影片 :

Ex2. 試更改DC motor的速度,看看有什麼變化

Ex3. Motor只能以順時針方向運行嗎?

Ans : 不是,在SAM labs/workbench中, set speed to 負數value就是逆時針轉動!

Ex4. 除了利用A,B制外,我們還能利用micro:bit什麼sensor來控制馬達呢?

Ans : 我們還可以利用Accelerometer來控制馬達的轉向,

只要按下micro:bit的時鐘按鈕便能查閱到Accelerometer的value.

從micro:bit的Values block中便能選取get micro:bit X axis acceleration得出x-axis的value以作編程

跟micro:bit編程一樣我們需要從General先選取program start來讓program運行

由於我們需要不斷(Loops)讀取micro:bit x axis的accelerometer,所以我們需要使用repeat forever

利用Logic中的If do else if do else來根據micro:bit x axis的accelerometer value以改變馬達的轉向

即 : if x axis acceleration > (大於某個value) , set DC motor speed to 100 (以順時針轉動)

如何定下x axis acceleration的數值?

只要你改變擺放microbit的方位, Accelerometer的x value便會改變!

你可以透過Connected devices中的micro:bit看到x axis的vlue.

set value 需在Math block中選取0再set你想要的數字

我們將x axis acceleration > 700 (micro:bit向右側)時讓DC motor以順時針轉動,

x axis acceleration < - 700 (micro:bit向左側)時讓DC motor以逆時針轉動

coding 下載 : 按我

示範影片 :