Slider

Slider 是一個 Input , 它具備一個手柄,可以在0到100之間左右滑動手柄,並根據位置而輸出一個數值,對需要以手動控制Output輸入數值時非常有用。

所需材料 :  

Slider x 1

DC Motor x 1

Workbench Coding 網頁 : 請按我

Step 1. 配對Slider

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

Programming - Google Chrome

配對後按下右上角的計時器可以看到 Slider 的詳細數據 ,

拖拉 Slider 到不同位置時 , Value 內的數字會改變(0-100)。

位置愈右的時候 , 數值愈大(愈接近100) ; 位置愈左 , 數值剛愈小(愈接近0)。

Ex1. 依照Slider的數值來控制DC Motor的速度

Programming - Google Chrome

1. 把 DC Motor 也配對至workbench平台。

Programming - Google Chrome

2. 由於要依照Slider的數值來控制 DC Motor 的速度 , 所以要在action在選出「when Slider value changes」 ,目的是當 Slider 的數值改變時我們再做出之後的行動

Programming - Google Chrome

3. 在 DC Motor 的 「Actions」中選出 「set DC Motor motor speed to 0」 並拖拉到

「whenSlider Value changes」中 , 當 Slider 的數值改變時便能對DC Motor 作出指令。

Programming - Google Chrome

4. 這次我們不手動更改 DC Motor speed 的數值 , 而是把數值設為「get Slider value」,

依照 Slider 的數值來更改 DC Motor 的速度 ,即 slider = 50 , DC Motor speed 亦= 50。

Programming - Google Chrome

按下「RUN」進行測試 , 在「Connected Devices」中可以得知 Slider的 Value ,

而這個 Value 亦是 DC Motor 當下的速度。

Ex2. 利用Slider的數值來改變DC Motor的轉動方向

Programming - Google Chrome

當 Slider 的數值大於 50 時(滑軸較右) , DC Motor 便以順時針轉動 ;

相反當 Slider 的數值小於 50 時(滑軸較左) , DC Motor 便以順時逆轉動 。

編程教學 :

1. 首先把 when Slider values changes 取出至workspace ,

因為整個編程都是以 Slider 的數值改變來做出比較和輸出反應。

Programming - Google Chrome

2. 由於要因為不同的數值做出不同的輸出效果 , 因此需用到 「if do else」來設置前題

Programming - Google Chrome

按下小齒輪可以更改「if do else」的組合 , 這次我們使用 「if else if」 (2個如果來進行編程)。

Programming - Google Chrome

3. 利用「 = 」來比較數值 , 從而做出不同的輸出效果 ,把它們放在 if 的後方。

Programming - Google Chrome

1個選為 「 > 」大於 , 另1個選為 「<」小於 , 這樣才能做出比較。

Programming - Google Chrome

4. 在 Math 中取出 「0」數字來做比較。

Programming - Google Chrome

把數字改成「50」 (剛好一半)

當 Slider 的數值大於 50 時(滑軸較右) , DC Motor 便以順時針轉動 ;

相反當 Slider 的數值小於 50 時(滑軸較左) , DC Motor 便以順時逆轉動 。

Programming - Google Chrome

5. 加入「get Slider value」在「比較」的前面 , 意思是如果 slider 的數值大於/小於50時 ,

再做出 _______ 的輸出反應。

Programming - Google Chrome

6. 把「set DC Motor motor speed to 」加至 2個 do 的後面 ,

  當 Slider value > 50 時 , DC Motor 便以 speed 100 的速度轉動 (順時針),

 當 Slider value < 50 時 , DC Motor 便以 speed - 100 的速度轉動 (逆時針)  

** DC Motor speed 可隨意更改 , 但需記住正數值為順時針 , 負數值為逆時針。