2021.4.23/彰安自造教育及科技中心
慧手科技教學團隊 徐瑞茂老師
多次強調RFID讀卡系統的接線一定要接正確。
慧手科技Motoduino Taiwan https://www.facebook.com/groups/1660095114234882/
慧手科技MOTODUINO https://www.motoduino.com/
MOTOBLOCKLY https://www.motoduino.com/wp-content/themes/storefront/moto_iot_blockly_v48/demos/code/index.html
系統使用方式
手環的RFID卡號寫入程式,才能認證,若未登錄的,則會顯示紅燈及警示燈。 若正確則顯示綠燈,並可以量體溫,量好後會自動上傳到GOOGLE表單(遮住光敏電阻來啟動)。,程式中可設定體溫臨界值,若超過的話,則…發出LINE訊息至指定帳號中。
先將手環的卡號加入程式中
上週講義
https://drive.google.com/drive/folders/1ACJcsUcQWJgdgzeWWqGc9czv6jlBvMde
上週的內容:
moto_iot_blockly_pc Setup 1.5.0.exe 為motoblockly的離線版
體溫回報系統-sample_1.xml為上週motoblockly的程式檔案
1新增「串列埠」→設定串列埠加入主程式最上面
新增→串列埠→印出訊息後換行
感應器→RFID讀寫模組→RFID-RC522設定腳位再加入
移除設定數位腳位
加上判斷的條件式:判斷是否讀到新的卡片,若是則顯示UID碼
打開motoblock_broker,開啟motoduino web 的直接燒錄功能,選Arduino分頁,按紅色箭頭燒錄。
也可以按「ide」來啟動Arduino,用IDE來燒錄。
按最右方的監控視窗,就會出現PuTTY的視窗,將手環、卡片等置於RFID感應器人,即可讀出卡號。
尤於螢幕i2c與mlx90614紅外線溫度感應都走同一個,板子上只有1個可以接的地方,所以用1分2的頭來接兩個
不同的i2c有不同的位址,慧手開發的都是ox27,目前都只支援英文,不能用中文
變量→新增變數→bCheckIDResult
再拖拉宣告,並設為「bool」,設定一開始的值為「假」(0)
再把要認證的卡片,儲在陣列中,變數→陣列→宣告陣列→資料為「string」→資料量「3」依需要的卡片數量→輸入剛才讀到的卡片。
新增副程式→副程式→第2個積木
副程式的積木不能比主程式的積木位置高,不然會有問題。
輸入副程式名稱
變量→宣告一個新的變數「fBodyTemper」→型態「float」→值「0」
蜂鳴器→發出聲音
時間→延遲
變量→賦值fBodyTemper→ 感應器(紅外線mlx90614)
腳位10→藍燈
腳位6→紅燈
腳位5→綠燈
副程式:
體溫大於35.5時,紅燈、警告3聲並發Line訊息。
否則,綠燈
新增新的副程式「FnGetIDAction」,
宣告新變數「fBodyTemperature」
發出綠燈腳位5→100。
發出聲音「叮」「咚」的聲音。
LCD顯示訊息「Hello」+「szMember變數」。
再關閉綠燈腳位5→0
數位腳位2→低(即使用者未按時),讓此成為迴圈,若一直未按時,程式會停留在此。
當數位腳位2→高(使用者按鍵後),即跳出迴圈。
再來感應光敏電阻類比腳位a1的值,若一直大於100(即未遮住時),可以一直重複量體溫。
若遮住光敏電阻的話,則進行下面
賦值「fBodyTemperatue」為呼叫副程式fnBodyTemper迴回的值。
發出聲音→並上傳至Google表單。