0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DIY使用ESP32的手持游戏手柄并通过BLE进行通信的设计

5CTi_cirmall 来源:电路设计技能 作者:电路设计技能 2021-01-27 13:40 次阅读

DIY使用ESP32的手持游戏手柄并通过BLE进行通信

硬件部件:

esp32× 1个

ws2812b× 6

游戏杆× 2

角度按钮× 2

按钮× 8

18560电池和电池座× 2

三向拨动开关× 1个

TP4056带保护的电池充电电路× 1个

MT3608升压转换器× 1个

软件应用程序和在线服务:

Arduino IDE

手动工具和制造机:

烙铁(通用)

这是一个使用ESP32微控制器制作的DIY手持游戏手柄。您可能之前已经看过这样的游戏控制器。但大多数使用Arduino。或更具体地说,是Arduino pro micro或Leonardo开发板。因为这些板支持HID或通过USB的人机接口设备。但是esp32没有这种功能。那么我们该怎么做呢?嗯,esp32确实具有BLE或低功耗蓝牙,我们可以使用它通过蓝牙进行无线通信

因此,我们有ESP32模块作为中央控制器,然后有USB C型端口和一个3.3v稳压器,可将5v转换为3.3v。然后我们有了编程电路,使用具有自动编程模式的ch340c usb到串行转换器和使用双工晶体管的自动复位电路。我们还具有电池充电电路,以及过充电和过放电保护功能。然后使用升压转换器ic将其升压至5v。接下来,我们有操纵杆,D-Pad按钮,触发按钮,Neopixel LEDi2c端口。最后是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

    文章

    6026

    浏览量

    135950
  • ESP
    ESP
    +关注

    关注

    0

    文章

    183

    浏览量

    33928
  • BLE
    BLE
    +关注

    关注

    12

    文章

    660

    浏览量

    59392

原文标题:DIY使用ESP32的手持游戏手柄并通过BLE进行通信

文章出处:【微信号:cirmall,微信公众号:电路设计技能】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【AI技术支持】ESP32-S3模组EspBleOTA搜索不到ble_ota例程的蓝牙问题处理

    启明云端/01问题描述在智能标识牌上使用ESP32-S3-WROOM-1U模组,ESP-IDF版本为idf5.0.2时,客户在ESP32-S3模组烧录运行
    的头像 发表于 12-13 18:06 100次阅读
    【AI技术支持】<b class='flag-5'>ESP32</b>-S3模组EspBleOTA搜索不到<b class='flag-5'>ble</b>_ota例程的蓝牙问题处理

    esp32用什么软件编程

    ESP32是一款由乐鑫(Espressif)推出的低功耗、高性能的Wi-Fi和蓝牙双模微控制器,广泛应用于物联网、智能家居、智能穿戴等领域。要对ESP32进行编程,需要选择合适的编程软件和开发环境
    的头像 发表于 08-19 17:24 3417次阅读

    ESP32-WROOM-32E、ESP32-WROOM-32D、ESP32-WROOM-32U 有什么区别?ESP32-WROOM-32 后缀字母代表的意思是?

    Wi-Fi+BT+BLE MCU模组,它们各自具有一些特点和区别,以下是对这三款模组的详细比较和区分方法: 核心功能与用途 共同点 : 三款模组都是基于ESP32系列芯片设计的,具有强大的
    的头像 发表于 07-17 10:09 9417次阅读
    <b class='flag-5'>ESP32</b>-WROOM-32E、<b class='flag-5'>ESP32</b>-WROOM-32D、<b class='flag-5'>ESP32</b>-WROOM-32U  有什么区别?<b class='flag-5'>ESP32</b>-WROOM-32 后缀字母代表的意思是?

    ESP32BLE最大通信距离有多远?

    ESP32-S3官方模块的蓝牙在PCB板载天线,外置天线的不同情况下,125K,500K,1M,2M的不同速率下,通信距离最大可达多远? ESP32BLE最大
    发表于 07-01 07:22

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

    deep-sleep模式,rtc定时5s唤醒一次,每次就启动ble 进行广播维持1s的等待连接。如果没有就进入deep-sleep。 这种模式下,如果没有连接的话,esp32的整体平
    发表于 06-26 07:52

    ESP32 BLE的从机demo是否支持多连接?

    我有以下2个疑问想请教一下 1.ESP32是否具有BLE从机和主机角色同时运行并且同时连接的能力 2.ESP32 BLE的从机demo是否支持多连接
    发表于 06-21 06:37

    使用ESP32S2来进行BLE透传,蓝牙的功率一直无法修改是怎么回事?

    使用ESP32S2来进行BLE透传,但是蓝牙的功率一直无法修改,使用esp_ble_tx_power_set(11,7)来设置为最大,再使用esp_
    发表于 06-18 07:32

    ESP32C3使用esp_ble_scan_dupilcate_list_flush函数,但编译无法通过,为什么?

    硬件:ESP32C3 软件:ESP-IDF V4.4 我想使用esp_ble_scan_dupilcate_list_flush函数,但编译无法通过,检查发现
    发表于 06-17 07:09

    ESP32-D0WD-V3蓝牙BLE连接失败的原因?

    问题描述:项目使用BLUFI进行配网,IDF v.4.4.1,之前采购的模块是ESP32-D0WDQ6,所有功能正常。最近一次采购的模块使用了ESP32-D0WD-V3芯片,出现了经常扫描不到蓝牙
    发表于 06-13 06:12

    基于ESP32S进行BLE MESH开发,基于的是BLE4.2,是否可以提升到BLE5.0?

    1.现在基于ESP32S进行BLE MESH开发,基于的是BLE4.2,是否可以提升到BLE5.0? 2.
    发表于 06-12 07:49

    esp32-C3如何提高esp_ble_get_cur_sendable_packets_num返回数?

    我们使用的芯片是esp32-C3 IDF版本版本:2.8.1 Build id:20230207-1119 我们的产品使用的是BLE Mesh的组网方式,两块板子之间通过通过gatt做
    发表于 06-07 08:07

    ESP32有无连接接收BLE HID设备的可能?

    利用相似例程gatt_security_client尝试连接ble hid设备,就是个手机的蓝牙翻页器,能发现打开ESP_GATT_UUID_HID_SVC服务,搜索
    发表于 06-06 07:43

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

    ESP32系列ESP32-D0WD双模 超低功耗集成BLE4.2+2.4G WIFI SoC芯片
    的头像 发表于 05-29 11:52 1461次阅读
    <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自制一个蓝牙游戏手柄

    通过用跳线在6到12伏特的电源范围内通过外部供电。 我用了一个空白的PCB作为盖子,避免手接触电路。将ESP32板插入电路,然后通过游戏
    发表于 05-06 16:59

    开源项目!做一台基于 ESP32 DIY 复古游戏

    添加一个上拉电阻。该电阻对于保持线路上的恒定高电平避免可能破坏数据传输的中间电平信号很重要。 此处还有我们的老朋友去耦电容器。 音频输出 使用 ESP32,有两种方式输出音频。通过检查数据表
    发表于 04-19 10:20