2022年3月16日 星期三

{00}兩輪智能小車-V1.0 DIY 套件 Arduino UNO / ESP32 BLE 遙控車、PID 循跡車展示影片

網頁最後修改時間:2022/03/16


本篇內容,展示兩輪小車 V1.0 DIY 套件不同分類之間實際操作的影片,內容有:

  • Arduino UNO BLE PID 循跡車(Android)
  • Arduino UNO BLE 遙控車(Android)
  • ESP32 UNO BLE 遙控車(Android)


*********************************************************************************

更多機器人(多足、智能小車)相關商品,請至分類賣場。

*********************************************************************************


【操作介面軟體】

兩輪小車 V1.0 DIY 套件的操作介面軟體,支援 Windows 和 Android 作業系統,不同的分類需要搭配不同的操作介面軟體,如下表所示。

以選擇 Android 作業系統為例,不管主控板是 Arduino UNO 或是 ESP32,BLE 遙控車的操作介面 APP 就是 BLEJoystick,畫面擷取如下所示:

BLE PID 循跡車的操作介面 APP 就是 PCTCGUI,畫面擷取如下所示:

.

下面就來看看各分類套件的測試展示影片。


【Arduino UNO BLE PID 循跡車(Android)】

Arduino UNO BLE PID 循跡車以 Arduino 開發板作為主控板,以 I2C 通訊操作 4 x 直流/2 x 步進/伺服馬達驅動擴充板控制兩顆直流馬達的轉速和轉向,並直接 I/O 讀取紅外線避障、碰撞、五通道循跡模組狀態,最後輔以 PID 控制小車循線行進的速度和方向。


/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
* 學習目標:

  • 學習並完成兩輪小車套件的機械和電子模組的組裝;
  • 學習並完成 BLE(Bluetooth LE,低功耗藍牙)模組的設定;
  • 學習並完成機械、電子和軟體之間的搭配組合;
    • 循跡模組的 GPIO 設定與直接存取;
    • 直流馬達的 PWM 轉速、轉向控制;
    • UART 轉 BLE 與手機的通訊;
    • 解析 UART 通訊數據;
  • 學習 PID 的觀念與實際數值調整之後的變化和意義;
  • 完成 PID 程式的編寫並加入循跡的功能;

此套件主要的學習重點與目標:怎麼取得循線誤差值並應用到 PID 公式中以控制兩個輪子的轉向和轉速,藉以達到控制循跡車的行進方向和速度。


/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
* 硬體:

  •  Arduino UNO;
  • I2C 通訊馬達驅動板;
  • 紅外線避障、碰撞、五通道循線模組;
  • 模組轉接擴充板;
  • BLE(低功耗藍牙)模組;
  • 降壓模組;
  • 18650(7.4V)鋰電池盒;
  • 兩輪小車底盤套件


/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
* 影片說明:

影片一開始,示範怎麼正確的插入降壓模組與 BLE 模組。接著手機尋找循跡車上的 BLE 模組,選擇與其連線後會進入到"小車狀態"的頁面。"小車狀態"頁面可用來觀看循跡車回傳的訊息以及循跡模組的感測器狀態,利用這個功能來確認訊號的正確性。

影片會依序地去設定每一個頁面需要的參數,然後開始展示 PID 循跡。藉由設定不同的速度和 PID 參數值,觀察循跡車的行進動作做往復式參數調整,直到符合要求。

手機 APP 關於參數儲存的部分沒有在影片中作展示,這一部分會在部落格網頁做詳細的說明,這裡簡單說明一下:參數可以直接在手機 APP 上做調整,調整後的值可以先傳送到循跡車做測試,一但測試結果滿意的話,可以將其儲存到 EEPROM(Arduino UNO)(或 Flash(ESP32))和手機本身,有多種參數處理的方式,方便調整和測試。


【Arduino UNO BLE 遙控車(Android)】

Arduino UNO BLE PID 遙控車以 Arduino 開發板作為主控板,以 I2C 通訊操作 4 x 直流/2 x 步進/伺服馬達驅動擴充板控制兩顆直流馬達的轉速和轉向。

遙控車接收到手機 APP 發送給(UART 轉)BLE 模組的數據解析之後,轉換成兩個輪子的轉向和轉速,以控制遙控車行進的方向和速度。

** 影片中的 "紅外線避障、碰撞、五通道循線模組" 沒有拆掉,Arduino UNO BLE 遙控車是不需要也不用這模組。


