運用 Pixetto 視覺感測器製作 Arduino 辨色LED燈

Pixetto
Pixetto

一、介紹

威盛-Pixetto為一款高畫質視覺感測器,能夠實現物體、形狀、顏色、人臉及手寫辨識等功能,它具有完整的機器學習平台,不但有適合學生的Scratch程式編輯環境,更可讓使用者自由調整並訓練自己的AI模型。不論您是初學者或進階創作者,都能方便的使用AI解決方案。

本篇教學將帶大家使用Pixetto 進行顏色檢測,透過辨識到的顏色,轉而控制RGB LED來改變裝飾燈的顏色。

二、組裝教學

1. 材料零件清單

組裝過程中需要的零件、模組與連接線如下表所示:

名稱數量名稱數量
Arduino UNO1個威盛Pixetto1個
RGB LED模組1個木頭外殼與壓克力板1組
4P杜邦線(公 – 母)1條Grove母座 to 4P公端杜邦線1條
M3x6mm螺絲2個M3x8mm螺絲4個
M3x10mm螺絲4個M2x5mm螺絲4個
M3螺帽10個M2螺帽4個
M3x5mm銅柱2個M2*6mm銅柱4個

2. 安裝Arduino UNO

2-1. 準備如下圖所示之木板、Arduino UNO、M3x10mm螺絲4個與M3螺帽4個。

木板、Arduino UNO、M3x10mm螺絲與M3螺帽

2-2. 將Arduino UNO對齊下圖所示的孔洞。

2-3. 使用螺絲與螺帽將Arduino UNO 固定在木板上。下圖紅圈的位子空間較小,若是塞不下螺帽可放棄,由其餘三孔固定已足夠。

3. 安裝RGB LED模組

3-1. 準備如下圖所示之木板、RGB LED模組、4P杜邦線(公 – 母)、M3x5mm銅柱2個、M3x6mm螺絲2個與M3螺帽2個。

木板、RGB LED模組、4P杜邦線(公 – 母)、M3x5mm銅柱、M3x6mm螺絲與M3螺帽

3-2. 將M3x5mm銅柱與M3螺帽裝在RGB LED模組上的孔位。

3-3. 將4P杜邦線(公 – 母)的杜邦母端安裝在RGB LED模組的排針上。

稍後接線的部份可以翻到模組背面查看連接的腳位標示。

3-4. 依照下圖方向用螺絲將模組安裝在木板上,螺絲位子於下方矩形孔右側。

4. 安裝Pixetto

4-1. 準備如下圖所示之木板、Pixetto、Grove母座 to 4P公端杜邦線、M2x5mm螺絲4個、M2*6mm銅柱4個與M2螺帽4個。

木板、Pixetto、Grove母座 to 4P公端杜邦線、M2x5mm螺絲、M2*6mm銅柱與M2螺帽

4-2. 將M2*6mm銅柱與M2螺帽如下圖方向安裝在Pixetto四角的孔洞上。

特別注意,Pixetto佈滿很多細小電子元件,在安裝銅柱與螺帽時要格外小心。

4-3. 將Grove母座 to 4P公端杜邦線的母座端裝到Pixetto的Grove插槽。

4-4. 將Pixetto依照下圖所示擺放在木板上,連接線朝側邊。

4-5. 正面用螺絲固定。

5. 安裝各連接線

5-1. 接下我們要將RGB LED模組與Pixetto的連接線裝到Arduino UNO上。

5-2. 如下圖表所示連接 RGB LED模組

Arduino UNORGB LED模組
D9R
D10G
D11B
GNDGND

5-3. 如下圖表所示連接Pixetto

Arduino UNO Pixetto
D7R(黃色)
D8T(白色)
5VV(紅色)
GNDG(黑色)

6. 組裝外殼

6-1. 將裝有Pixetto的木板與RGB LED模組的木板,如下圖方向組裝在一起。

6-2. 將裝有Arduino UNO的木板如下圖所示,安裝在裝有Pixetto的木板上,UNO的USB插孔與Pixetto的USB插孔朝向同一側。

6-3. 準備如下圖所示木板。

6-4. 將有孔洞的側板如下圖方向,安裝在有USB插孔那一側。

6-5. 將另一片側板安裝在另一側。

6-6. 將最後一片木板安裝在背後,孔洞位子於右下角。

6-7. 接下來我們將用剩下的M3x8mm螺絲與M3螺帽固定。如下圖所示正面板(有鏡頭這一面)與背面板都有螺絲孔。

6-8. 上板與底板也有如下圖所示的螺帽孔洞。

6-9. 將這四組螺絲、螺帽孔洞依照下圖所示,小心將螺帽至於孔洞內,再用螺絲鎖在螺帽上固定。

6-10. 完成後頂部如下圖所示。

