相信有很多朋友在入手 Switch 游戏机之前都是在玩电脑游戏,那么肯定有一部分玩家更习惯使用键盘而不是手柄操作。那么这时如何使用键盘玩 Switch 游戏呢?
首先,如果想直接将键盘连接在 Switch 游戏机或主机底座上是行不通的,那样直接连接的话键盘只能用于打字,不能用于游戏的操作。因为此时键盘和手柄按键之间缺乏映射关系,你在键盘上所按下的按键不能对应到手柄的按键上。
而补全这种映射关系就能解决问题了,比如像市面上出售的“键鼠转换器”或者内置“键鼠转换器”功能的特殊键盘。但这两种产品价格上比较贵,而且功能上也很局限。
在这个局面下,单片机就成了一个很好的解决方案。单片机价格便宜,而且可以通过编程扩展很多功能。
第一步 * 选择合适的单片机开发板
单片机又称微控制器 (MCU),是将单片机主机 (CPU、内存和 I / O 接口) 集成在一小块硅片上的微型机。具有三个优势 (集成度高、可靠性高、性价比高)。
单片机开发板是一种非常适合单片机学习者以及单片机工程师使用的一种硬件,在开发板上除了单片机芯片以外,一般还会配有各种 I / O 接口、传感器、点阵显示屏等“外部硬件资源”。
而选择一款合适的单片机开发板,一是要看单片机芯片的各种技术指标,二是要看开发板配备的“外部硬件资源”。
单片机的技术指标一般可以重点看以下四个方面:
-
字长: 例如 8 位、16 位、32 位
-
内存容量:例如 8K、64K、16M
-
运算速度(时钟频率): 例如 6MHz、12MHz、24MHz
-
内存存取周期:例如:50nS 、70nS
“而外部硬件资源”则是看开发板提供的接口以及传感器等,比如在一些比较复杂的项目中会用到较多的输入输出引脚,那这种时候就需要选择引脚较多的单片机开发板。
另外在实际的单片机项目中,成本是一个非常重要的考量因素。在单片机选用时往往会优先选择性能勉强够用,但性价比很高的型号。
最终在本次项目中选用了 Teensy++ 2.0 单片机开发板。
第二步 * 连接单片机开发板
对于一款陌生的单片机开发板,最快了解它的方法就是去官网查相关资料,这些资料包括但不限于引脚定义、各引脚所能承受的最大电压。
其实也可以从论坛获取相关型号单片机开发板的使用经验,不过论坛上的信息有些会存在一些错误,需要注意甄别。
以上为 Teensy++ 2.0 单片机开发板的引脚定义图,我们可以按照图上的引脚定义将单片机开发板与下载器等设备连接起来。
▲ 连接结果如上图所示
第三步 * 自己编程或者寻找可用的开源代码
单片机芯片是需要程序和代码来实现功能的,所以我们需要自己开发或者寻找可用的开源代码。
如果不打算自己开发全部内容,准备使用开源程序的话。建议在一开始选择单片机开发板时就考虑相关问题,同样的程序在不同型号的单片机上可能效果会不同。所以这种情况在最初选择单片机时最好直接选择原开发者所采用的单片机型号或是兼容型号,以免未来调试过程中出现麻烦。
最终在本次项目中选用了“伊机控”这款开源程序,以此为基础进行相应开发。
第四步 * 学习相应的编程语法
如果以开源程序为基础进行开发,则需要仔细阅读开源程序的说明文档。这些程序中会详尽说明开源程序所构筑的特殊语法、函数等内容。
“伊机控”的“简单语法”可以分成 6 个部分,分别为:注释、输出、按键、摇杆、等待、循环。
熟悉编程的朋友可能注意到了,即使仅依靠这六种语法就已经能构筑出一些自动化操作的指令了。
而在进阶部分还有例如:常量、变量、条件分支、逻辑运算、栈操作等更为复杂的语法功能。
在一些游戏中会有一些重复性的操作,比如刷道具、刷精灵。在人工刷道具的时候,其实操作也就是反反复复那几种。而使用了单片机后,这种步骤则可以通过单片机自动进行了。
第五步 * 安装驱动并烧录程序
单片机的下载器其实是一个很古老的电子产品了,因此在很多电脑上是需要手动安装驱动的。很多新手明明连接没问题,但插上就是没反应,原因也在于此。没有驱动的话,下载器是不能正常工作的。
而对于单片机的烧录一般需要用到单片机厂商提供的程序,Teensy++ 2.0 所用的就是 teensy.exe 进行烧录。
在完成烧录后我们就可以测试我们自己的代码功能了。