Arduino 專題教學-運用 Pixetto 視覺感測器製作人臉辨識門鎖

五、撰寫Scratch程式

1. 打開軟體Pixetto Studio,並點選「Pixetto Junior」選項。

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

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

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

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

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

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

4. 從右側程式積木列表中點選「輸出單元」,並拖拉出「轉動舵機…」的程式,將它放在剛才的「初始化」中,並將管腳設定為「6」,角度設為「70」。這一行程式是為了設定門的初始狀態為關閉。

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

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

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

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

我們將透過「識別到物體」這個程式,來確認Pixetto有沒有偵測到我們儲存的模板。

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

7. 若有偵測到模板,我們就能進一步判斷是模板1還是模板2,所以同樣拖拉出一個「如果…那麼…」放入「識別到物體」「如果…那麼…」內,並放入「模板匹配偵測到1」來判斷是否偵測到模板1

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

8. 因為小編一開始紀錄的模板有兩個,所以當偵測到模板時,肯定不是模板1就是模板2,所以在這邊我們稍稍擴充一下「如果…那麼…」這個程式。

點選如下圖所示的「藍色齒輪」就會跑出擴充選單。將我們要擴充的項目「否則」從左側移到右側的程式下方,就能完成擴充。

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

9. 接下來新增伺服馬達的程式,當偵測到模板1就將門打開,若是模板2就將門關閉。打開門的角度設定為「170」。

10. 最後為了避免誤判導致開關太頻繁,於每次伺服馬達動作完畢後加上「延時1秒」的程式。

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

到此程式就撰寫完畢囉!

六、上傳程式

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

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

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

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

3. 點選「沒有連接」選項會跳出串口連接視窗,可在視窗中查看電腦已連接的「COM」,請針對自己電腦中顯示的「COM」後方按下「連接」

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

4. 看到視窗跳出「已連接」選項,即可點選「回到編輯器」離開視窗。

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

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

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

6. 上傳的過程當中會跳出「編譯上傳視窗」。

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

7. 待視窗消失後檢查如下圖所示的視窗,有無出現「Upload Finished!」文字訊息。有的話表示上傳成功,沒有的話可能要回到連接「COM」的步驟,查看是否沒有正確連接。

運用 Pixetto 視覺感測器製作人臉辨識門鎖(Arduino UNO)

8. 完成後讓Pixetto偵測看看儲存在模板的人臉,如果有偵測到模板1,門應該就會打開呦。

七、範例程式連結

完整程式連結

八、結語

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