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

作者:Ted Lee

胖達因為兩眼黑輪看不清楚電燈開關在牆上何處,請大家想想法子來幫忙他「重見光明」吧。設計出一個以色彩當做電燈的切換開關(使用mBlock5的另一種積木式開發工具來控制8787的顏色偵測功能)。

材料清單

請準備測試用紅、藍物件(例如:紅、藍外殼的筆)各一。

讀者安裝VIA Github上這個版本的mBlock5擴充積木(xxx.mext)後,就能改用Arduino Nano來控制。

硬體連接

請依照以下接線將8787、Uno和電腦連接好,以便後續測試。


功能設計

在單元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官網上下載mBlock5單機離線版並安裝之。

  1. VIA官網下載8787的mBlock5擴充積木。

請將下載的.zip解壓縮後,備妥pixetto-v1.4.0.mext。

  1. 在mBlock上,刪除用不到的設備(device)。

加入Arduino Uno開發板。

  1. 將步驟2的8787擴充積木檔案拖進mBlock5視窗中就可看見多了一個Pixetto積木抽屜了。

  1. 初始化好8787後即可設定偵測到紅色物件亮燈(讓Arduino Uno的D13腳位輸出高電位);偵測到藍色物件關燈(讓Arduino Uno的D13腳位輸出高電位)。

註:建議在開始拉積木程式前,以Blink程式先確認過軟硬體開發環境是否備妥。

  1. 將8787和Arduino Uno接到電腦的USB插槽,按

後來建立和mBlock之間的序列傳輸通道:

(編號小的是Arduino Uno,編號大的是8787)。

其中,我們可以從裝置管理員確認到Arduino Uno及8787所被指定的序列編號。

  1. 按下

按鈕上傳積木程式到Arduino Uno上

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

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

8. mBlock5:

9. Pixetto Junior:

10. Pixetto Editor:

11. Pixetto Scratch:

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

成果展示

教學活動設計

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

實作練習題

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

(作者為本刊專欄作家,本文同步表於作者部落格,原文連結;責任編輯:謝涵如)

Ted Lee

Author: Ted Lee

從工程師轉任中學教師,又為了捍衛教育理念,投身成為 STEAM 教育工作者,自稱「無可救藥的人文教育理想主義者」的李俊德(Ted Lee)。

Share This Post On

發表

跳至工具列