Heat Sensor 溫度感應器

Heat Sensor是Sam Labs Blocks裏的input device,用作編程的開端。它的主要功能是量度Sensor周邊的溫度,並會用攝氏來顯示。每當環境的溫度有轉變,在Sam Space中將會有顯示新的溫度。Heat Sensor除了量度溫度外,亦能作為一個溫度input使用,例如可以設定當Heat Sensor的數值高於32度時,便判斷周邊環境為炎熱,之後做出後續動作。

教學影片:

所需用料 : 

Heat Sensor x1

RGB LED x1

Heat Sensor連接方法 : 按我  

編程教學

1. 連接Heat Sensor和RGB LED到Sam Space,把Heat Sensor拉到介面上,看看在Heat Sensor上是否出現像圖中一樣的黑色話框,裏面顯示着周邊攝氏溫度讀數。

2. 你可以嘗試拿一些與當前環境溫度有很大差別的物件放在Heat Sensor的上方(例如如果你現在是處於25度以上的環境,可以試試在冰箱拿一件冷的物件),然後看看Heat Sensor的讀數有否改變。

3. 把Log Findings拉到Sam Space,並打開它的設定。(不要連接任何東西)

4. 在Log Findings的設定中設定時間,例如當你把時間設定為10秒的話,當Log Findings連接到Heat Sensor時,它就會每隔10秒將Heat Sensor得到的數據紀錄下來。如果希望作試驗的話可以將時間設定為1秒。

5. 回到Sam Space,將Log Findings連接到Heat Sensor的後面,並再次打開Log Findings的設定。

6. 當你看到Log Findings的設定下方 "0/10,000 entries"的地方,0開始變多的時候,這代表Log Findings正在紀錄數據。在這其間,請將你在Step 2的步驟再做一次。

7. 在完成Step 6後,請按下Download file as .csv的按鈕,然後再按Save to Files。之後可以選擇一個想要儲存的位置,將這個csv file儲存到Ipad上。

8. 回到Ipad的主頁面,找尋File的圖示並按下,在Recents的文件夾中你會找到一個最近新增的表格檔案,如果你並沒有更改名稱的話,文件名應該是comma-separated values。打開這個文件。

9. 當你打開這個文件,Ipad會自動以Spreadsheet來開啟這個文件,而你可以見到在表格上有顯示時間,所收集資訊的Input,以及當時的讀數。

10. 慢慢向下看,看看能否找到溫度出現極大變化的時刻,這個時刻便是你在Step6所進行的活動。

進階編程教學

Heat Sensor除了單單收集環境溫度數據外,亦可以用於一些與溫度相關的裝置中。在今次的進階編程教學,將會讓大家看看如何以Heat Sensor及RGB LED製作冷熱提示器。這個冷熱提示器將會在炎熱的時候亮起紅燈,而冷的時候亮起藍燈,溫度適中時則亮起緣燈。

11. 將之前的Log Findings移除,並拉出一個RGB LED。(不要連接Heat Sensor)

12. 在Behaviors中的Numbers類別裏拉出2個Compare指令,並將它們同時連接在Heat Sensor的後面。

13. 進入這2個Compare的設定裏,將它們變成 ">25"和 "<23"。

14. 同樣在Behaviors中的Numbers類別裏拉出1個Filter指令,並將它與Compare一樣並列連接在Heat Sensor後面。

15. 進入Filter的設定,並把Filter Values改成23-25。

16. 到這裏,在Heat Sensor後應該出現3種情況,">25","<23"以及"23-25"。這3個指令的目的是將Heat Sensor所得到的數據分成3類,分別是炎熱,寒冷和適中。由於我們希望以顏色區分這3個類別,因此請在Behaviors中的Colors類別拉出3個Color,分別連接在每個指令的後面。

17. 各自打開這3個Color的設定,將">25"指令後的Color設定成紅色,將"<23"指令後的Color設定成籃色,將"23-25"指令後的Color設定成綠色。

18. 最後將這3個Color一起連接到RGB LED上。這樣就可以根據Heat Sensor所得的數據判斷周邊環境的溫度是炎熱,寒冷還是適中。

Heat Sensor小知識

Heat Sensor是個會測量附近溫度的Input Device,輸出的數據是攝氏溫度。不同於Light Sensor一類的0-100 Input,Heat Sensor的最高輸出數值只能去到78,因此在加入數字型的Behaviors來做後續編程時需要留意,同時亦可像在進階編程教學中的例子一樣,預先以某個數值來定義炎熱和寒冷(在例子中是以政府的建議冷氣溫度來定義),這樣對於後續編程會更加容易處理。