2021年2月16日 星期二

當胖達遇見8787:使用VIA Pixetto視覺感測器之顏色偵測功能

當胖達遇見8787

使用VIA Pixetto視覺感測器之顏色偵測功能

FB2http://gg.gg/TedLeeMicrobitFB/
URL2http://gg.gg/TedLeeMicrobit/

Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1http://gg.gg/TedLeeFB/
Bloghttp://gg.gg/TedLeeBlog/
URL1http://gg.gg/TedLeeURL/

Feb. 16, 2021
88x31.png[1]

難易度★★☆☆☆

主題:遙控

胖達因為兩眼黑輪看不清楚電燈開關在牆上何處,請大家想想法子來幫忙他「重見光明」吧。

 任務:mBlock5+8787擴充積木

以色彩當做電燈的切換開關(使用mBlock5的另一種積木式開發工具來控制8787顏色偵測功能)。

 材料

項目

品名

單位

數量

1

VIA Pixetto視覺感測器(含長、短micro USB傳輸線各一條)

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和電腦連接好,以便後續測試。

8787Grove線)

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]。

  1. 從Makeblock官網上(https://reurl.cc/V38Rbb)下載mBlock5單機離線版並安裝之
  2. 從VIA官網(https://reurl.cc/1ge05p)下載8787的mBlock5擴充積木 。請將下載的.zip解壓縮後,備妥 pixetto-v1.4.0.mext。
  3. 在mBlock上,刪除用不到的設備(device)。加入Arduino Uno開發板 
  4. 將步驟2的8787擴充積木檔案拖進mBlock5視窗中就可看見多了一個Pixetto積木抽屜了
  5. 初始化好8787後即可設定偵測到紅色物件亮燈(讓Arduino Uno的D13腳位輸出高電位);偵測到藍色物件關燈(讓Arduino Uno的D13腳位輸出高電位)。註:建議在開始拉積木程式前,以Blink程式先確認過軟硬體開發環境是否備妥。
  6. 將8787和Arduino Uno接到電腦的USB插槽,按後來建立和mBlock之間的序列傳輸通道
     (編號小的是Arduino Uno,編號大的是8787) 
    。其中,我們可以從裝置管理員確認到Arduino Uno及8787所被指定的序列編號
  7. 按下 按鈕上傳積木程式到Arduino Uno上 
     

本範例完整程式碼可由下載。

註:我們比較一下mBlock5、Pixetto Juniot和Pixetto Editor、Pixetto Scratch四種工具的8787擴充積木之差異處。 

  1.  mBlock5: 
  2. Pixetto Junior:
  3. Pixetto Editor:
  4. Pixetto Scratch:

看來Pixetto在mBlock5上的積木數量比他們原生的工具更完整喔!

成果展示

本文的展示影片如所示。

教學活動設計

1. 繼電器(relay) 讓Arduino Uno外掛一顆繼電器來控制家中小功率的電器用品(例如:檯燈),讓它可以用紅、藍色卡當作切換開關。

實作練習題

以「紅色:長亮綠色:短亮藍:關閉」的LED亮燈控制規則改寫本單元的範例
參考程式:


参考資料

  1. 六種授權條款
  2. 感謝VIA的Vincnet副理技術支援。