加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

DIY使用ESP32的手持游戲手柄并通過BLE進行通信

2021/01/21
1602
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
方塊圖(3)
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

DIY使用ESP32的手持游戲手柄并通過BLE進行通信

硬件部件:

  • esp32×    1個    
  • ws2812b×    6    
  • 游戲桿×    2    
  • 角度按鈕×    2    
  • 按鈕×    8    
  • 18560電池和電池座×    2    
  • 三向撥動開關(guān)×    1個    
  • TP4056帶保護的電池充電電路×    1個    
  • MT3608升壓轉(zhuǎn)換器×    1個    

軟件應(yīng)用程序和在線服務(wù):

手動工具和制造機:

  • 烙鐵(通用)

這是一個使用ESP32微控制器制作的DIY手持游戲手柄。您可能之前已經(jīng)看過這樣的游戲控制器。但大多數(shù)使用Arduino?;蚋唧w地說,是Arduino pro micro或Leonardo開發(fā)板。因為這些板支持HID或通過USB的人機接口設(shè)備。但是esp32沒有這種功能。那么我們該怎么做呢?嗯,esp32確實具有BLE或低功耗藍牙,我們可以使用它通過藍牙進行無線通信。

因此,我們有ESP32模塊作為中央控制器,然后有USB C型端口和一個3.3v穩(wěn)壓器,可將5v轉(zhuǎn)換為3.3v。然后我們有了編程電路,使用具有自動編程模式的ch340c usb到串行轉(zhuǎn)換器和使用雙工晶體管的自動復(fù)位電路。我們還具有電池充電電路,以及過充電和過放電保護功能。然后使用升壓轉(zhuǎn)換器ic將其升壓至5v。接下來,我們有操縱桿,D-Pad按鈕,觸發(fā)按鈕,Neopixel LED和i2c端口。最后是3向開關(guān),可在USB電源和電池電源之間切換。

游戲手柄有

  • 2個模擬游戲桿
  • 2個觸發(fā)按鈕
  • 2個D-Pads
  • 6個可尋址RGB LED
  • 和一個i2c端口

它可以使用2個18650鋰離子電池運行,可以使用USB C型端口對其進行更改。它也可以用來對微控制器進行編程。該設(shè)計的靈感來自新的ps5控制器,以使其外觀更好。GPIO4使用分壓器連接到電池。這樣我們就可以測量電池電壓了。NeoPixel LED將指示控制器是否連接到設(shè)備或電池電壓是否低。

該代碼基于lemmingDev的BLE Gamepad庫。在代碼中,我為不同的輸入定義了所有GPIO引腳。然后在設(shè)置中有一些初始的led動畫。板子一旦連接到設(shè)備,所有的LED就會變成綠色。并且它將按先前定義的時間間隔檢查電池電壓。然后我們獲得按鈕狀態(tài),并相應(yīng)地設(shè)置游戲手柄按鈕。然后,我們采用模擬輸入,并將其映射到合適的值。最后根據(jù)我們收到的值設(shè)置軸。上載代碼后,在智能手機或PC上打開藍牙菜單,您會看到一個新設(shè)備彈出。單擊該按鈕將其連接,就可以開始游戲了。

 

  • schematic_esp32_ble_controller_2021-01-04_RtV4rvWopQ.pdf
    描述:原理圖
  • source_code.ino
    描述:源碼

相關(guān)推薦

電子產(chǎn)業(yè)圖譜