當胖達遇見8787:
使用VIA Pixetto視覺感測器之顏色偵測功能
FB2:http://gg.gg/TedLeeMicrobitFB/
URL2:http://gg.gg/TedLeeMicrobit/
Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1:http://gg.gg/TedLeeFB/
Blog:http://gg.gg/TedLeeBlog/
URL1:http://gg.gg/TedLeeURL/
URL1:http://gg.gg/TedLeeURL/
Feb. 16, 2021
主題:遙控
胖達因為兩眼黑輪看不清楚電燈開關在牆上何處,請大家想想法子來幫忙他「重見光明」吧。
任務:mBlock5+8787擴充積木
以色彩當做電燈的切換開關(使用mBlock5的另一種積木式開發工具來控制8787的顏色偵測功能)。
材料
項目 |
品名 |
單位 |
數量 |
1 |
VIA Pixetto視覺感測器 |
盒 |
1 |
2 |
Grove線 |
條 |
1 |
3 |
Arduino Uno |
片 |
1 |
4 |
USB2.0 A公-B公傳輸線 |
片 |
1 |
l 請準備測試用紅、藍物件(例如:紅、藍外殼的筆)各一。
l 讀者安裝VIA Github上這個版本的mBlock5擴充積木(xxx.mext)後,就能改用Arduino Nano來控制。
硬體連接
請依照以下接線將8787、Uno和電腦連接好,以便後續測試。
8787(Grove線) |
Uno |
黃 |
D4 |
白 |
D5 |
紅 |
5V |
黑 |
GND |
功能設計
在單元1中,我們介紹了以Pixetto Junior來開發8787的電控程式。在該單元末的實作題中,我們亦展示了它的攣生兄弟Pixetto Editor也能達到這個目的。此外,在單元2最後的實作題中,Arduino的C/C++語法也是十分便利的開發工具。另一方面,範例1~3在Pixetto Scratch上,8787更進一步的擔任起Scratch遊戲或動畫的外部AI視覺感測器。現在,本範例再進一步地展示Makeblock的mBlock5也可支援8787相關應用的開發任務。
首先,在Pixetto Utility
上先套用紅色及藍色的顏色偵測功能。
接著,準備好mBlock5的8787開發環境[2]。
- 從Makeblock官網上(https://reurl.cc/V38Rbb)下載mBlock5單機離線版並安裝之。
- 從VIA官網(https://reurl.cc/1ge05p)下載8787的mBlock5擴充積木 。請將下載的.zip解壓縮後,備妥 pixetto-v1.4.0.mext。
- 在mBlock上,刪除用不到的設備(device)。加入Arduino Uno開發板 。
- 將步驟2的8787擴充積木檔案拖進mBlock5視窗中就可看見多了一個Pixetto積木抽屜了。
- 初始化好8787後即可設定偵測到紅色物件亮燈(讓Arduino Uno的D13腳位輸出高電位);偵測到藍色物件關燈(讓Arduino Uno的D13腳位輸出高電位)。註:建議在開始拉積木程式前,以Blink程式先確認過軟硬體開發環境是否備妥。
- 將8787和Arduino Uno接到電腦的USB插槽,按後來建立和mBlock之間的序列傳輸通道
(編號小的是Arduino Uno,編號大的是8787)
。其中,我們可以從裝置管理員確認到Arduino Uno及8787所被指定的序列編號。 - 按下 按鈕上傳積木程式到Arduino Uno上
本範例完整程式碼可由此下載。
註:我們比較一下mBlock5、Pixetto Juniot和Pixetto Editor、Pixetto Scratch四種工具的8787擴充積木之差異處。
成果展示
本文的展示影片如此(https://reurl.cc/ravqp1)所示。
教學活動設計
1. 繼電器(relay) 讓Arduino Uno外掛一顆繼電器來控制家中小功率的電器用品(例如:檯燈),讓它可以用紅、藍色卡當作切換開關。
實作練習題
以「紅色:長亮、綠色:短亮、藍:關閉」的LED亮燈控制規則改寫本單元的範例。
參考程式:。
參考程式:。
参考資料:
- 六種授權條款。
- 感謝VIA的Vincnet副理技術支援。
沒有留言:
張貼留言