Proximity

Proximity Sensor是Sam Labs Blocks裏的input  device,用作編程的開端。它的主要功能是量度物件的距離遠近,用家需要將物件放Proximity Sensor的前方 (有Sam  字的一面),距離越近數值便會越高。需要注意的是Proximity Sensor有別於Button或Key Press這一類True/False  Input,它是會提供0-100數值的Input。

所需用料 :

Proximity Sensor x 1

RGB LED x 1

Workbench Coding 網頁 : 請按我

Step 1. 配對 Proximity Sensor

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

Programming - Google Chrome

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

近靠Proximity Sensor 時 , Value 內的數字會改變(0-100)。

愈接近Proximity Sensor的時候 , 數值愈大(愈接近100) ;

離開 Proximity Sensor愈遠 , 數值則愈小(愈接近0)。

Ex1. 依照Proximity Sensor的數值來控制RGB LED的光度

Programming - Google Chrome

1. 把 RGB LED 也配對至workbench平台。

Programming - Google Chrome

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

Programming - Google Chrome

3. 在 RGB Light 的 「Actions」中選出 「set RGB Light LED brightness to 50」 並拖拉到

「when Proximity Sensor Value changes」中 , 當 Proximity Sensor 的數值改變時便對

RGB LED 的 brightness 作出指令。

Programming - Google Chrome

4. 這次我們不手動更改 RGB LED Brightness 的數值 , 而是把數值設為「get Proxmity Sensor value」,

依照 Proxmity Sensor value 的數值來更改 RGB LED Brightness ,

即 Proxmity Sensor value = 50 , RGB LED Brightness 亦= 50。

Programming - Google Chrome

5. 從 RGB Light 加入 「set RGB Light LED color to」 , 給予 RGB LED 顏色以把它開啟。

Programming - Google Chrome

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

而這個 Value 亦是 RGB LED  當下的 Brightness 。

Ex2. 利用Proximity Sensor的特性製作出一個智能照明系統

當有人貼近 proxmity sensor 時 , RGB LED 便開啟為行人照明。

編程概覽 :

Programming - Google Chrome

編程教學 :

Programming - Google Chrome

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

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

Programming - Google Chrome

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

Programming - Google Chrome

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

Programming - Google Chrome

4. 把它改為 「 > 」大於 , 因為愈貼近 Proximity sensor 它的數值便愈大,這樣較易進行比較。

Programming - Google Chrome

4. 在 Math 中取出 「0」數字來做比較。(給予數值)

Programming - Google Chrome

5. 改為「90」, 代表非常貼近 proximity sensor。

Programming - Google Chrome

5. 加入「get Proximity Sensor value」在「比較」的前面 , 意思是如果它的數值大於90時 ,

再做出 _______ 的輸出反應。

Programming - Google Chrome

6. 大於 90 時 (貼近 proximity sensor) , 便開燈/給予顏色 ( set RGB Light LED color to ) ,

  否則 ( 小於90時) , 便關燈 ( turn RGB Light LED off )。