一、介紹
威盛-Pixetto為一款高畫質視覺感測器,能夠實現物體、形狀、顏色、人臉及手寫辨識等功能,它具有完整的機器學習平台,不但有適合學生的Scratch程式編輯環境,更可讓使用者自由調整並訓練自己的AI模型。不論您是初學者或進階創作者,都能方便的使用AI解決方案。
本篇教學將帶大家使用Pixetto 進行顏色檢測,透過辨識到的顏色,轉而控制RGB LED來改變裝飾燈的顏色。
二、組裝教學
1. 材料零件清單
組裝過程中需要的零件、模組與連接線如下表所示:
名稱 | 數量 | 名稱 | 數量 |
Arduino UNO | 1個 | 威盛Pixetto | 1個 |
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個。
2-2. 將Arduino UNO對齊下圖所示的孔洞。
2-3. 使用螺絲與螺帽將Arduino UNO 固定在木板上。下圖紅圈的位子空間較小,若是塞不下螺帽可放棄,由其餘三孔固定已足夠。
3. 安裝RGB LED模組
3-1. 準備如下圖所示之木板、RGB LED模組、4P杜邦線(公 – 母)、M3x5mm銅柱2個、M3x6mm螺絲2個與M3螺帽2個。
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個。
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 UNO | RGB LED模組 |
D9 | R |
D10 | G |
D11 | B |
GND | GND |
5-3. 如下圖表所示連接Pixetto。
Arduino UNO | Pixetto |
D7 | R(黃色) |
D8 | T(白色) |
5V | V(紅色) |
GND | G(黑色) |
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文件&軟體下載頁面。
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的應用,再與大家分享,下篇文章見囉!