ESP32-CAM Girpper Car

在雜亂的房間裡瞄到了二個小白盒子,想起來了是蠻久之前(去年吧!)買的,看到人家發表新的產品,覺得不錯可以學就花錢了,應該那時就要弄東西出來才對,一定是又分心去做別的事了!(自己記缺點一次~),是miniplan出的一塊專屬ESP32-CAM的Motor Shield,就趕快拿出來用囉!免得把電路板給放壞了…

擴展板簡介

ESP32-CAM Motor Shield V3.0 是一款高度集成控制擴展板。
具有2套直流馬達驅動電路,可以讓您輕易驅動馬達速度與轉動方向,也額外增加4組共用腳位輸出,以方便選擇驅動4顆伺服馬達。
也為了充分提供驅動馬達所需電力,此擴展板內建一組耐用安全Lithium-Ion Capacitor 5V / 350mAh,可透過 USB 隨時快速充電。
此外內建蜂鳴器與開關可隨切換使用,最後是提供燒錄端子免去拆裝困擾。

ESP32-CAM Motor Shield V3.0 可由內建之 Lithium-Ion Capacitor 供應電力,可用於 ESP32-CAM 控制所需,以及電機電源驅動(參考icshop產品說明)

這塊板子的規格及程式範例可以到出品者(承田科技)的github看→github.com/GeorgeChiou/ESP32-CAM-MotorShield-V3.0 

夾子車的製作視頻

這是由厲害的高手ShinWei Chiou (這板子的設計者吧!)錄製的教學視頻,說明非常的清楚,也釋出了相關的3D列印檔及範例程式,真的是非常的貼心,否則光有板子,一時之間也不知要做什麼?

這段是夾子車的製作教學,他還有一個是坦克車的,但我喜歡這輛夾子車,它的列印部份比較少…

以往我玩ESP32-CAM就著重於它的視訊部份,因為我覺得這是板子的特點,有OV2640鏡頭模組,大家普世玩法也都是燒錄那個CameraWebServer 程式,驚豔於這麼便宜的價格就能有這樣的效果,可以做二軸的視訊雲台,弄得出來就覺得好厲害了,我之前學日本高手弄了一台田宮的模型改裝,弄得很高興呢!→ESP32 Cam TAMIYA Robot (有研究了加馬達驅動板),這次miniplan的教學卻沒有用它的視訊功能,而主要是用PS3手把來連結控制做出來夾子車,這是我覺得很新鮮的學習部份!

夾子車的3D列印件 

兩個舵機組成夾子的部份

總有不順暢的地方

我的手工部份算是蠻俐落的,夾子車的車體部份算是相對簡單,而在這個教學視頻中,使用了PS3手把我也有,但實作時卻不能成功,原因只有一個:我的ps3手把不是原廠的…,哇咧!弄半天沒法連接esp32,為了這個我有研究了半天,發現其實有連上,只是沒法定頻,訊號會一直跳開,所以算是不能運作的

解決方案:Bluepad32 library for Arduino NINA

bluepad32的github→github.com/ricardoquesada/bluepad32 

遊戲搖桿控制夾子車

只要是擁有藍芽通訊的遊戲搖桿都可以連接ESP32板子,靠的是arduino + bluepad32這個庫(韌體),不侷限於PS3了,以這個測試來說,使用SWITCH的JOYCON也可以與之連線

安裝方法:使用Arduino IDE打開偏好設定加上以下的位置:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

https://raw.githubusercontent.com/ricardoquesada/esp32-arduino-lib-builder/master/bluepad32_files/package_esp32_bluepad32_index.json

在開發板管理者中搜esp32安裝esp32_bluepad32

選擇esp32Arduino+bluepqd32下的板子

這應該不像一般的Library的用法,它是一個全新的韌體,想要啟用bluepad32的功能,板子就選ESP32-Arduino+bluspad32子目錄下的板子就可以套用了,也不用做什麼,在檔案→範例→bluepad32_Esp32下就有範例程式可以參考,把範例程式燒錄到ESP32-CAM上,開電後拿個搖桿進入藍芽搜尋,就會發現它自動找到板子配對了

透過序列埠視窗觀察

以XBOX為例來說,連接之後,在序列窗中出現搖桿的各種對應數值,由下往上很外地移動(因為程式偵測的速度很快),你可以按下按鈕或移動搖桿頭,就可以發現哪些數字在變化,可以反推出程式中的變數名稱

支援的搖桿

依據作者的說明支援大多數無線搖桿,

Sony DualSense (PS5)Sony DUALSHOCK 4 (PS4)、Sony DUALSHOCK 3 (PS3)、Nintendo Switch Pro controller、Nintendo Switch JoyConNintendo Wii U controllerNintendo Wii Remote + accessoriesXbox Wireless controller (models 1708, 1914, adaptive)Android controllersSteam controllerStadia controllerPC/Window controller8BitDo controllersiCadeMouseKeyboardsAnd more

PS3搖桿連接ESP32

ESP32板子安裝bluepad32之後,可以從序列埠視窗中看到它啟動的藍牙位址,比如08:B6:1F:87:B1:DA,如果是使用PS3搖桿,必須先做一個設定,就是搖桿的藍芽位址必須設定與板子一樣才能連線,用MiniUSB線將搖桿連到電腦,以Sixaxis Pair Tool程式來設定搖桿

ESP32的藍牙位址

用Sixaxis Pair Tool設定PS3搖桿

Sixaxis Pair Tool這支工具程式可以在網路上關鍵字搜尋就可以下載到安裝程式,SixaxisPairTool 在 Windows 上根據免費軟體授權提供沒有使用限制的,