Raspberry Pi 5 結合 HuskyLens 實作指南:,由零砌出智能視覺機械車

如果你有玩過 Raspberry Pi 砌機械車,應該經歷過一段痛苦嘅日子:想部車識得認人或者避開障礙物,就要裝 OpenCV,搞一大輪環境設定,然後部 Pi 因為頂唔順個模型運算,熱到可以煎蛋,FPS(幀率)仲要低到阿媽都唔認得。

去到 Raspberry Pi 5 年代,雖然效能大幅提升,但如果你想將運算資源留返畀更複雜嘅應用(例如行 Local LLM 搞語音互動),將視覺辨識「外判」出去絕對係最聰明嘅做法。

今次我哋就實戰示範,點樣將 Raspberry Pi 5 結合 DFRobot HuskyLens 2,跳過繁複嘅 Model Training,直接砌部即插即用嘅智能視覺機械車。

點解係 HuskyLens 而唔係 Pi Camera Module 3?

好多新手一嚟就買原廠 Pi Camera,畫質係好靚,但你要自己寫 Code 處理圖像辨識。HuskyLens 最大嘅賣點係佢內置咗 K210 AI 晶片,本身已經 Train 好咗人臉辨識、物件追蹤、顏色識別等模型。

簡單講:Pi Camera 畀你嘅係一張相,而 HuskyLens 畀你嘅係一串已經處理好嘅 Data(例如目標嘅 X/Y 座標)。呢個差別,令你寫 Python Code 嘅難度直線下降 80%。

🛠️ 核心硬件清單 (Hardware List)

要跟住呢個 Tutorial 做,你需要準備以下組件(按入連結可以直接睇 spec 同入手):

  • 主控板: Raspberry Pi 5 (4GB / 8GB)
  • AI 視覺模組: DFRobot HuskyLens 2
  • 底盤與摩打: 任何支援 PWM 控制嘅 2WD/4WD 機械車底盤(例如 Yahboom DOGZILLA 呢類現成套件就最穩陣)
  • 摩打驅動板: L298N 或 PCA9685(用嚟控制摩打轉速同方向)
  • 供電: 獨立 18650 電池組(強烈建議 Pi 5 同摩打分開供電,免得扯電搞到 Pi 5 重啟)

🔌 實戰 Step 1:I2C 接線與通訊設定

Pi 5 同 HuskyLens 最穩定嘅通訊方式係行 I2C。HuskyLens 背後有 4 條線:

  • 紅線 (VCC): 接 Pi 5 嘅 5V
  • 黑線 (GND): 接 Pi 5 嘅 GND
  • 綠線 (SDA): 接 Pi 5 嘅 GPIO 2 (SDA)
  • 藍線 (SCL): 接 Pi 5 嘅 GPIO 3 (SCL)

接好線之後,着機。打開 Pi 5 嘅 Terminal,確保 I2C 已經開啟:

sudo raspi-config
# 選擇 Interface Options -> I2C -> Enable

然後用 i2cdetect check 吓見唔見到 HuskyLens 個地址(通常係 0x32):

i2cdetect -y 1

💻 實戰 Step 2:Python 讀取 HuskyLens 座標

HuskyLens 個芒仔上面有個十字掣,㩒幾下轉去「Object Tracking (物件追蹤)」模式,對住個波或者紅色水樽㩒學習。

搞掂之後,我哋要寫段 Python Code 攞 HuskyLens 認到嘅物件座標 (X, Y)。為咗方便,我哋可以用 HuskyLens 官方或者社群寫落嘅 Python Library。

(技術拆解:當 HuskyLens 見到目標,佢會 return 目標喺畫面中心點嘅 X, Y 座標,畫面通常係 320x240,即係中心點大約係 X=160。)

以下係讀取數據嘅核心邏輯片段:

import time
from huskylensPythonLibrary import HuskyLensLibrary # 需先安裝對應 Library

hl = HuskyLensLibrary("I2C", "", address=0x32)

while True:
    blocks = hl.command_request_blocks()
    if blocks:
        for block in blocks:
            print(f"見到目標啦!中心點 X: {block.x}, Y: {block.y}")
            # 下一步,我哋會將呢個 X 座標交畀摩打驅動
    else:
        print("搵唔到目標...")
        
    time.sleep(0.1)

🏎️ 實戰 Step 3:將視覺數據轉化為轉向邏輯

攞到 X 座標有咩用?呢個就係架車識唔識「跟住個人走」嘅關鍵。

邏輯好簡單:

  1. 如果 X 座標細過 140 (目標偏左) -> 左邊摩打減速,右邊摩打加速 -> 車身向左轉
  2. 如果 X 座標大過 180 (目標偏右) -> 左邊摩打加速,右邊摩打減速 -> 車身向右轉
  3. 如果 X 座標喺 140-180 之間 (目標置中) -> 兩邊摩打均速 -> 向前直行

結合 L298N 摩打驅動嘅 PWM 控制,你就可以寫出一個 PID 追蹤算法。因為運算全部喺 HuskyLens 入面做晒,Pi 5 嘅 CPU 使用率極低,你可以順便喺背景行多個 Web Server 嚟做遙距監控。

總結與進階玩法:邊度可以再玩大啲?

用 Raspberry Pi 5 配 HuskyLens 做視覺車,其實只係入門。既然 Pi 5 仲有大把效能,你可以嘗試將佢升級:

  • 接入大語言模型 (LLM): 配合 QuantumCat AI 嘅 API 分發服務,當 HuskyLens 認到某個人樣,Pi 5 可以 call API 生成一段專屬嘅打招呼語音,變成一部真正嘅 AI 迎賓車。
  • 加入環境感測: 串接 ESP32-WROOM-32E 做傳感器網絡,將現場溫濕度連同車頭視覺畫面一齊掟上 Server。

如果你正準備開始你嘅 Maker Project,或者為學校 STEM 課程採購硬件,歡迎去我哋 QuantumCat AI 網店 睇睇最新嘅 Raspberry Pi 配件同開發板。有遇到 API 串接問題,亦隨時可以搵我哋交流!

Share your love

Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *