5

在Switch上使用Arduino Uno R3开发板模拟手柄按键连发

 2 years ago
source link: https://alanxiuxiu.github.io/2018/05/28/Arduino-uno/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

在Switch上使用Arduino Uno R3开发板模拟手柄按键连发

发表于 2018-05-28

| 分类于 游戏

在Switch上玩异度之刃2,给异刃喂食加羁绊度的过程实在是太痛苦了,需要不停地按A键,费时间还伤手柄。给买不起连发手柄的你推荐DIY单片机模拟连发,希望入手异度之刃2的同学能自己动手丰衣足食,早日把异刃都升级到SS信赖度。

  1. Arduino Uno R3开发板,以及专用数据线 (淘宝网上购买只需30RMB左右,比市面上的连发手柄便宜太多)

注意一定要买这种左上角橘色方框里带6个插针的

  1. 一个Type-C转USB的OTG转接线,一头是Type-C插NS底下的充电口上,一头插USB数据线
  1. Arduino IDE(用于安装Arduino驱动并测试开发板功能)
    百度云盘链接    密码:9r81

  2. Flip(用于给Arduino写入A键连发固件)
    百度云盘链接    密码:tc6l

  3. A键连发固件(Joystick.hex 每200ms按一次A键)
    百度云盘链接    密码:0xlp

具体实现步骤

安装Arduino IDE及驱动

安装Arduino-windows.exe

打开刚刚安装的Arduino IDE,插上Arduino开发板

文件->示例->01.Basics->Fade,弹出新窗口;

接着在新窗口工具->开发板->Arduino/Genuino Uno

然后工具->端口->COM3

最后,按下左上角”√”右边的的->键,程序就会写入Arduino,开发板上的灯会闪烁。等写入完成后,板子会亮起一个呼吸灯,到这里说明驱动和板子都是正常的,可以进行下一步。

安装固件写入软件Flip

安装JRE-Flip-Installer.exe,记住安装位置。安装好之后,把Arduino开发板拔下来重插,然后找一个金属物品,剪刀或者钥匙什么的,用金属物体短接(就是短暂接通)下图所示板子上离USB接口最近的两个插针。

如果接通成功,板子灯会闪,电脑也会有设备拔出和重新插入的提示音,这时候Arduino即进入DFU模式,可以写固件了。

这时候,在我的电脑右击,点击管理->设备管理器,应该会发现一个打着感叹号的未知设备,在这个设备上右击,点击更新驱动程序,选择浏览计算机以查找驱动程序软件,然后选择刚才安装Flip的文件夹\Flip 3.4.7\usb并勾选上包括子文件夹,点击下一步,如果没问题的话就OK了。

给Arduino写入固件

先把板子拔下来重插,然后再次短接那两个插针,这时候电脑有提示音设备插入,设备管理器也没有未知设备了。打开安装的Flip软件,按照图示选择ATmega16U2

然后,按下Ctrl + U,出现提示框,点击Open后板子会闪,如果没有提示错误,那么就连接成功。

接下来在弹出的文件浏览器中选择A键连发固件Joystick.hex,注意这个hex文件应该放置在纯英文目录下。

然后勾选这4项,点击Run,然后会弹出进度条,速度很快几秒钟,那四个选项前的灰点变绿,说明一切OK至此开发板的准备已经完成。

在Switch上进行测试

在NS系统设置中选择Controllers and Sensors->Test Input Devices->Test Controller Buttons,这时候用OTG转接器把Arduino插入NS底部充电口,板子上的灯亮起,过几秒钟,就会看到输入了一串A键,测试成功!

该项目的开源HID库:https://github.com/progmem/Switch-Fightstick

工具包中附带的Joystick.hex其实是已经编译好的二进制程序,只有A键连发的功能,每200ms左右按一次A键,足够满足异度2刷信赖度的需求。

另外,目前尚不清楚使用这个设备是否会带来BAN机、烧机、毁档等一系列副作用,本人是正常使用的。因为从原理上来讲,并没有不妥之处,与第三方手柄的连发功能原理相同,但是也不能保证没有问题,造成的一切后果大家需要自己承担,如何取舍看大家自己的考虑了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK