Proximity
Proximity Sensor是Sam Labs Blocks裏的input device,用作編程的開端。它的主要功能是量度物件的距離遠近,用家需要將物件放Proximity Sensor的前方 (有Sam 字的一面),距離越近數值便會越高。需要注意的是Proximity Sensor有別於Button或Key Press這一類True/False Input,它是會提供0-100數值的Input。
所需用料 :
Step 1. 配對 Proximity Sensor
配對後按下右上角的計時器可以看到 Proximity Sensor 的詳細數據 ,
近靠Proximity Sensor 時 , Value 內的數字會改變(0-100)。
愈接近Proximity Sensor的時候 , 數值愈大(愈接近100) ;
離開 Proximity Sensor愈遠 , 數值則愈小(愈接近0)。
Ex1. 依照Proximity Sensor的數值來控制RGB LED的光度
1. 把 RGB LED 也配對至workbench平台。
2. 由於要依照 Proximity Sensor 的數值來控制 RGB LED 的光度 , 所以要在action在選出「when Proximity Sensor value changes」 ,目的是當 Proximity Sensor 的數值改變時我們再做出之後的行動。
3. 在 RGB Light 的 「Actions」中選出 「set RGB Light LED brightness to 50」 並拖拉到
「when Proximity Sensor Value changes」中 , 當 Proximity Sensor 的數值改變時便對
RGB LED 的 brightness 作出指令。
4. 這次我們不手動更改 RGB LED Brightness 的數值 , 而是把數值設為「get Proxmity Sensor value」,
依照 Proxmity Sensor value 的數值來更改 RGB LED Brightness ,
即 Proxmity Sensor value = 50 , RGB LED Brightness 亦= 50。
5. 從 RGB Light 加入 「set RGB Light LED color to」 , 給予 RGB LED 顏色以把它開啟。
按下「RUN」進行測試 , 在「Connected Devices」中可以得知 Proximity Sensor 的 Value ,
而這個 Value 亦是 RGB LED 當下的 Brightness 。
Ex2. 利用Proximity Sensor的特性製作出一個智能照明系統
當有人貼近 proxmity sensor 時 , RGB LED 便開啟為行人照明。
編程概覽 :
編程教學 :
1. 首先把 when Proximity Sensor values changes 取出至workspace ,
因為整個編程都是以 Proximity Sensor 的數值改變來做出比較和輸出反應
2. 由於要因為不同的數值做出不同的輸出效果 , 因此需用到 「if do else」來設置前題
3. 利用「 = 」來比較數值 , 從而做出不同的輸出效果 ,把它放在 if 的後方。
4. 把它改為 「 > 」大於 , 因為愈貼近 Proximity sensor 它的數值便愈大,這樣較易進行比較。
4. 在 Math 中取出 「0」數字來做比較。(給予數值)
5. 改為「90」, 代表非常貼近 proximity sensor。
5. 加入「get Proximity Sensor value」在「比較」的前面 , 意思是如果它的數值大於90時 ,
再做出 _______ 的輸出反應。
6. 大於 90 時 (貼近 proximity sensor) , 便開燈/給予顏色 ( set RGB Light LED color to ) ,
否則 ( 小於90時) , 便關燈 ( turn RGB Light LED off )。