20211117路竹高中

主題:Web:Bit在智能屋的應用

教材講義:http://gg.gg/1117lu

講師:黃文玉老師 (shspswenyu@gmail.com)

  • 高雄市新上國小電腦老師

  • 高雄市SCRATCH推廣教師

  • 教育部中小學教師運算思維增能研習種子教師

  • Facebook S4A社團管理員之一

  • 致力Scratch、Arduino、micro:bit、Web:Bit、凱比機器人等程式教育及創客教育的推廣(分享一系列的文章)


今年高雄市SCRATCH競賽的硬體組就是玩Web:Bit...

一、認識智能屋

  • 有智慧的房子

  • 也就是安裝了很多【感測器】及【反應器】

  • 感測器偵測到什麼訊號,就做出我們指定的動作(一直在做邏輯判斷)

  • 輸入裝置 :

    • 又有分【數位輸入(DIGITAL IN)】(就像開關 ON/OFF)及【類比輸入(ANALOG IN)】

    • 人可操控的:按鍵、搖桿、麥克風(聲音)、滑桿(可變電阻)、遙控器

    • 環境控制的:聲音、光度、溫度、紅外線、各式偵測器

    • 除了【按鍵】及一些【關關】為【數位輸入(DIGITAL IN)】,其他大都為【類比輸入(ANALOG IN】),有些感應器是可以同時採用【數位輸入(DIGITAL IN)】或【類比輸入(ANALOG IN】)

    • Web:Bit的類比輸入只有P1及P2的腳位可用!

  • 輸出裝置:

    • 又有分【數位輸出(DIGITAL OUT)】(ON/OFF)及【類比輸出(ANALOG OUT)】

    • 將【數位輸出】模擬成【類比輸出】的腳位,又稱PWM腳位。

    • 常見的輸出裝置有:

      • 數位輸出:LED燈及各式顯示器(LCD、OLED、8x8LED、7段顯示器、燈條)、蜂鳴器、繼電器.

      • 類比輸出:LED燈、馬達...

二、認識Web:Bit開發板及安裝教育版編輯器

  • 認識Web:Bit開發板

    • 模仿micro:bit而來

    • 使用ESP32晶片,所以其強項在IoT

  • 安裝教育版編輯器

  • 先小試身手

    • 剪刀石頭布遊戲

三、實作部份

  • 環境控制

    • 天黑請開燈

      • 量測目前的光亮度?

        • 發現:最大值為1000(最亮),最小值為0(最暗)

      • 直接使用Web:Bit開發板上的光敏感應器及屏幕LED燈來實作【天黑請開燈】

        • 也可請綠色怪獸及紅色怪獸說出左上及右上的亮度值

      • 另外,也可以外接光敏電阻及LED燈來實作(光敏電阻只能接P1或P2;LED燈可接P13腳位)

    • 天熱請開扇

      • 內建【溫度感測器】來量測溫度,量測溫度的作法,如上測光亮度的作法

      • 擴展板的使用,由於金手指腳位與micro:bit相容,所以micro:bit的擴展板也可使用。

      • 天熱時(當環境溫度高於設定溫度時)請開扇(啟動繼電器)

        • 按A鍵,增加【設定溫度】1度

        • 按B鍵,減少【設定溫度】1度

        • 按A+B鍵時,顯示目前環境溫度

    • 天乾請澆水、天雨請收衣 (不實作)

      • 外接的【土壤濕度偵測器】(可接P2),其類比值介於0(最乾)~0.5(最濕)之間

      • (繼電器+沉水泵) 或 (馬達驅動模組+沉水泵)

    • 空氣差請開空氣淨化器(或關窗)系統

      • 利用氣象資訊取得AQI值 (不用感應器)

  • 安全防護系統

    • 入侵警報

      • 利用【超音波測距感應器】做入侵偵測 (註:要使用支援3V的超音波測距感應器)

        • 利用【超音波測距感應器】來量測距離(Trig(P3);Echo(P9))

        • 當距離小於設定距離時,發出警報

      • 利用【霍爾感應器】做入侵偵測

        • 利用【霍爾感應器】來偵測是否與磁鐵脫離 (接P6)

          • 結果:磁鐵接近時,其數位值為0,感應器亮燈;當分離時,其值為1,感應器燈滅

        • 當門窗被打開時(與磁鐵分離),發出警報

        • 火警警報

          • 利用【火焰感應器】做火焰偵測

  • 與LINE的結合

      • 傳遞訊息

        • 將各式警報透過LINE傳遞給用戶(主人家)

        • LINE教學 04 LINE的應用(要有LINE登入帳密,才能申請到Token(權杖))

        • tqVCLO9R54VMFlsHspBfhd8zzs1pNTueqnDj1Uw8OB7

        • 用LINE回報有人入侵(入侵警報1)

  • 用LINE回報有人開窗(入侵警報2)

    • 遠端控制

        • 利用LINE來遠端控制

        • LINE教學 04 LINE的應用 (加入Webduino Robot為好友,並取得頻道名稱)

        • 簡易測試看看 (會一直偵測,不用放迴圈中)

  • 輸入數字來顯示相關資訊或控制相關設備

    • 1:顯示溫度

    • 2:顯示左上亮度

    • 3:顯示土壤濕度

    • 4:顯示AQI值

    • 5:顯示距離

    • 6:播放音樂

    • 7:點亮LED燈

    • 8:關閉LED燈

    • 9:啟動繼電器(開電扇)

    • 0:關閉繼電器(關電扇)

  • 利用紅外線遙控器進行近端遙控

    • 利用紅外線遙控器來控制:紅外線接收器(P1)

    • 先取得遙控器各按鍵的代碼

    • 以下這支遙控器的各按鍵代碼如下:

1:00ffa25d

2:00ff629d

3:00ffe21d

4:00ff22dd

5:00ff02fd

6:00ffc23d

7:00ffe01f

8:00ffa857

9:00ff906f

0:00ff9867

*:00ff6897

#:00ffb04f

上:00ff18e7 3d9ae3f7

下:00ff4ab5 1bc0157b

左:00ff10ef 8c22657b

右:00ff5aa5 449e79f

OK:00ff38c7 488f3cbb

  • 利用遙控器顯示資訊及控制元件

1:顯示溫度

2:顯示左上亮度

3:顯示土壤濕度

4:顯示AQI值

5:顯示距離

6:播放音樂

7:點亮LED燈

8:關閉LED燈

9:啟動繼電器(開電扇)

0:關閉繼電器(關電扇)

左:伺服馬達轉到0度

上:伺服馬達轉到90度

右:伺服馬達轉到180度