作者/圖片:Ted Lee
俗話說,上天有「天眼」可以看盡人間禍福,8787 也有「長眼」能辦識各種顏色。今天要來透過 8787 內建的 AI 影像處理(image processing)功能應用實作,看看如何利用 8787 積木式開發工具 Pixetto Junior,以非接觸辨色的方式自動開燈。
材料準備
註:
- 另需準備測試用紅色外殼原子筆(或其他便於顏色識別物件)一支
- 如果讀者想將開發板換成 Uno 或其他 Arduino 版本,請務必將傳輸線做調當的調整(技術諮詢→Line:https://reurl.cc/Vadax6)
硬體連接
可以將 8787 視為一塊 Arduino 擴充板(extension board),以四線 2.0 mm 的 JST(Japan Solderless Terminal)PH 系列接頭和 Nano 連接,使用 UART(Universal Synchronous Asynchronous Receiver Transmitter)做為序列(serial)傳輸協定(protocol)。
將 Nano 插在麵包板上固定,以下列方式連接 Nano 和 8787:

Arduino Nano 和 8787 的連接方式
功能設計
這邊將介紹如何以 Pixetto 提供的 Junior 積木式開發工具啟動 8787 內建的顏色偵測功能作為電燈(以 Nano D13 腳板載的 SMD LED 示意)感應裝置。
1. 在 Function 區選用 Color Detection 並勾選 Colors 為 Red 後按下 Apply
2. 初始化(initialize)8787
3. 當 8787 偵測到物件時並判斷它為紅色時,則點亮(給高電位)D13 的板載 LED 0.5 秒,然後關閉(給高電位)
4. 燒錄程式(目前 Pixetto Junior 正在改版加入 Nano 的支援,我是以 Arduino IDE 燒錄程式碼,若讀者是以 Arduino Uno 串接 8787,則可在 Pixetto Junior 上直接上傳)

完整的程式碼
積木所對應的 Arduino 程式碼如下,其中 8787 的函式庫(libraries)可由此壓縮檔匯入(import):
#include <Arduino.h> #include <SmartSensor.h> SmartSensor ss(0,1); void setup() { ss.begin(); // D4: yellow (Tx) // D5: white (Rx) // // D0 (Rx): yellow (Tx) // D1 (Tx): white (Rx) pinMode(13, OUTPUT); } void loop() { if (ss.isDetected()) { if (ss.getTypeID() == ss.COLOR_RED) { digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); } } }
成果展示
讀者可以參考VIA Pixetto 視覺感測器大開箱(unboxing):AI 開發工具(Development Kits)篇,使用 Pixetto Utility 工具先測試 8787 的辨色功能是否正常。
教學活動設計
- 以 Nano 串接可程式化的 WS2812B 燈條。準備紅、綠、藍三張色卡,當 8787「看到」什麼顏色,就讓燈條以此色點亮之
- 在 Nano 上加一繼電器(relay),使 8787 能用紅球與黑球來控制 110 V 小檯燈的開關
(本文經作者同意轉載自泰布布部落格、原文連結;責任編輯:賴佩萱)
- 用GenAI生成連連看樣板 - 2025/05/15
- 細談「春仔產生器」的專案拆解 - 2025/04/17
- 用生成式AI打造「春仔」產生器 - 2025/03/12
訂閱MakerPRO知識充電報
與40000位開發者一同掌握科技創新的技術資訊!