0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DIY使用ESP32的手持游戲手柄并通過BLE進(jìn)行通信的設(shè)計(jì)

5CTi_cirmall ? 來源:電路設(shè)計(jì)技能 ? 作者:電路設(shè)計(jì)技能 ? 2021-01-27 13:40 ? 次閱讀

DIY使用ESP32的手持游戲手柄并通過BLE進(jìn)行通信

硬件部件:

esp32× 1個(gè)

ws2812b× 6

游戲桿× 2

角度按鈕× 2

按鈕× 8

18560電池和電池座× 2

三向撥動(dòng)開關(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)看過這樣的游戲控制器。但大多數(shù)使用Arduino?;蚋唧w地說,是Arduino pro micro或Leonardo開發(fā)板。因?yàn)檫@些板支持HID或通過USB的人機(jī)接口設(shè)備。但是esp32沒有這種功能。那么我們該怎么做呢?嗯,esp32確實(shí)具有BLE或低功耗藍(lán)牙,我們可以使用它通過藍(lán)牙進(jìn)行無線通信

因此,我們有ESP32模塊作為中央控制器,然后有USB C型端口和一個(gè)3.3v穩(wěn)壓器,可將5v轉(zhuǎn)換為3.3v。然后我們有了編程電路,使用具有自動(dòng)編程模式的ch340c usb到串行轉(zhuǎn)換器和使用雙工晶體管的自動(dòng)復(fù)位電路。我們還具有電池充電電路,以及過充電和過放電保護(hù)功能。然后使用升壓轉(zhuǎn)換器ic將其升壓至5v。接下來,我們有操縱桿,D-Pad按鈕,觸發(fā)按鈕,Neopixel LEDi2c端口。最后是3向開關(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型端口對其進(jìn)行更改。它也可以用來對微控制器進(jìn)行編程。該設(shè)計(jì)的靈感來自新的ps5控制器,以使其外觀更好。GPIO4使用分壓器連接到電池。這樣我們就可以測量電池電壓了。NeoPixel LED將指示控制器是否連接到設(shè)備或電池電壓是否低。

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

責(zé)任編輯:xj

原文標(biāo)題:DIY使用ESP32的手持游戲手柄并通過BLE進(jìn)行通信

文章出處:【微信公眾號:電路設(shè)計(jì)技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    5875

    瀏覽量

    135304
  • ESP
    ESP
    +關(guān)注

    關(guān)注

    0

    文章

    179

    瀏覽量

    33737
  • BLE
    BLE
    +關(guān)注

    關(guān)注

    12

    文章

    634

    瀏覽量

    59178

原文標(biāo)題:DIY使用ESP32的手持游戲手柄并通過BLE進(jìn)行通信

文章出處:【微信號:cirmall,微信公眾號:電路設(shè)計(jì)技能】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    esp32用什么軟件編程

    ESP32是一款由樂鑫(Espressif)推出的低功耗、高性能的Wi-Fi和藍(lán)牙雙模微控制器,廣泛應(yīng)用于物聯(lián)網(wǎng)、智能家居、智能穿戴等領(lǐng)域。要對ESP32進(jìn)行編程,需要選擇合適的編程軟件和開發(fā)環(huán)境
    的頭像 發(fā)表于 08-19 17:24 ?827次閱讀

    ESP32-WROOM-32E、ESP32-WROOM-32D、ESP32-WROOM-32U 有什么區(qū)別?ESP32-WROOM-32 后綴字母代表的意思是?

    Wi-Fi+BT+BLE MCU模組,它們各自具有一些特點(diǎn)和區(qū)別,以下是對這三款模組的詳細(xì)比較和區(qū)分方法: 核心功能與用途 共同點(diǎn) : 三款模組都是基于ESP32系列芯片設(shè)計(jì)的,具有強(qiáng)大的
    的頭像 發(fā)表于 07-17 10:09 ?3626次閱讀
    <b class='flag-5'>ESP32</b>-WROOM-32E、<b class='flag-5'>ESP32</b>-WROOM-32D、<b class='flag-5'>ESP32</b>-WROOM-32U  有什么區(qū)別?<b class='flag-5'>ESP32</b>-WROOM-32 后綴字母代表的意思是?

    ESP32BLE最大通信距離有多遠(yuǎn)?

    ESP32-S3官方模塊的藍(lán)牙在PCB板載天線,外置天線的不同情況下,125K,500K,1M,2M的不同速率下,通信距離最大可達(dá)多遠(yuǎn)? ESP32BLE最大
    發(fā)表于 07-01 07:22

    esp32的整體平均功耗能到多少?

    deep-sleep模式,rtc定時(shí)5s喚醒一次,每次就啟動(dòng)ble 進(jìn)行廣播維持1s的等待連接。如果沒有就進(jìn)入deep-sleep。 這種模式下,如果沒有連接的話,esp32的整體平
    發(fā)表于 06-26 07:52

    ESP32 BLE的從機(jī)demo是否支持多連接?

    我有以下2個(gè)疑問想請教一下 1.ESP32是否具有BLE從機(jī)和主機(jī)角色同時(shí)運(yùn)行并且同時(shí)連接的能力 2.ESP32 BLE的從機(jī)demo是否支持多連接
    發(fā)表于 06-21 06:37

    使用ESP32S2來進(jìn)行BLE透傳,藍(lán)牙的功率一直無法修改是怎么回事?

    使用ESP32S2來進(jìn)行BLE透傳,但是藍(lán)牙的功率一直無法修改,使用esp_ble_tx_power_set(11,7)來設(shè)置為最大,再使用esp_
    發(fā)表于 06-18 07:32

    ESP32C3使用esp_ble_scan_dupilcate_list_flush函數(shù),但編譯無法通過,為什么?

    硬件:ESP32C3 軟件:ESP-IDF V4.4 我想使用esp_ble_scan_dupilcate_list_flush函數(shù),但編譯無法通過,檢查發(fā)現(xiàn)
    發(fā)表于 06-17 07:09

    ESP32-D0WD-V3藍(lán)牙BLE連接失敗的原因?

    問題描述:項(xiàng)目使用BLUFI進(jìn)行配網(wǎng),IDF v.4.4.1,之前采購的模塊是ESP32-D0WDQ6,所有功能正常。最近一次采購的模塊使用了ESP32-D0WD-V3芯片,出現(xiàn)了經(jīng)常掃描不到藍(lán)牙
    發(fā)表于 06-13 06:12

    基于ESP32S進(jìn)行BLE MESH開發(fā),基于的是BLE4.2,是否可以提升到BLE5.0?

    1.現(xiàn)在基于ESP32S進(jìn)行BLE MESH開發(fā),基于的是BLE4.2,是否可以提升到BLE5.0? 2.
    發(fā)表于 06-12 07:49

    esp32-C3如何提高esp_ble_get_cur_sendable_packets_num返回?cái)?shù)?

    我們使用的芯片是esp32-C3 IDF版本版本:2.8.1 Build id:20230207-1119 我們的產(chǎn)品使用的是BLE Mesh的組網(wǎng)方式,兩塊板子之間通過通過gatt做
    發(fā)表于 06-07 08:07

    ESP32有無連接接收BLE HID設(shè)備的可能?

    利用相似例程gatt_security_client嘗試連接ble hid設(shè)備,就是個(gè)手機(jī)的藍(lán)牙翻頁器,能發(fā)現(xiàn)打開ESP_GATT_UUID_HID_SVC服務(wù),搜索
    發(fā)表于 06-06 07:43

    ESP32系列ESP32-D0WD雙模 超低功耗集成BLE4.2+2.4G WIFI SoC芯片

    ESP32系列ESP32-D0WD雙模 超低功耗集成BLE4.2+2.4G WIFI SoC芯片
    的頭像 發(fā)表于 05-29 11:52 ?993次閱讀
    <b class='flag-5'>ESP32</b>系列<b class='flag-5'>ESP32</b>-D0WD雙模 超低功耗集成<b class='flag-5'>BLE</b>4.2+2.4G WIFI SoC芯片

    超酷!基于ESP32自制一個(gè)藍(lán)牙游戲手柄

    通過用跳線在6到12伏特的電源范圍內(nèi)通過外部供電。 我用了一個(gè)空白的PCB作為蓋子,避免手接觸電路。將ESP32板插入電路,然后通過游戲
    發(fā)表于 05-06 16:59

    開源項(xiàng)目!做一臺基于 ESP32 DIY 復(fù)古游戲機(jī)

    添加一個(gè)上拉電阻。該電阻對于保持線路上的恒定高電平避免可能破壞數(shù)據(jù)傳輸?shù)闹虚g電平信號很重要。 此處還有我們的老朋友去耦電容器。 音頻輸出 使用 ESP32,有兩種方式輸出音頻。通過檢查數(shù)據(jù)表
    發(fā)表于 04-19 10:20

    開源 | 超容易復(fù)刻的多功能ESP32游戲機(jī),藍(lán)牙手柄+NES模擬器+Wi-Fi投屏…

    機(jī)? -? 開源分享 - 演示視頻鏈接 https://www.bilibili.com/video/BV1Ga4y1f7d3 自制ESP32迷你多功能游戲機(jī),手感很好,操作絲滑。源碼和硬件都已開源,超容易
    的頭像 發(fā)表于 12-08 13:55 ?2151次閱讀
    開源 | 超容易復(fù)刻的多功能<b class='flag-5'>ESP32</b><b class='flag-5'>游戲</b>機(jī),藍(lán)牙<b class='flag-5'>手柄</b>+NES模擬器+Wi-Fi投屏…