在家进行硬件升级:入侵Nintendo Joy-Con控制器
通过手术植入3D-Touch电容式触控板来代替原始的模拟操纵杆。
前言
到了2020年,在大流行的无聊中,要想摆脱创造力的压倒性生存并非易事 。 但是……当您意识到自己拥有一个内部装有大量电子设备的工具箱时,以不同的方式看到摆在桌上的相同旧物件并不难。 我的Nintendo Switch就是这种情况:以前我从来没有拆过Joy-Con控制器的机会。 把手伸进去,开始新的旅程,这真是一个绝佳的机会。
“好吧,让我看一下互联网,如果有人像马一样疯狂,有个疯狂的主意,那就是用电容性触控板替换旧的模拟摇杆。” —未找到结果。
MacGyver批准。
阶段0
我习惯于在记事本上草绘想法,这是我的第一幅画,是关于我如何用电容式触控板代替原来的模拟游戏杆来想象Joy-Con。
“优点”要点中最好的是NO-DRIFT声明。 如果您在这里,可能您已经知道某些Joy-Con控制器受到Joystick Drift的困扰。 想一想:没有操纵杆=没有漂移。
阶段1
首先,如果您不对透明的酸性绿色材料着迷,那么您不是一个真正的书呆子。 因此,为了在Joy-Con上穿上新衣服,在Bezos网站上键入了几次击键。 卸下外壳并不复杂 ,这里唯一困难的部分实际上是如果有大手的话,要轻轻地处理一把镊子。
模拟操纵杆不是一个复杂的实体-实际上,它是一个2通道电位器加一个按钮-并且通过5位置,间距为0.5mm的FPC连接器连接到主板。 我订购了具有相同规格的扁平扁平带状电缆 ,以将信号带出电路。
然后,我重新组装了Joy-Con,并直接用Switch对其进行了测试,以检查一切是否正常。
好了,我必须用数字电位计代替模拟电位计。
阶段2
为了以更清洁,更和平的方式进行工作,我在KiCad中绘制了几个组件的原理图, 导入了它们的封装,并为其设计了一些分线板。
我选择测试具有不同价格和性能范围的各种数字电位计,以及用于扁平电缆的连接器(一个用于模拟操纵杆输入,一个用于电容触控板输出)。 我命令他们在网上花几美元。
一周之内,我从最喜欢的PCB经销商处收到了包装。 随着锡膏的散布和热风枪的工作,分线板已准备就绪。
现在该执行一些测试了。
第三阶段
不可避免地要说一个Arduino ,一块面包板和一堆跳线会帮助协调整体。
整个测试设置涉及:
- [0] 1个微控制器
- [1] 2 x 12位电压输出数模转换器(通过I2C连接)
- [2]用于模拟游戏杆的1 x 5位置0.5mm间距FPC连接器
- [3] 1 x 5位置0.5mm间距FPC柔性扁平带状电缆
- [4] 1 x 12位置0.5 mm间距FPC连接器,电容式触控板
- [5] 1 x 12位置0.5mm间距FPC柔性扁平带状电缆
- [6] 1个数字3D-Touch电容式触控板(通过I2C连接)
在我开发和测试的所有数字电位器中,我选择了最适合,成本更低且不可避免地完成工作的数字电位器。 第一步是检查所有组件的接线,营养和响应是否正确。 我将标准的i2c_scanner示例闪入了开发板,结果取得了成功。
只需几行代码,就可以初始化I2C总线上的DAC和电容式触控板 ,然后我专注于实施一种有效的策略,以探索数字电位计如何模拟原始X轴和Y轴模拟操纵杆。
由于DAC的分辨率为12位,因此它们接受的值范围为0到4095,因此我以10的步长将其传递给循环。
在Switch控制台上,我从主要设置中启动了Control Stick Calibration工具,以查看是否会发生某些情况。
电容式触控板是一种有趣的电子产品,以非常小巧的通用型外形承载。 令人惊讶的是,它还提供了2048 x 1535 x 63(X x Y x Z)的惊人分辨率-是的,它具有63级的压力敏感度(我将在稍后利用此功能以数字方式模拟按键模拟操纵杆)。
隐含地说,第二步是实现体面的映射,以匹配电位计的分辨率。 幸运的是,Arduino提供了map方法的帮助,因此几乎可以立即获得不错的结果。
关于pushStick(); 方法调用指令,因为Joy-Con侧的相应引脚处理简单的闭路逻辑,所以我可以通过代码模拟按钮按下。
凉。 在我看来,第一个原型的最终结果很有希望。
第四阶段
好的。 我们在这里有一架飞机,现在让它飞行。
我想到的下一步是创建第一个原型的嵌入式且可移植的解决方案。
我决定从UNO切换到采用更小封装的PRO MINI,并构建一个可以将其与所有连接器和数字电位计一起容纳的电路板。 为了保持较高的优化水平,我发现可以用同一系列的双通道DAC代替两个单通道DAC,从而节省了PCB上的空间。
我启动了我忠实的KiCad,绘制了原理图,然后将所有组件按照强制性(混乱)的顺序放置在它们的位置。
5期
快递员像往常一样守时,将绿金与其他组件一起携带。
同样的仪式。
焊锡聚会。
用数字万用表进行测试。
6期
PRO MINI需要补充:我直接从主板上偷走了所有所需的毫安,从一个未被覆盖的焊盘上吸走了它们。
主要想法是使用专业的双面胶带将电路板直接粘贴到Joy-Con的背面,在塑料外壳上打一个Kong,然后将所有电缆穿过其中。
7期
电容式触控板从其原始包装中裸露出来,因此我必须自己设计和开发3D外壳。 Tinkercad在这种情况下非常方便:通过添加和减去几个基本形状,可以很好地完成工作而不会出现复杂性。
在与Cura快速切片之后,经过了几分钟的等待时间,然后3D打印机催生了新生婴儿。
超。 它非常适合第一次拍摄。 我必须说,所使用的长丝很好地保留了机械性能。 干得好FILOALFA 。
8期
由于用于补充PRO MINI的电源直接取决于Joy-Con的电池,因此我决定增加一个小开关,以便在不使用时关闭植入物,从而避免了多余的消耗。
安全第一:我用一块好的Kapton胶带覆盖了所有裸露的电子设备,以免手出汗时使任何东西短路。
最后结果
现在我们开始。 最终就是这样。 它仍然是便携式的,因此可以连接使用它或以无线模式使用。
让我们来看看它的作用。
享受世界上第一个带有3D电容式触控板的Nintendo Switch Joy-Con控制器。
下一步
更认真地做事:在我的计划中,有一个想法是使整个电路小型化,以便创建一个较小的PCB,该PCB可以直接适合Joy-Con控制器内部,以代替Analog Joystick小盒子(大约19 x 16 x 4 mm)。尺寸。
如您所见,该工作已经在进行中。
我知道这可能会引起一小部分狂热者,改装者和游戏玩家的兴趣,但是它的硬件和成本却很高。 这个项目意味着大量的工作,在您的支持下,我很乐意做。
如果有市场需求,我很乐意为您提供第一笔小批量开发的资金,您可以在未来的将来从Tindie购买。
这显然是号召性用语。 如果您想使这个Joy-Con Touch Mod-Kit成为现实,请捐赠 。
先前发布在 https://medium.com/@matteo.pisani.91/how-i-hacked-nintendo-joy-con-controller-8ac22d75b0b8
翻译自: https://hackernoon.com/hardware-upgrades-at-home-hacking-nintendo-joy-con-controller-yuba3w6n
在家进行硬件升级:入侵Nintendo Joy-Con控制器相关推荐
- SQLSERVER 2012之AlwaysOn -- 一次硬件升级引发的问题
原文:SQLSERVER 2012之AlwaysOn -- 一次硬件升级引发的问题 这是上周遇到的一个案例:对已有的硬件进行升级而引发的问题,期间还触发了一个比较严重的BUG,可谓多灾多难:不过值得庆 ...
- ESX Server硬件升级步骤
ESX server硬件升级步骤整理如下: 1. 建立好整个虚拟架构,将拟升级的esx server上的虚拟机通过VMotion技术零宕机迁移到Cluster中的其他主机上运行. 2. 检查esx s ...
- mac硬盘故障升级系统_硬件升级:如何安装新硬盘,第2页,故障排除
mac硬盘故障升级系统 Last week we took a look at some of the basics to installing and upgrading a hard disk i ...
- 为全面硬件升级做好准备 鑫谷开元T1全塔机箱评测
▼前言 作为一个新手图文作者,奶爸大多数时间都是使用用笔记本+手机码字,台式机基本没在用,不过最近因为有学习视频制作的想法,工作室确实有一台几年前的老旧主机,除了硬件过时外没什么大毛病,但因为使用率低 ...
- 电脑硬件升级完全解决方案2
其次,在选择要升级的部件时,用户还必须要注意一点,那就是自己待升级硬件与新部件之间能否匹配的问题.比方讲,您原来机器上可能是装的是老式的SLOT 1接口的PII芯片,如果您打算升级CPU,而没有升级主 ...
- Dell inspiron 7580硬件升级_更换电池加内存条移动硬盘
文章目录 前言 硬件升级 确认硬件型号参数 拆机验证 硬件更新 后记 前言 手上的笔记本[Dell inspiron 7580]用了几年了,还是刚上大学的时候买的,现在感觉这个配置用起来有点吃力了,稍 ...
- 电脑硬件升级完全解决方案-1
所谓电脑升级,简而言之就是在您电脑硬件.软件原有的基础上进行进一步的更新改造,而这种改造又是以提高您当前电脑的性能,如运行速度.工作稳定性.应用兼容性等方面为目的的.随着摩尔定律的周期越来越短,原来1 ...
- Lenovo 拯救者15ISK硬件升级
文章目录 1.升级前 1.1.15ISK笔记本配置 1.2.15ISk升级前的状态 2.挑选配件 2.1.选择内存 2.2.选择固态硬盘 3.拆机安装 3.1.拆机安装配件 3.2.安装系统 3.2. ...
- t460p加固态硬盘 thinkpad_不仅是硬件升级!ThinkPad T460p评测
原标题:不仅是硬件升级!ThinkPad T460p评测 ThinkPad旗下的T4x0p系列产品一直是追求性能的小黑粉丝们非常关注的一款产品,ThinkPad今年正式推出了最新的T460p商务笔记本 ...
最新文章
- android 8.0可以实现后台包活么,Android 8.0 应用保活实践 · Jaqen Ng
- 你会不会用mysql查询近7个月的数据?没有记录默认为空
- 表示层 业务逻辑层 数据层(UI BLL DAL)
- startos 5.1 如何 root 登陆
- 在.NET开发中的单元测试工具之(1)——NUnit
- python能print中文吗_python怎么print汉字
- 哈佛博士生经验分享:10种方法让你在读博阶段更加轻松愉快
- 安装oracle需要多少内存,针对大型内存配置的 Oracle VM 安装需要更多步骤 (7195262)...
- 【算法设计】最大子段和问题解析(对应算法第三题)
- 2021深圳杯数学建模D题---基于DDPG算法的微分博弈问题(思路及代码)
- vue图片懒加载 以及 页面刷新加载不显示大括号{{}}
- ASP.NET WEB介绍
- 什么是同源策略,为什么浏览器要使用同源策略
- 身高体重排序-华为OD
- B. Boboniu Plays Chess(手速)
- 最新ncRNA数据库大全(含TCGA、ceRNA、exosome等)
- Java API常用package介绍
- 解决python版本和Windows版本不兼容的问题
- 单细胞转录组分析R包安装
- Vue 前端代码风格指南、代码规范
热门文章
- 实现类似于头脑风暴的小游戏
- 使用python进行贝叶斯统计分析
- CCS使用教程05:CCS8.0常用菜单
- 重磅 | 推荐一款技术人必备的写作神器 (支持多平台博客群发)
- 【软件测试】使用python快速生成系统测试报告
- Mac 卸载Paragon NTFS
- LEDE/Openwrt 打印机插件 CUPS,在WIN10下添加打印机(打印机连接路由器进行远程打印)
- UG编程,简单六步让你学会三坐标编程
- 【代码审计】iCMS_v7.0.7 keywords.admincp.php页面存在SQL注入漏洞分析
- 联合使用Hetval和USDFLD模拟三维编织复合材料冲击损伤生热