6-11. 完成後底部如下圖所示。

6-12. 最後放上壓克力板即完成。

三、軟體下載及安裝

1. 點選下方連結,開啟VIA Pixetto文件&軟體下載頁面。

文件&軟體下載 – VIA Pixetto

2. 至軟體下載位置,點選威盛Pixetto軟體套件,下載軟體並安裝。

3. 下載完畢後解壓縮並打開資料夾,看到下列視窗即完成。

四、設定Pixetto

首先我們需要設定Pixetto執行顏色偵測的功能,再由Arduino UNO接收偵測結果來控制LED的顏色。

1. 將Micro USB線連接到Pixetto上。

2. 打開pixutils資料夾,並點選「 pixutils 」應用程式。

3. 等待Pixetto初始化完成後,即可在畫面中看到Pixetto拍攝的畫面。

4. 依照下圖設定各個選項,最後按下「套用」完成設定。

5. 完成上述設定後,即可拔除Micro USB線,並關閉Pixetto Utility。

五、撰寫程式

1. 打開資料夾pixedit,並點選「PixettoEditor」應用程式。

2. 首先點選左側程式列表中的「控制」,並於清單中拖拉出「初始化」這個程式。

3. 接著點選左側程式列表中的「視覺感測器」,並於清單中拖拉出「初始化視覺感測器…」這個程式,請將此程式放入剛才的「初始化」中。

設定腳位RX為「7」、TX為「8」,這樣就完成了Pixetto的初始化,可以開始偵測。

4. 點選左側程式列表中的「控制」,並於清單中拖拉出「如果…那麼…」這個程式。

5. 點選左側程式列表中的「視覺感測器」,並於清單中拖拉出「識別到物體」這個程式,請將此程式放入剛才「如果…那麼…」的如果後方欄位中。

我們將透過「識別到物體」這個程式,來偵測有沒有指定顏色的物體靠近。

6. 當Pixetto偵測到顏色時,我們還需要再一次確認是什麼顏色,以便控制LED發出對應的亮光。

點選左側程式列表中的「控制」,並於清單中拖拉出「如果…那麼…」這個程式。並放到「如果”識別到物體”那麼…」裡面。

7. 點選左側程式列表中的「視覺感測器」,並於清單中拖拉出「顏色偵測 偵測到<紅色>」這個程式,請將此程式放入剛才「如果…那麼…」的如果後方欄位中。

8. 當偵測到紅色時,我們控制RGB LED讓它亮紅色,點選左側程式列表中的「輸入/輸出」,並於清單中拖拉出「寫入數位管腳(2)狀態(高)」這個程式,請將此程式放入「如果”顏色偵測 偵測到<紅色>”那麼…」裡面。

請一次拖拉三個,並將腳位設定為「9」「10」「11」,這三個腳位分別控制RGB LED的「R」「G」「B」。因為要亮紅色,所以只有腳位「9」設定為狀態「高」,其餘為「低」

9. 因為偵測到的顏色不只一種,所以我們要擴充「如果…那麼…」這個程式,點選如下圖所示的「藍色齒輪」就會跑出擴充選單。將我們要擴充的項目「否則如果」從左側移到右側的程式下方,就能完成擴充。

10. 請依照上述步驟擴充額外4個「否則如果」,並於如果後方放入「顏色偵測 偵測到…」這個程式,並透過下拉式選單選取不同的顏色。

11. 同樣我們要依照偵測到的顏色來控制LED,依照對應的顏色設定RGB LED的「R」「G」「B」狀態。

12. 完成上述程式撰寫就完成囉。

六、上傳程式

1. 將USB線連接到Arduino UNO上。

2. 點開「選個硬件」並選取「Arduino UNO」

3. 點選「連接埠符號」選項會自動跳出電腦已連接的「COM」,您自己電腦中顯示的「COM」可能會與下圖不同。

4. 回到編輯器後,點選如下圖視窗中的「上傳程式碼」選項,即可運行上傳流程。

5. 上傳的過程當中會跳出「確認視窗」,請按下「OK」

6. 成功的話會出現「==上傳結束==」的訊息。有的話表示上傳成功,沒有的話可能要回到連接「COM」的步驟,查看是否沒有正確連接。

7. 拿一張色卡讓Pixetto偵測看看,如果有偵測到,RGB LED就會發亮呦。

七、範例程式連結

完整程式連結

八、結語

Pixetto除了顏色辨識外,還能夠實現物體、形狀、人臉及手寫辨識等功能。本篇只針對顏色偵測的部份做了衍伸應用,若想了解Pixetto更多的使用方式,可以參考官方的輔助教程,裡面從基本的教學到進階的應用,都有詳細的內容,有興趣的朋友可以參考看看。未來若有相關Pixetto的應用,再與大家分享,下篇文章見囉!