擬定DC馬達與DRV8833,控制MCU=esp32-C5 接腳 ,AI時代 交 Gemini協助!
提示詞:
ESP32-C3 控2個DC馬達組合移動平台,使用microPython ,馬達驅動板DRV8833,使用 gpio1 gpio2 gpio3 gpio4 程控這2馬達,給我一案例程式 說明以繁體中文呈現
生成的程式與實體車-馬達接線方向調整符合[程式定義 前後轉向],再回應討論:
實做後,車子2輪沒有前進轉向,後退正常。修訂程式!
... AI回應可能線路問題,懷疑DRV8833未接EN ??? 卡住了! 範例說明及架構 算OK!
好好看程式問題,以2腳位控馬達= PWM + hi/lo 程式 ,AI給 speed_to_duty副程式有Bug,測試實車前進需 69%以上,後退48%可動,修訂後程式<<可參考
高人指導BLE手把:淘寶上採購,提供 microPython程式參考。
ESP32-C5可接收到這[小手把]訊號,外觀搖桿取得訊號[非類比] 9宮格方式的數位訊號
小手把:文字是橫置模式,操作應該單手握方法:直置模式,側邊二按鈕可作[速度檔次]加減。
小手把搖桿通訊協定:上=D1 下=D2 左=D3 右=D4 左上=D5 左下=D6 右上=D7 右下=D8
車後方增加數字LED,目前[車速] 0, 1~5 狀態表示!
AI協助: 接續上案例
增加有5段檔次及左右馬達差異有[字典]程式架構! speed_to_duty副程式有Bug 人為修正!
加入 數字LED呈現控制
接收小手把狀態與上[程式]、那些全域變數... 轉化成車子動作與速度。
遙桿控車[思維]<<本網站教學頁
整合後 十字(5格組合)控 與 5檔速度 程式<<下載參考
操作後反思目前程式 不順手的地方? 有那些方式 可以再改進?
直覺式 9宮格 及 車速初值=3 :
原本想用AI協助修程式,此算小程式怕愈修愈亂,人為修訂: 分享 程式<<下載參考
慧手科技出產 內含ESP32s處理器的控制板: iMoto ESP32 Robot Board 可控到4 DC馬達,在此暫控2 DC馬達。
電源可選用常用2顆18650鋰電池 串聯方式,達7.4V供電。
左右二馬達動力:預定接線 M02-左 | M03-右 ,定義二動力輪位於[前方]、萬向輪在後。
尚在努力中...
尚在努力中...
PS4無線搖桿 控車?
BlocklyDuino F2 可用 ESP32 ,光光大師加碼了 BluePad32積木! PS4手把 控車 應該可行!!
案例1:ZIP包 << 此程式 PS4與 iMotoESP32板[對應]後,按 左、右 鍵,控 ESP32板上 左右2顆LED 亮|暗。
PS4上 左、右二側香菇頭有XY的類比值,尚有 L2[剎車] | R2[油門] 屬於類比值,遙桿內含傾角感測功能 也是類比值。
案例2:ZIP包 << 此程式 接續案例1,L2控左側馬達轉速、R2控右側馬達轉速,運用二馬達速差控轉彎。PS4右邊按鈕區,[三角]按一下:LED綠色=前行的轉向、[叉]按一下: LED紅色=後退的轉向。
案例3:ZIP包 << 此程式 接續案例2 ,函式再呼叫函式,因 左輪VS右輪 及 前行VS後退 的分工成4小函式 ,[方]按一下: LED藍色=逆時針轉向、[圓]按一下: LED水藍色=順時針轉向,四類轉向組合。
案例4:ZIP包 << 此程式 接續案例3,控兩側馬達以 PS4遙桿(左側)XY類比值操作。
https://bluepad32.readthedocs.io/en/latest/ <<官網
運用坊間手把來操控,這高人的方案不錯解方!!
尚在努力中...
尚在努力中...
使用Python 模式的 microPython 在ESP32 且想要對接 PS4無線搖桿 可行嗎?
解決方案? 要有高人將 BluePad32函式 打包到 microPython韌體內才有機會。 EASY KIDS 這公司有 microBlock IDE教學,其中 GamePad 選用BluePad32 公司分享韌體載點 | 備份韌體載點 << 下載...Gamepad.bin 這檔案。 ( 目前 r2 、 l2 是開關模式,上例用 BlocklyDuino F2 另有 l2=brake r2=throttle [類比值] )
安裝這版本韌體,連線的訊息:MicroPython v1.20.0-dirty on 2024-02-20; EasyKids Robot Kit with ESP32
>>> help('modules') 查內建模組 是否有 bluepad32
期待後續新版 microPython 有高手將 BluePad32包入韌體系統中。
>>> import bluepad32
>>> dir(bluepad32) <<--了解這模組有那些函式可運用
目前這韌體提供單向控制,手把→ESP32 ,體感類 accelX Y Z , gyroX Y Z 暫不研究。
左側程式碼 將 無線手把 操作狀態傳到 ESP32 ,程式接收 左右搖桿、按鍵分兩區得 dpad 與 buttons ,數值即按鍵狀態。
up down left right | circle cross square triangle l1 l2 r1 r2 按鍵函式 True/False
方向鍵 | 功能鍵
PS4手把上有2搖桿,習慣操作: 右手拿[車],左手拿[手把]=左搖桿 主要控車方向與速度
BluePad32 資料中 當ESP32-C5 可配手把清單中 ... 沒有PS4