作者/圖片來源:CAVEDU 教育團隊
想要體驗AI互動裝置,但卻只有LinkIt 7697單晶片的模組時要如何實現呢? 本篇文章是透過電腦執行圖像辨識後,藉由USB線傳電腦指令給LinkIt7697來進行腳位控制。
材料表
- LinkIt 7697 相關套件 (購買連結) 購買請洽機器人王國商城喔~
- LinkIt 7697*1
- LinkIt 7697 NANO擴充板*1片
- 伺服機SG90*1個
- 三色LED燈*1個
- 母對母杜邦線*4條
- 要辨識的物品*3個
- 壓克力外殼 (有興趣者,歡迎來信洽詢)

電腦和LinkIt 7697接線圖
本篇文章分成五個部分,才可實現本專題:
- 在網站上Teachable Machine上收集資料、訓練及推論,推論後下載檔案至電腦。
- 在電腦控制端安裝人工智慧環境建置。
- 設計外殼來固定LinkIt 7697、伺服機SG90和三色LED。
- LinkIt 7697接上伺服機SG90和三色LED腳位,並貼上要辨識的物品標籤。
- 上傳LinkIt 7697受控端的Arduino程式,並執行電腦的圖像辨識程式。
第一步:在網站上Teachable Machine上收集資料、訓練及推論,推論後下載檔案至電腦。
先在電腦的C槽根目錄建立名為testAI的資料夾,爾後的程式都需下載到此資料夾中。

建立testAI的資料夾
本專題的要辨識的類別有四個,優酪乳(Yogurt)、品客(Pringles)、玩具(TOY)及一種反指標其他(Other),需將這四種類別分別上傳至Teachable Machine網站上做訓練,之後將模型檔及標籤檔下載電腦資料夾,而在Teachable Machine網站收集資料、訓練、即時推論及下載檔案相關教學可參考部落格教學文[1]。
收集圖片至Teachable Machine,如下圖所示:

優酪乳(Yogurt)

品客(Pringles)

玩具(TOY)

四個類別上傳至Teachable Machine網站

下載並解壓縮模型檔及標籤檔至電腦
當然讀者也可以找三種不同特徵的物品來做訓練。
第二步:在電腦控制端安裝人工智慧環境建置(若已安裝則可以跳過)。
此步驟非常重要,因為圖像辨識的程式是在電腦端執行邊緣運算的,需在電腦端安裝Anaconda 軟體及執行AI程式的相關套件,有關電腦的環境建置安裝步驟請參考此部落格[2]。
第三步:設計外殼來固定LinkIt 7697、伺服機SG90和三色LED。
本專案之外殼是利用3mm的白色透明壓克力板雷射切割出來的,想要雷切檔可以來信到機器人王國商城[3]。 若不想做雷切檔外殼,亦可以找紙盒裁切,將LinkIt 7697、伺服機SG90和三色LED固定住,如下圖所示。

第一代紙盒版LinkIt 7697分類器
第四步:LinkIt 7697接上伺服機SG90和三色LED腳位,並貼上要辨識的物品標籤。
- 將伺服機SG90和三色LED接上LinkIt 7697擴充板上
接下來是設計LinkIt 7697的I/O控制,請將伺服機SG90和三色LED接到LinkIt 7697 NANO擴充板的腳位上,如下圖所示。

擴充板接上伺服機SG90和三色LED
- 設定伺服機SG90的角度,和貼上類別標籤
本專題將四個類別對應不同角度,利用標籤紙貼在外殼上,已本專題為例,如下圖/表所示

伺服機角度設計圖
- 標籤的順序及角度是可以改變的
第五步:上傳LinkIt 7697受控端的Arduino程式,並執行電腦的圖像辨識程式。
- 首先要下載電腦執行圖形辨識的Python檔案及Arduino程式,到testAI資料夾
下載檔案的網址見[4],並解壓縮AI_7697資料夾 *注意:解壓縮時請注意,AI_7697資料夾只需包一層就好

下載檔案之路徑圖
- 確定LinkIt 7697的序列埠USB號碼
將LinkIt 7697 USB插入電腦後,開啟裝置管理員連接埠的COM和LPT看號碼

查看COM號碼
本專案的序列埠號碼為COM3,之後燒錄Arduino程式及執行圖像辨識程式會用到。
- 上傳Arduino程式,開啟SERVO_LED_SERIAL.ino 程式並燒錄到LinkIt 7697

燒錄程式至LinkIt 7697
- 執行電腦的圖像辨識程式
- 需開啟Anaconda Prompt(testAI) 視窗

開啟Anaconda Prompt(testAI) 視窗
- 輸入 cd \testAI\AI_7697

輸入移動資料夾指令
- 輸入python TM2_UART_tflite.py –model model.tflite –labels labels.txt –com3

輸入執行圖像辨識程式指令
- 成功開出攝影機的畫面

成功開出攝影機辨識畫面
- 成功執行畫面
同時伺服機SG90會轉動,三色LED燈號會亮起,即專案成功執行。 [補充]如何換類別後也可以達到一樣的效果,和程式說明。
- 改寫Python類別程式
請開啟TM2_UART_tflite.py和labels.txt對照

TM2_UART_tflite.py和labels.txt對照圖
若讀者換了別的物品辨識的話,下載下來的labels.txt也會不同,在下段的TM2_UART_tflite.py程式中,的第1行、第5行、第9行、第13行需改成和labels.txt的相同名稱Python程式片段說明:
延伸閱讀
[1] 在Teachable Machine網站收集資料、訓練、即時推論及下載檔案至電腦步驟:https://blog.cavedu.com/2020/11/26/google-teachable-machine-raspberry-pi-4/
[2]在電腦中安裝人工智慧環境建置:https://blog.cavedu.com/2018/09/28/general_env_setup_anaconda_tensorflow_keras_opencv/
[3]機器人王國信箱:service@robotkingdom.com.tw
[4]下載本專題程式連結:https://pse.is/38mrnh
- 【CAVEDU講堂】NVIDIA Jetson AI Lab 大解密!範例與系統需求介紹 - 2024/10/08
- 【CAVEDU講堂】Google DeepMind使用大語言模型LLM提示詞來產生你的機器人操作程式碼 - 2024/07/30
- 【CAVEDU講堂】《Arduino首次接觸就上手》新手村教學:LED燈閃爍 - 2024/04/18
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!