紅是紅、藍是藍!超好玩的「Scratch顏色分類機」

在這次的教程中,我們會教你如何運用威盛 Pixetto 製作「顏色分類機」。透過人工智慧與威盛 Pixetto 顏色偵測的功能,在偵測到不同顏色時啟動伺服馬達,進行分類。

步驟:

  • 步驟 1:連結威盛 Pixetto 至電腦
  • 步驟 2:組裝各零件組
  • 步驟 3:使用 Scratch 進行程式設計
  • 步驟 4:上傳程式碼至 Arduino 開發板

步驟 1

首先, 使用Micro USB 2.0傳輸線將威盛Pixetto連至個人電腦。
當看到綠色、藍色、紅色LED燈點亮時,代表威盛Pixetto已成功連結。

開Pixetto Utility應用程式,將「功能」設定為「顏色偵測」,顏色選擇紅色、黃色、綠色、藍色,並按下套用。

當設置完成後,可以將鏡頭對準色塊進行測試,確定是否能成功辨識顏色。
試用完即可將Pixetto Utility應用程式關閉,拔除連結威盛Pixetto上的Micro USB 2.0傳輸線。

步驟 2

首先,將 Arduino 開發板與擴充板結合。將威盛 Pixetto 與 Arduino 擴充板的“UART 插槽連結。

在預先做好的分類機外殼上,安裝兩個伺服馬達和威盛 Pixetto 。

接下來將兩個伺服馬達分別裝在 Arduino 擴充板D7和D8插槽。

face-detection-alarm-image-7

將威盛 Pixetto 與 Arduino 擴充板的“UART 插槽連結。

步驟 3

開啟威盛Pixetto Junior進行Scratch程式設計,下列步驟將教你如何手把手建構「顏色分類機」。

A. 初始設定

分別拖移出在程式欄位下「控制」項目中的「初始化」積木和「視覺感測器」項目中的「初始化視覺感測器」積木。

調整「初始化視覺感測器」積木參數:「RX#」(輸入)為0、「TX#」(輸出)為1。這個步驟是為了確保開發板與威盛Pixetto能正確連結。

將「初始化視覺感測器」積木放入「初始化」積木。

拉出「輸出單元」項目中的兩個「轉動舵機管腳( )角度( 0~180⁰)()」,分別將管腳設為7、8,角度設為56⁰、1 80⁰。這會預設第一個伺服馬達的位置在56⁰,第二個伺服馬達的位置在180⁰。

B.設定第一個伺服馬達

在這個流程中,我們要設計使伺服馬達分辨顏色並分類的迴圈。
首先,拉出「控制」項目中的「延時()(秒)」,設定秒數為1秒。
接下來,拉出「控制」項目中的「循環計數( )從( )到( )間隔數( )那麼( )」積木,設置參數為1 80⁰、56⁰和1 ⁰。
最後,將兩塊積木結合。

再拉出「輸出單元」項目中的一個「轉動舵機管腳()角度(0~180⁰ ) ()」,將管腳設置為7,拉出「變數」項目中「(i)」並放入「轉動舵機管腳()角度(0~180⁰ )()」的角
度當中。將完成的積木放入「循環計數()從()到()間隔數()那麼()」的「那麼」欄位中。

拉出「控制」項目中的「延時()(秒)」,設定為2毫秒,放置在「轉動舵機管腳()角度(0~180⁰)()」積木底部。

C.設定第二個伺服馬達

再拉出「控制」項目中的「延時()(秒)」,設定為1秒,並將其放置在「循環計數()從()到()間隔數()那麼()」上方。將「循環計數()從()到()間隔數()那麼()」參數設置為56⁰、7⁰和1⁰。

接下來,再拉出一個「如果()那麼()」積木放入「循環計數()從()到()間隔數()那麼()」的「那麼」欄位中。

拉出「視覺感測器」項目中的「物體類別」放入「如果」積木中。並再拉出一組「如果()那麼()」積木放入「那麼」積木中。

拉出「邏輯」項目中的「() = ()」積木,並將「視覺感測器」項目中的「物體類別」和「紅色」分別放入「() = ()」積木中。

將調整好的「() = ()」積木放入第二層「如果()那麼()」積木當中。

接下來,拉出一個「轉動舵機管腳()角度(0~180⁰)()」將參數設置8、180⁰放入第二層「如果()那麼()」積木的「那麼」欄位中。

按下第二層「如果()那麼()」積木「如果」旁邊的輪軸,選擇「否則如果」將其放置在「如果」 下方。

重複執行剛剛的動作,再將兩個「否則如果」拉至「如果」 下方。

選擇三個「() = ()」積木,分別放入「視覺感測器」項目中的「物體類別」和「藍色」、「黃色」、「綠色」。

選擇三個「轉動舵機管腳()角度(0~180⁰)()」積木,分別調整管腳為8,角度為
150⁰、120⁰、90⁰。

最後分別將這三個調整好的「轉動舵機管腳()角度(0~180⁰)()」積木依序放入每個「否則如果」積木的「那麼」當中。

再次拉出一個「轉動舵機管腳()角度(0~180⁰)()」、「(i)」和「延時()(秒)」積木。將「(i)」放入「轉動舵機管腳()角度(0~180⁰)()」中並將「延時()(秒)」設定秒數為5毫秒,並放置在「轉動舵機管腳()角度(0~180⁰)()」下方。

將兩塊積木放入第一層「如果()那麼()」下方。

接下來複製一組B.設定第一個伺服馬達的積木,將參數改為7⁰, 180⁰ 和1⁰,整個Scratch 程式設計就完成囉!

下列是整個「顏色分類機」Scratch程式積木組,在上傳至Arduino開發板前,請留意是否結構正確無誤。

步驟 4

當完成Scratch程式碼撰寫後,上傳程式碼至Arduino開發板。

A. 上傳程式碼

  1. 使用Micro USB 2.0傳輸線將Arduino開發板連至個人電腦。
  2. 於威盛Pixetto Junior右上方「選個硬件」下拉選單,點選「Arduino UNO」,進行連接。
  3. 點選「串口列表」下拉選單中適當的序列埠(COM port),進行「連接」。如果當前沒有連接,「串口列表」會顯示「沒有連接」。
  4. 當看到「已連接」時,點選「回到編輯器」返回威盛Pixetto Junior。
  5. 點選「上傳」按鈕,上傳程式碼至Arduino開發板。

B. 儲存專案

  1. 點選右上角「項目」下拉選單中的「另存為 -Ctrl+Shift+S」。當然也可以使用快捷鍵Ctrl+Shift+S進行操作。
  2. 點選完會立刻出現儲存視窗,選擇儲存位置,打上專案名稱,按下儲存鍵。儲存完畢後,可以去該儲存位置檢查檔案類別是否為Scratch 3 Project (.sb3)。

實際操作:
當完成以上步驟,就是開始玩「顏色分類機」的時候!將顏色積木一個一個放入,讓威盛 Pixetto 進行分類吧!
恭喜你完成了!
祝你玩得愉快,別忘了分享自己的創作至社群上並標註 #VIAPixetto!

你也可以關注威盛 Pixetto 粉絲專頁獲得更多第一手資訊!

分享貼文!

Share on linkedin
Share on twitter
Share on facebook

This Post Has One Comment

  1. Billy

    哈喽 我参照教程中的【程序】编写后,未能达到预期演示效果。。

    能否将教程中的案例,录制演示视频以便参考。。谢谢!

Leave a Reply