/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
* 學習目標:

  • 學習並完成兩輪小車套件的機械和電子模組的組裝;
  • 學習並完成 BLE(Bluetooth LE,低功耗藍牙)模組的設定;
  • 學習並完成機械、電子和軟體之間的搭配組合;
    • 直流馬達的 PWM 轉速、轉向控制;
    • UART 轉 BLE 與手機的通訊;
    • 解析 UART 通訊數據;
  • 學習並完成解析和計算虛擬搖桿數據;

此套件主要的學習重點與目標:解析和計算接收到的手機虛擬搖桿數據,怎麼轉換到遙控車的兩個輪子的轉向和轉速。


/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
* 硬體:

  • Arduino UNO;
  • I2C 通訊馬達驅動板;
  • 模組轉接擴充板;
  • BLE(低功耗藍牙)模組;
  • 降壓模組;
  • 18650(7.4V)鋰電池盒;
  • 兩輪小車底盤套件;


/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
* 影片說明:

影片一開始示範怎麼正確的插入降壓模組與 BLE 模組,然後打開手機 APP 與遙控車上的 BLE 模組連線,接著切換並展示手機 APP 的每個頁面。

影片同時也示範了,藉由設定 "ADVANCED" 頁面的參數,可以調整 "JOYSTICK"(虛擬搖桿)頁面中的搖桿小圓和方形邊界的大小。

影片後面就是開始用虛擬搖桿操作遙控車的示範。


【ESP32 UNO BLE 遙控車(Android)】

ESP32 BLE 遙控車以 ESP32 開發板作為主控板,以 I2C 通訊操作 4 x 直流/2 x 步進/伺服馬達驅動擴充板控制兩顆直流馬達的轉速和轉向。

與 Arduino UNO BLE 循跡車最大的不同,就是 ESP32 內建藍牙功能,支援 BLE 和傳統藍牙(SPP 協議),所以不需要外掛藍牙模組,但這一步的傳統藍牙或 BLE 通訊協議必須自己實現!

實現所需要的藍牙通訊協議之後,遙控車接收到手機 APP 的數據解析之後,轉換成兩個輪子的轉向和轉速,以控制遙控車行進的方向和速度。


/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
* 學習目標:

  • 學習並完成兩輪小車套件的機械和電子模組的組裝;
  • 學習並實現 ESP32 BLE 功能與手機 APP 連線;
  • 學習並完成機械、電子和軟體之間的搭配組合;
    • 直流馬達的 PWM 轉速、轉向控制;
    • 解析 BLE 通訊數據;
  • 學習並完成解析和計算虛擬搖桿數據;

此套件主要的學習重點與目標:除了解析和計算接收到的手機虛擬搖桿數據怎麼轉換到遙控車的兩個輪子的轉向和轉速之外,要先實現和完成 ESP32 BLE 通訊協議的建立,否則玩不了!


/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
* 硬體:

  • ESP32;
  • I2C 通訊馬達驅動板;
  • 18650(7.4V)鋰電池盒;
  • 兩輪小車底盤套件;


/*--*//**---/*///**---*-*////***--*/*///***----*///--*/*///**--*/*//**--**/*//
* 影片說明:

影片一開始是使用的 ESP32 開發板和馬達驅動模組的疊裝。接好所有的線和插上電源後,可看到 ESP32 開發板的紅燈在閃爍,表示未與遙控車的 ESP32 BLE 連線,一但連線就會常亮。

中間有連線失敗的操作,雖然拍攝影片不應該有才好,但實際上這種情形是會發生的。重新關閉 APP 再打開重試連線,會比較快!

影片最後就是操作 ESP32 遙控車的情形。


【結論】

這個套件真的是花了我很多時間,終於有了一點進度能拿出來上架,後續套件需要的說明網頁撰寫完成之後,就會開始接下來其他套件分類的工作,如果有任何關於兩輪 DIY 套件的分類、功能增/減等...建議,歡迎用露露通和留言給我,感謝支持!


.

.


<<部落格相關文章>>


.

.

沒有留言:

張貼留言

留言屬名為"Unknown"或"不明"的用戶,大多這樣的留言都會直接被刪除掉,不會得到任何回覆!

發問問題,請描述清楚你(妳)的問題,別人回答前不會想去 "猜" 問題是什麼?

不知道怎麼發問,請看 [公告] 部落格提問須知 - 如何問問題 !