DIY使用ESP32的手持游戲手柄并通過(guò)BLE進(jìn)行通信
硬件部件:
esp32× 1個(gè)
ws2812b× 6
游戲桿× 2
角度按鈕× 2
按鈕× 8
18560電池和電池座× 2
三向撥動(dòng)開(kāi)關(guān)× 1個(gè)
TP4056帶保護(hù)的電池充電電路× 1個(gè)
MT3608升壓轉(zhuǎn)換器× 1個(gè)
軟件應(yīng)用程序和在線服務(wù):
Arduino IDE
手動(dòng)工具和制造機(jī):
烙鐵(通用)
這是一個(gè)使用ESP32微控制器制作的DIY手持游戲手柄。您可能之前已經(jīng)看過(guò)這樣的游戲控制器。但大多數(shù)使用Arduino?;蚋唧w地說(shuō),是Arduino pro micro或Leonardo開(kāi)發(fā)板。因?yàn)檫@些板支持HID或通過(guò)USB的人機(jī)接口設(shè)備。但是esp32沒(méi)有這種功能。那么我們?cè)撛趺醋瞿??嗯,esp32確實(shí)具有BLE或低功耗藍(lán)牙,我們可以使用它通過(guò)藍(lán)牙進(jìn)行無(wú)線通信。
因此,我們有ESP32模塊作為中央控制器,然后有USB C型端口和一個(gè)3.3v穩(wěn)壓器,可將5v轉(zhuǎn)換為3.3v。然后我們有了編程電路,使用具有自動(dòng)編程模式的ch340c usb到串行轉(zhuǎn)換器和使用雙工晶體管的自動(dòng)復(fù)位電路。我們還具有電池充電電路,以及過(guò)充電和過(guò)放電保護(hù)功能。然后使用升壓轉(zhuǎn)換器ic將其升壓至5v。接下來(lái),我們有操縱桿,D-Pad按鈕,觸發(fā)按鈕,Neopixel LED和i2c端口。最后是3向開(kāi)關(guān),可在USB電源和電池電源之間切換。
游戲手柄有:
· 2個(gè)模擬游戲桿
· 2個(gè)觸發(fā)按鈕
· 2個(gè)D-Pads
· 6個(gè)可尋址RGB LED
· 一個(gè)i2c端口
它可以使用2個(gè)18650鋰離子電池運(yùn)行,可以使用USB C型端口對(duì)其進(jìn)行更改。它也可以用來(lái)對(duì)微控制器進(jìn)行編程。該設(shè)計(jì)的靈感來(lái)自新的ps5控制器,以使其外觀更好。GPIO4使用分壓器連接到電池。這樣我們就可以測(cè)量電池電壓了。NeoPixel LED將指示控制器是否連接到設(shè)備或電池電壓是否低。
該代碼基于lemmingDev的BLE Gamepad庫(kù)。在代碼中,我為不同的輸入定義了所有GPIO引腳。然后在設(shè)置中有一些初始的led動(dòng)畫(huà)。板子一旦連接到設(shè)備,所有的LED就會(huì)變成綠色。并且它將按先前定義的時(shí)間間隔檢查電池電壓。然后我們獲得按鈕狀態(tài),并相應(yīng)地設(shè)置游戲手柄按鈕。然后,我們采用模擬輸入,并將其映射到合適的值。最后根據(jù)我們收到的值設(shè)置軸。上載代碼后,在智能手機(jī)或PC上打開(kāi)藍(lán)牙菜單,您會(huì)看到一個(gè)新設(shè)備彈出。單擊該按鈕將其連接,就可以開(kāi)始游戲了。
責(zé)任編輯:xj
原文標(biāo)題:DIY使用ESP32的手持游戲手柄并通過(guò)BLE進(jìn)行通信
文章出處:【微信公眾號(hào):電路設(shè)計(jì)技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
通信
+關(guān)注
關(guān)注
18文章
6319瀏覽量
139582 -
ESP
+關(guān)注
關(guān)注
0文章
194瀏覽量
36107 -
BLE
+關(guān)注
關(guān)注
13文章
746瀏覽量
66017
原文標(biāo)題:DIY使用ESP32的手持游戲手柄并通過(guò)BLE進(jìn)行通信
文章出處:【微信號(hào):cirmall,微信公眾號(hào):電路設(shè)計(jì)技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
ESP8266和ESP32開(kāi)發(fā)板常見(jiàn)的2種下載方式
樂(lè)鑫ESP32-C6和ESP32-C61究竟該如何選擇?一文讀懂本質(zhì)區(qū)別
ESP32-S3的MicroPython開(kāi)發(fā)環(huán)境搭建
如何使用 Bootloader 通過(guò) BLE 模塊升級(jí) APROM?
ESP32驅(qū)動(dòng)SPIFFS進(jìn)行文件操作
ESP32通過(guò)OTA無(wú)線局域網(wǎng)遠(yuǎn)程升級(jí)下載程序
ESP32用作經(jīng)典藍(lán)牙串口透?jìng)髂K與手機(jī)進(jìn)行串口通信
基于ESP32C3的智能小車(chē)設(shè)計(jì)
游戲手柄振動(dòng)馬達(dá):沉浸式游戲體驗(yàn)的核心
ESP32運(yùn)行網(wǎng)頁(yè)服務(wù)器 (Web-Server)-入門(mén)篇
帶手柄RFID手持機(jī)終端的特點(diǎn)和作用分析
樂(lè)鑫 ESP32-C6 通過(guò) Thread 1.4 互操作性認(rèn)證
【AI技術(shù)支持】ESP32-S3模組EspBleOTA搜索不到ble_ota例程的藍(lán)牙問(wèn)題處理

DIY使用ESP32的手持游戲手柄并通過(guò)BLE進(jìn)行通信的設(shè)計(jì)
評(píng)論