硬件部件:
esp32× 1個
ws2812b× 6
游戲桿× 2
角度按鈕× 2
按鈕× 8
18560電池和電池座× 2
三向撥動開關× 1個
TP4056帶保護的電池充電電路× 1個
MT3608升壓轉換器× 1個
軟件應用程序和在線服務:
Arduino IDE
手動工具和制造機:
烙鐵(通用)
這是一個使用ESP32微控制器制作的DIY手持游戲手柄。您可能之前已經看過這樣的游戲控制器。但大多數使用Arduino?;蚋唧w地說,是Arduino pro micro或Leonardo開發板。因為這些板支持HID或通過USB的人機接口設備。但是esp32沒有這種功能。那么我們該怎么做呢?嗯,esp32確實具有BLE或低功耗藍牙,我們可以使用它通過藍牙進行無線通信。
因此,我們有ESP32模塊作為中央控制器,然后有USB C型端口和一個3.3v穩壓器,可將5v轉換為3.3v。然后我們有了編程電路,使用具有自動編程模式的ch340c usb到串行轉換器和使用雙工晶體管的自動復位電路。我們還具有電池充電電路,以及過充電和過放電保護功能。然后使用升壓轉換器ic將其升壓至5v。接下來,我們有操縱桿,D-Pad按鈕,觸發按鈕,Neopixel LED和i2c端口。最后是3向開關,可在USB電源和電池電源之間切換。
游戲手柄有:
· 2個模擬游戲桿
· 2個觸發按鈕
· 2個D-Pads
· 6個可尋址RGB LED
· 一個i2c端口
它可以使用2個18650鋰離子電池運行,可以使用USB C型端口對其進行更改。它也可以用來對微控制器進行編程。該設計的靈感來自新的ps5控制器,以使其外觀更好。GPIO4使用分壓器連接到電池。這樣我們就可以測量電池電壓了。NeoPixel LED將指示控制器是否連接到設備或電池電壓是否低。
該代碼基于lemmingDev的BLE Gamepad庫。在代碼中,我為不同的輸入定義了所有GPIO引腳。然后在設置中有一些初始的led動畫。板子一旦連接到設備,所有的LED就會變成綠色。并且它將按先前定義的時間間隔檢查電池電壓。然后我們獲得按鈕狀態,并相應地設置游戲手柄按鈕。然后,我們采用模擬輸入,并將其映射到合適的值。最后根據我們收到的值設置軸。上載代碼后,在智能手機或PC上打開藍牙菜單,您會看到一個新設備彈出。單擊該按鈕將其連接,就可以開始游戲了。
責任編輯:xj
原文標題:DIY使用ESP32的手持游戲手柄并通過BLE進行通信
文章出處:【微信公眾號:電路設計技能】歡迎添加關注!文章轉載請注明出處。
-
通信
+關注
關注
18文章
6024瀏覽量
135950 -
ESP
+關注
關注
0文章
183瀏覽量
33926 -
BLE
+關注
關注
12文章
660瀏覽量
59391
原文標題:DIY使用ESP32的手持游戲手柄并通過BLE進行通信
文章出處:【微信號:cirmall,微信公眾號:電路設計技能】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論