模拟摇杆板

木易
转载
发布时间: 2025-06-09 22:46:50 | 阅读数 0收藏数 0评论数 0
封面
JOYCON 板设计用于对涉及按钮或操纵杆的任何项目进行原型设计,适用于面包板,并配有按钮和模拟摇杆。 制作该板的目的是使用 ESP32 微控制器来构建游戏控制器。 目标是创建一个可以在进入下一版本之前进行测试的电路板,其中将包括一个带有按钮和操纵杆的 ESP32 Wroom 微控制器。

准备工作:

材料:

材料名称
数量
备注
模拟遥控杆
1
切换按钮
1
公头针连接器
1
面包板
11
ESP32
1
跳线
1
1

PCB设计

Joycon 板是一个简单的 PCB,可作为按钮和模拟摇杆的分线板。

每个按钮都连接到接头引脚和 GND,并以下拉配置工作。此外,操纵杆的模拟引脚与 VCC 和 GND 相连,所有电位器的中间引脚也与接头引脚相连。

一个 24 针接头连接器用于将该板安装到面包板上,连接每个按钮。

该键盘的设计也很简单,左侧方向键上有四个按钮,右侧方向键上有四个按钮,另外八个按钮位于中央。

此外,两个模拟操纵杆位于控制板的左侧和右侧,位于 D-Pad 的正上方。

2

电路板组装

要开始组装电路板,我们首先在 PCB 上单独安装每个按钮和模拟摇杆

然后我们翻转电路板并使用烙铁连接所有按钮的焊盘。

在再次翻转电路板之前,我们将一个接头针连接器连接至底部。

使用烙铁,我们将接头针脚焊盘焊接在电路板的顶部。

最后,我们在两个操纵杆上添加模拟操纵杆拇指盖。

3

组装结果

这就是组建完成后的情况。

我们可以利用这种配置来控制伺服电机之类的东西或创建游戏控制器。

4

测试

考虑到该板是一个按钮分线板,我们可以用它来控制LED,甚至读取按钮按下情况。

#include <Servo.h>

Servo myservo; // 创建伺服对象来控制伺服

int potpin = A0; // 用于连接电位器的模拟引脚
int val; // 用于从模拟引脚读取值的变量

void setup() {
myservo.attach(6); // 将引脚 9 上的伺服器连接到伺服对象
}

void loop() {
val = analogRead(potpin); // 读取电位器的值(值介于 0 到 1023 之间)
val = map(val, 0, 1023, 0, 180); // 缩放它以与伺服器一起使用(值介于 0 到 180 之间)
myservo.write(val); // 根据缩放值设置伺服器位置
delay(15); // 等待伺服器到达那里
}

通过读取操纵杆的电位器值并根据该值调整伺服位置,我们甚至可以使用操纵杆来驱动伺服电机。

5

游戏控制器实现-ESP32游戏控制器

这是使用该开发板的绝妙方法: 使用 ESP32 开发板和一些跳线制作无线游戏控制器。

按照上面所示的电路,我们将 ESP32 连接到 Joycon 上的每个引脚。

总共使用 12 个按钮,包括 2 个模拟摇杆按钮和 10 个常规按钮。

此外,3.3V 和 GND 分别连接到 VCC 和 GND,为模拟摇杆电位器供电。

6

编码实现


TXT
code.txt
7.47KB
7

结果

该游戏目前正在通过蓝牙使用游戏控制器进行游戏。

我们必须为该控制器提供 5V 电源才能连接它。

一旦 ESP CONTROLLER 通过蓝牙连接到我们的智能手机,我们就可以加载任何接受控制器输入的游戏并使其立即运行。

该控制器存在一些问题,可以通过对代码进行小幅修改来解决,这是以后的项目。

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载