发作品签到
专业版

ESP32-S3-BOX-3-JoyStick

工程标签

5.2k
0
0
6

简介

项目基于乐鑫的 ESP32-S3-BOX-3 进行开发,旨在创建一个兼顾游戏手柄和航模遥控器的开源项目。本指南将帮助您快速上手ESP32-S3-BOX-3-JoyStick,并提供该项目的详细信息。

简介:项目基于乐鑫的 ESP32-S3-BOX-3 进行开发,旨在创建一个兼顾游戏手柄和航模遥控器的开源项目。本指南将帮助您快速上手ESP32-S3-BOX-3-JoyStick,并提供该项目的详细信息。

开源协议

Public Domain

创建时间:2023-11-16 10:43:45更新时间:2023-11-21 06:57:20

描述

ESP32-S3-BOX-3-JoyStick

该项目基于乐鑫的 ESP32-S3-BOX-3 和 ESP32-S3-USB-Bridge 进行开发,旨在创建一个兼顾游戏手柄和航模遥控器的开源项目。
本指南将帮助您快速上手ESP32-S3-BOX-3-JoyStick,并提供该项目的所有详细信息。

本指南包括如下内容:

  • 项目概述
  • 硬件参考
  • 应用程序开发
  • 相关文档

项目概述

ESP32-S3-BOX-3-JoyStick 硬件系统由 ESP32-S3-BOX-3 开发板、 JoyStick 手柄和 ESP32-S3-USB-Bridge 接收机三部分组成。其中,ESP32-S3-BOX-3 为系统主控,JoyStick 手柄和 ESP32-S3-USB-Bridge 接收机为控制外设,ESP32-S3-BOX-3 开发板和 JoyStick 手柄之间通过 PCI-E 接口进行连接。
整体侧视图.png

ESP32-S3-BOX-3-JoyStick 目前具有“游戏模式”和“RC遥控模式”:

  • 游戏模式:
    • USB-HID模式:使用Type-C数据线连接电脑,通过 USB-HID 协议控制电脑游戏,可自定义摇杆及按键功能。
    • BLE-HID模式:该模式下JoyStick与电脑通过蓝牙进行连接,通过 BLE-HID 协议控制电脑游戏,可自定义摇杆及按键功能。
    • NES模拟器模式:该模式下,可在ESP32-S3-BOX-3屏幕上显示NES模拟器中的游戏。
  • RC 遥控模式:ESP32-S3-BOX-3-JoyStick 通过 ESP-NOW 无线通信协议与 ESP32-S3-USB-Bridge 等其他乐鑫官方开发板(接收机)进行配对连接,可实现对 RC遥控车、ESP-Drone四旋翼小飞机等航模的无线遥控。

硬件参考

为保证 ESP32-S3-BOX-3-JoyStick 具有较好的握持手感,本项目对 ESP32-S3-BOX-3-JoyStick 的PCB板形进行了优化设计,并为其设计了配套的3D外壳。

以下按照顺时针顺序依次介绍 JoyStick 的主要组件。

ESP32-S3-BOX-JoyStick-正面.png

主要组件介绍
PCI-E接口用于连接 ESP32-S3-BOX-3 开发板。
IO扩展芯片JoyStick 需要检测16个按键(包括2个摇杆按键),每个按键都需要单独使用一个 IO,
而 ESP32-S3-BOX-3 引出的 IO 口数量有限,就需要外加 IO 扩展芯片进行辅助,该项
目使用的IO扩展芯片为 74HC165D,1个芯片可以扩展8个IO,并支持级联,仅需3个
IO 即可完成对16个按键状态的检测。
按键用于游戏控制或是控制其他设备(需自行配置),分别为上、下、左、右、X、Y、A、
B、Select、Start、LB、LT、RB、RT、左摇杆按键、右摇杆按键,全键无冲,支持多个
按键同时按下。
右摇杆右侧摇杆。
电源开关电池供电与充电控制开关,在电池供电和充电时需要置于 ON 档。
充电指示灯红灯亮绿灯灭:正在充电,红灯灭绿灯亮:已充满。
触摸键利用 ESP32-S3 内置的 Tounch Sensor,可以对人手触摸进行检测,以实现拿起唤醒/
放下睡眠的功能。
左摇杆左侧摇杆。
UART接口用于 UART 通信,便于开发者通过 UART 查看系统 LOG,方便调试。
充电芯片锂电池充电管理芯片:AP5056。

ESP32-S3-BOX-3-JoyStick-反面.png

主要组件介绍
18650锂电池为整个系统供电。
USB为锂电池充电和提供USB-HID功能。
震动马达用于提供震动反馈。

应用程序开发

ESP32-S3-BOX-3-JoyStick 共有两个摇杆,每个摇杆(其原理类似于可调电阻,摇杆在不同位置的电阻值不同,利用串联分压原理,通过检测得出的电压值即可推算出摇杆位置)需要使用两路 ADC 进行姿态读取,除此之外,摇杆内部还有一个薄膜按键可供开发者使用。

ESP32-S3-BOX-3-JoyStick 共有 16 个物理按键,每个按键“未按下时电平为高电平,按下为低电平”,由于 ESP32-S3-BOX-3 引出的 IO 口数量有限,因此该项目使用两个 74HC165D 并行转串行芯片,开发者通过三个 IO 口模拟 SPI 通信即可读取到所有的按键状态。

震动马达通过一个三极管(S8050)进行控制,开发者只需将一个 IO 口配置为输出模式,输出高电平马达震动,输出低电平马达不震动。

具体的引脚分配请查看 ESP32-S3-BOX-3-JoyStick 原理图。

相关文档 & 资源

代码ESP BOX 仓库

3D 打印件:见附件

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
Box_3_JoyStick_Case_231116.STL
79
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航