RYMCU

「0成本」DIY 一个蓝牙游戏手柄简易流程

机智Simon 2 年前
# 游戏手柄 # 蓝牙

所属作品集

前言:

相信经典红白机的记忆仍然在 80、90 后的记忆中,小时候拆游戏手柄的时候会看到里面绿色的电子电路板,那今天我们来 DIY 一下 RW007 蓝牙游戏手柄的电子电路板子怎么做,主要因为 RW007 支持 BLE 啦。

自制板子的条件

1、性能较好的电脑,能运行 AD、PADS 或者其他画板软件

2、焊锡、各式电烙铁

3、弯头防静电镊子,如果要焊芯片要用到热风枪、松香、助焊剂

我们开始,先画一个板子的电路图。

@ND5N{OLS5M666X[XO]19E2.jpg

要做一个仿古的手柄要分几个步骤

①、设计雏形,在网上寻找合适的工厂,把画的板子打样打出来,有很多人买东西都上淘宝,其实不怎么推荐,或者质量不行,或者价格太贵。而且现在也有很多免费的打样平台,找了好几家都留了联系方式,因为现在普通的游戏手柄价格差不多 100 左右,0 成本做成才有意义。然后在板子还没出货的时候,用了一块开发板,然后杜邦线连接,连线插针扎手,花了好些功夫,有点费手。不过效果不太好,主要不是那种典型的手柄样式,没有握感。

另起炉灶,用 AD 画了板子,跟客服这边沟通了好一会,做一个平整光滑的“手柄形状”的 PCB 板,这块板子。方向键 +AA、BB、A、B,完美。打板找到了捷配,主要是免费面积还大。

image.png在家弄好设备,不到 3 天,PCB 到了,还没来及焊接,先上个谍照吧!

image.png

②、板子就绪,主控芯片安排
| 参数 | 叙述 || ------ | ------ ||
型号 | FR8012 乞丐版 ||
版本 | 蓝牙 5.1 ||
内核 | cortex-m3 ||
时钟频率 | 48Mhz || RAM | 48K || FLASH | 256KB ||
封装 | SOP-16 ||
系统 | rt-thread 民间移植版 |

技术难题 这个蓝牙游戏手柄,其实蓝牙通讯,如何匹配倒没有花费很多的精力,或许因为通讯那部分比较成熟,拿过来使用就可以了。另外有很多小伙伴私下帮了不少忙,顺利的调通了无线通讯协议部分。主要遇到的难点是引脚不够,比较紧张。如图:

4.png方案过程中的反复调试过程:

1 、PA2,PA3 烧写调试,无法做按键输入使用。PASS。
2、 采用 ADCKEY 方式,分析因为手柄支持组合按键,该方案 pass。
3、 剩下 5 个引脚,其中 PD4,PD5 做摇杆 ADC 通道采集使用,只剩下 3 个 GPIO 了,PC6,PC7,PD5.如果对地设计按键,只能设计 3 个了.
4 、游戏手柄除去 4 个方向键,目测还有 select,start,A,B,AA(连发),BB(连发)6 个键值。4 有点脑瓜疼!谁让我们用的是 SOP-16 封装呢?想办法,办法总比困难多。这 3 个 GPIO 分别 ADC0,ADC1 做矩阵,时分复用能否可行?
5、 细思量后发现一个极其恐怖的问题,手柄是支持组合按键的,如果玩家方向键与 A 键同时按下,会发生很严重的过流问题。是坚决不能允许的。
6 、串联过流电阻,最终解决了问题。

3.png③、工作原理
1、 先将 5 个引脚关闭上拉,配置输入方向,配置 ADC0,ADC1,获取 4 个方向数值。adc 关闭转换结束。

2 、将 5 个引脚配置 GPIO,并且上拉有效。
2.1 配置 PD4 方向为输出,并且输出 0.
2.2 分别读取 PC6,PC7 引脚电平值,作为 SELECT,START 键值.
2.3 配置 PD4 方向输入,上拉有效,配置 PD5 方向输出,并且输出 0
2.4 分别读取 PC6,PC7 引脚电平值,作为 AA(连发),BB(连发)键值.
2.5 配置 PD5 方向输入,上拉有效,配置 PD6 方向输出,并且输出 0
2.6 分别读取 PC6,PC7 引脚电平值,作为 A,B 键值
2.7 配置 PD6 方向输入,上拉有效。J 结束。- 焊接成品

外壳部分准备去淘宝套一个 3D 打印,但出于成本考虑,同样会在网上薅一些免费的 3D 打印的机会,未来工厂 3D 打印质量还行就是价格有点小贵,有群友说捷配之前有 3D 打印免费券,不过要付邮费,但是现在没有。

先这样裸奔吧,等找到合适的价格便宜的外壳打印再给他安排,有想过自己打印,但是设备采购花钱让人肉痛。目前为止,都是用现成的元器件和薅的板子,按钮,四舍五入下来约等于 0 成本。感谢让我低成本完成项目的捷配 PCB 打样和已经失去的 3D 打印。查看链接

2.jpg继续等外壳,下期告知结果。

所属作品集

后发布评论