PHASE 2 · TRAFFIC LIGHT CONTROL

AI Car 紅綠燈辨識控制 實作報告

第二階段:以 YOLOv8 實現紅綠燈即時辨識,整合多執行緒 PID 循線與自動停車控制

PiCamera2 YOLOv8 時序平滑 PID Controller Flask WebUI Multithreading
👤 1121410902 邱冠傑
👤 1121410901 顏立婷
👤 1121410018 施幼思
👤 1121410020 沙依達
Foto 1 Foto 2
🎬 YOUTUBE SHORTS
🎬 PROCES
📁 專案結構
Pi Robot Project Structure

Step 15 - Robot Motor Control Configuration

1. Module Overview:

  • LOBOROBOT2.py: The main hardware controller that manages basic robot movements (forward, backward, stop) by communicating with the PCA9685 PWM driver via the I2C protocol.

2. Setup & Execution Steps:

  • Update your system and install the required Python 3 SMBus dependency for I2C communication.
  • Open the Raspberry Pi configuration menu (raspi-config) to enable the I2C interface.
  • Create your project folder, transfer the LOBOROBOT2.py script into it using WinSCP, and run the file to test the wheels.
💻 程式邏輯說明
網頁控制自走車系統架構
使用者開啟網頁
Flask Web Server
Video Stream
───
Control Button
★ LOBOROBOT Control
⚙️ Motor Control
📺 Live Video Feed

系統使用 Flask 建立網頁控制介面,使用者可以透過瀏覽器觀看 Raspberry Pi 攝影機的即時畫面。 VideoCamera 負責擷取影像並透過 video_feed 以 MJPEG 串流至網頁。 當使用者按下前進、後退、左轉、右轉或停止按鈕時, Flask 會將指令傳送至後端, 再由 LOBOROBOT 控制四輪馬達完成移動。 本系統主要實現即時影像監控與遠端網頁控制功能。

💡 學習心得
專案實作心得與學習收穫
前期設定 — Raspberry Pi 環境建立
學習內容
安裝 Raspberry Pi Imager、燒錄 Raspberry Pi OS、設定 Wi-Fi 與 SSH。
連線方式
透過 CMD 查詢 IP,並使用 SSH 與 WinSCP 連線 Raspberry Pi。
主要挑戰
需要確認電腦與 Raspberry Pi 在同一個網路,才能順利遠端連線。
收穫
學會不用 HDMI,也能透過網路遠端操作 Raspberry Pi。
後期整合 — 網頁控制自走車
學習內容
使用 Flask 建立 WebUI,結合 camera.py 與 LOBOROBOT2.py。
控制方式
在網頁按下前進、後退、左轉、右轉與停止按鈕,控制自走車移動。
主要挑戰
需要同時處理影像串流與馬達控制,並確認程式檔案放在正確資料夾。
收穫
理解 Flask 前後端互動,以及如何把硬體控制整合到網頁介面中。
這次專案讓我們從 Raspberry Pi 的基礎設定開始,逐步完成作業系統燒錄、Wi-Fi 與 SSH 設定、遠端連線、檔案傳輸、攝影機測試,以及 Flask 網頁控制介面的建立。

實作過程中最重要的收穫是了解「軟體」與「硬體」如何互相配合。網頁上的按鈕看起來只是簡單的操作,但背後其實需要 Flask 接收指令,再呼叫 LOBOROBOT2.py 控制馬達,才能讓自走車完成前進、後退、左轉、右轉與停止。

透過這次實作,我們學會了 Raspberry Pi 的遠端操作、Python 程式控制硬體、OpenCV 影像處理,以及 Flask 網頁串流的基本概念。雖然目前主要完成的是網頁控制與即時影像監控,但這也為之後加入 AI 辨識、循線或紅綠燈控制打下基礎。
📄 AI 工具記錄