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 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上打开蓝牙菜单,您会看到一个新设备弹出。单击该按钮将其连接,就可以开始游戏了。
原文标题:diy使用esp32的手持游戏手柄并通过ble进行通信
文章出处:【微信公众号:电路设计技能】欢迎添加关注!文章转载请注明出处。
步进电机工作原理是什么?
双端口SRAM中读干扰问题,读干扰的原理分析
气敏传感器在信号采集中的应用
鸿蒙系统黄金搭档方舟编译器2.0:实现多语言多设备编译
从家博会到AWE的变化_AWE逆生长之谜的解开
DIY使用ESP32的手持游戏手柄并通过BLE进行通信的设计
NAB磁头前置放大器(OPA37)
Razer发布Naga Hex鼠标
高清在线监测装置 视频监视系统
自动驾驶汽车挂牌上路有待斟酌 暂仅用于测试
九天睿芯首款视觉应用的感存算一体新型架构计算芯片流片成功,可同时支持基于帧的相机和事件相机的处理
电机驱动器简介:H桥拓扑和方向控制
对于智慧银行的解读和介绍
联想thinkplus是什么牌子?智能高效的办公选择
低温放大器的发展趋势
自动驾驶有什么新的发展
拥有PC功能和PLC可靠性的新兴PAC
芯英科技研发“伏羲”芯片,能耗仅为进口芯片的10%
根据颜色自动生成标识的LoGAN模型
MIPI接口的用途广泛,它的优点都有哪些