按鈕開關 ( 控制顏色 )
Smart 開發板上內建一個微型按鈕開關,透過開關的三種行為:按下、放開和長按,可以控制三色 LED 燈的顏色,甚至將原本正在執行的迴圈暫停或啟動迴圈。
Webduino Blockly 操作解析
在畫面中放入開發板積木,開發板下拉選單選擇「Smart」,連線方式選擇「Wi-Fi」,填入 Device ID,在開發板內放入三色共陰 LED 的積木 ( 腳位設定為紅 15、綠 12 和藍 13 ) 和上拉按鈕開關的積木 ( 腳位 4 )。
取得 Device ID、使用 IP 來進行 WebSocket 操控,請參考:Webduino Smart ( 初始化設定 )
一開始用按鈕的積木來測試最簡單的範例,當按鈕「按下」的時候,三色 LED 燈就會出現隨機的顏色,當按鈕「長按」,就會關閉三色 LED 燈,完成後填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,接著按壓按鈕開關,就會看到三色 LED 燈發出不同顏色了。
隨機顏色功能在「基本功能 > 顏色」目錄下。
除了基本的按鈕操控,我們也可以用按鈕開關來停止迴圈或開始迴圈,因為按鈕開關只有一個,所以必須透過一個會切換「真」與「否」的變數來判斷何時該停止迴圈,首先放入一個變數,命名為 a,將其初始值設定為「否」( 也就是迴圈停止狀態 ),接著在按鈕開關按下的時候,判斷如果是「否」,就切換為「真」,反之切換為「否」。
邏輯與真否的功能在「基本功能 > 邏輯」目錄下,此處不見得要用真或否,亦可使用 1 或 0 之類的數字判斷,總之必須要知道哪一個是對應迴圈停止,哪一個是對應迴圈開始。
接著放入「無窮迴圈」的積木,無窮迴圈有兩種形式,一種是「當」,表示「當發生什麼事情」的時候會啟動迴圈,另外一種是「直到」,表示「直到發生什麼事情」的時候就會停止迴圈。
在「無窮迴圈」積木下拉選單選擇「直到」,後面邏輯判斷放入「a 等於否」,也就是說如果按下開關的時候,a 切換為否,迴圈就會停止,不然就會啟動迴圈。迴圈內放入隨機顏色的積木,以及一個等待 0.5 秒的積木,注意!使用無窮迴圈一定要使用等待積木,不然可能會造成瀏覽器的效能被耗盡的情況。
無窮迴圈的功能在「基本功能 > 迴圈」目錄下,等待功能在「進階功能 > 等待」目錄下。
最後放入「長按」的積木,在按鈕開關長按的時候,將 a 變成否,停止迴圈,同時把三色 LED 燈關閉。
填入裝置 Device ID,確認開發板上線,點選右上方紅色按鈕執行,開始按壓按鈕開關,就可以控制顏色的播放,同時也可以暫停播放或關閉三色 LED 燈。
相關參考
- 範例解答:https://goo.gl/HzTcbe
- 範例完整程式碼:http://bin.webduino.io/yaleq/edit?html,js,output
- Smart 三色 LED 燈教學文:Smart ( 三色 LED )
- Smart 按鈕開關教學文:Smart ( 按鈕開關 )
聯絡我們
如果對於 Webduino 產品有興趣,歡迎透過下列方式購買:
個人線上購買:https://store.webduino.io/ ( 支援信用卡、超商取貨付款 )
企業&學校採購:來信 [email protected] 或來電 07-3388511。
如果對於這篇教學有任何問題或建議,歡迎透過下列方式聯繫我們:
Email:[email protected] ( 如對於產品有使用上的問題,建議透過 Email 附上照片或影片聯繫 )
Facebook 粉絲團:https://www.facebook.com/webduino/
Facebook 技術討論社團:https://www.facebook.com/groups/webduino/