Skip to content

ling-stu/CCar_v1.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CCar

本教材說明如何使用 ESP32 主控板與 ESP32-CAM 組成可遙控的全向移動影像小車,並建構wifi環境,提供網頁控制及影像監看。

目錄

  • 專案結構
  • 硬體需求與接線重點
  • 網路架構
  • 功能區塊與常見問題
  • 環境安裝與程式上傳
  • 操作步驟
  • 常見問題快速排查

專案結構

esp32/           # 主控板:控制車體與 Web 控制頁
  esp32.ino
  omni.cpp
  omni.h
  web.h
esp32cam/        # 影像模組:提供 MJPEG 串流
  esp32cam.ino

alt text

硬體需求與接線重點

  • ESP32 開發板(主控)
  • ESP32‑CAM(AI‑Thinker 類型)
  • 三顆Omni輪馬達 + L298N驅動板
  • 伺服機(鏡頭左右旋轉)

接線提醒:

  • 伺服機:PWM 腳位為 GPIO26
  • 馬達方向:若方向相反,請交換 IN1/IN2的腳位定義 或 在程式中調整正負號

網路架構

  • 主控 ESP32:啟動 AP,IP 固定 192.168.4.1
  • ESP32‑CAM:連上 AP,IP 固定 192.168.4.20
  • Web 控制頁:手機/電腦連 AP 後,瀏覽 http://192.168.4.1/
  • 影像串流:控制頁內使用 http://192.168.4.20/stream(僅有影像畫面)

功能區塊與常見問題

esp32/esp32.ino

  • Wi‑Fi AP:建立熱點供手機連線
    • 搜不到 SSID → 確認是否上電、AP 是否已啟動
  • WebServer/WS:提供控制頁與即時控制
    • 按鈕無反應 → 檢查 WebSocket 連線與埠號 81
  • Omni3 全向輪控制:接收指令轉成三輪 PWM
    • 輪子旋轉方向錯 → 交換 IN1/IN2
    • 前進方向錯誤 → 交換輪子
  • 伺服鏡頭:按鍵控制鏡頭左/右旋
    • 伺服不動 → 檢查 5V 供電與 PWM 腳位是否鬆脫

esp32/omni.hesp32/omni.cpp

  • 逆運動學:將 Vx/Vy/W 轉成各輪速度
  • PWM 輸出:輸出方向與速度

esp32/web.h

  • 控制頁 HTML/JS:按鍵控制與影像顯示
    • 問題:影像黑屏 → 確認相機 IP
    • 問題:按鍵無反應 → 確認 WebSocket 連線

esp32cam/esp32cam.ino

  • 相機初始化:設定解析度與品質
    • 問題:初始化失敗 → 檢查相機是否損壞或斷線或是供電異常
  • MJPEG 串流:提供 /stream
    • 問題:卡頓 → 降低解析度或提高 jpeg_quality

環境安裝與程式上傳

==環境架設高度依賴網路環境,可視情況於課堂前先行下載與安裝。==

步驟 1|下載並安裝 Arduino IDE

  1. 前往官網:https://www.arduino.cc/en/software
  2. 下載 Arduino IDE 2.x(Windows / macOS / Linux 均有)
  3. 依安裝精靈完成安裝並開啟 IDE

步驟 2|安裝 ESP32 開發板核心

  1. 開啟 Arduino IDE → 上方選單 File(檔案)→ Preferences(偏好設定)

  2. 在「Additional boards manager URLs」欄位貼入:

    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    
  3. 點選 OK

  4. 上方選單 Tools(工具)→ Board(開發板)→ Boards Manager(開發板管理員)

  5. 搜尋 esp32,找到 esp32 by Espressif Systems → 點 Install(約需數分鐘)


步驟 3|安裝必要函式庫

開啟 Tools → Manage Libraries(函式庫管理員),逐一搜尋並安裝:

搜尋關鍵字 選擇套件
WebSockets WebSockets by Markus Sattler
ESP32Servo ESP32Servo by Kevin Harrington

WiFi.hWebServer.h 已包含在 ESP32 核心內,不需另外安裝。


步驟 4|上傳 esp32.ino(主控板)

  1. 用 USB 線將 ESP32 開發板 接上電腦

  2. Arduino IDE 上方選單 Tools → Board → 選擇 ESP32 Dev Module

  3. Tools → Port → 選擇對應的 COM 埠(若不確定可插拔 USB 比對)

  4. 開啟 esp32/esp32.ino

  5. 點選上方 →(Upload) 按鈕,等待「Done uploading」訊息

  6. 開啟 Tools → Serial Monitor(序列埠監控),鮑率設 115200,確認出現:

    AP activate!  IP = 192.168.4.1
    

步驟 5|上傳 esp32cam.ino(影像模組)

  1. 先插上擴展版,再用 USB 線將 ESP32 CAM開發板 接上電腦

  2. Arduino IDE Tools → Board → 選擇 AI Thinker ESP32-CAM

  3. Tools → Port → 選對應 COM 埠

  4. 開啟 esp32cam/esp32cam.ino

  5. 點選 Upload,等待完成

  6. Serial Monitor 確認出現:

    IP = 192.168.4.20
    

常見問題

  • 不確定 COM 埠:使用裝置管理員查看,將裝置重新插拔確認

操作步驟

  1. 以 Arduino IDE 上傳 esp32/esp32.ino 到主控板
  2. 以 Arduino IDE 上傳 esp32cam/esp32cam.ino 到 ESP32‑CAM
  3. 放入電池 ==(請務必確定電池方向是否正確)==
  4. 手機連線到 Wi‑Fi SSID(預設 CAR_1,密碼 12345678)可將不同車輛命名為 CAR_2CAR_3
  5. 開啟瀏覽器輸入 http://192.168.4.1/
  6. 勾選「啟動串流」即可看到影像
  7. 使用按鍵控制車體與鏡頭

常見問題快速排查

  • 無法連上 AP:確認主控板已上電、密碼至少 8 碼
  • 影像不顯示:確認 ESP32‑CAM 連線成功且 IP 為 192.168.4.20
  • 控制無反應:確認 WebSocket 連線成功(瀏覽器 console 有 WS connected)
  • 車輪方向相反:交換 IN1/IN2 腳位定義或調整程式正負號

About

A remote cam car with three omni wheel is controled by one esp32 amd esp32 cam.build soft AP to provide control environment.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors