为巨轴制作一个底座

在一个月黑风高的夜晚,微信上弹出一条好友申请,附言ZF来的。加之。
来者跟我说,他手里有个巨轴,想改成回车键,问我能不能做。
我滴个乖乖,单键对我现在的水平来说,岂不是SO EASY?

数日后,收到巨轴。

第一感觉,恩,真的巨……快赶上人家的小拳拳了……



外观基本就这样了,接下来开始做主控。
巨轴主人的要求是,大键回车,然后有RGB灯光。
所以接下来要做的主控需要控制四个按键和RGB灯带。
四个按键中,一个大键回车,一个键层切换,两个RGB调节键。调节键根据键层的不同,可以调节RGB的色值、色温、亮度、动画模式和开关。
使用的开发板是Pro micro。
下面提到的网站,可能需要科学上网,请自备。
首先来到www.keyboard-layout-editor.com(之前有小伙伴说换了几个浏览器都打不开这个网站……所以,试试科学上网吧)

手动码一个按键配列,然后复制代码。

然后来到kbfirmware.com,将代码粘贴到方框中,然后点击Import。

跳转到这个页面,不用动。

来到PINS页面,根据Pro micro的针脚定义,设置针脚。注意要给WS2812那项分配一个针脚,负责RGB信号。

来到KEYMAP页面,一共设置了4个键层,每层的最上面都为回车键,保证巨轴的回车功能不受键层切换的影响。下面中间的键都是键层切换的键,并且设置成循环切换的,也就是0层切1层,1层切2层,2层切3层,3层切回0层。每层左右两个键的功能不同,0层色值调节,1层饱和度调节,2层亮度调节,3层,动画模式调节和关闭RGB。

来到SETTINGS页面,起一个名字。然后修改LED数量,不太确定最后要用到多少颗,先写个20,后面还能改。再点击Save Configuration,保存一个JOSN文件,如果后面还要修改,可以直接在主页那里点击上传,把这个文件上传上来,就能找回这些设置了。

最后来到COMPILE页面,点击Download .zip,得到一个juzhou.zip压缩包。(压缩包的名称与SETTINGS里设置的名称相同。)
解压并留好文件,一会儿用。

来到https://github.com/qmk/qmk_firmware
下载ZIP文件。
解压缩到C盘,讲文件夹改名为QMK。

复制上图所示的文件夹。

把NUMPAD20文件夹粘贴到上一级目录中,然后改名为juzhou。
也就是说,这次制作的巨轴的固件文件,要在这个NUMPAD20的代码基础上进行修改。

打开ATOM,添加两个项目文件夹。一个是刚才新建的那个juzhou文件夹,另一个是之前从kbfirmware.com上下载的ZIP解压后的文件夹。如上图红框为kbfirmware.com下载的文件,篮筐为QMK文件夹中的文件。
编辑代码的原则就是以QMK文件中的juzhou为基础,以KBF下载的文件为素材,将其中可用的代码复制到QMK文件这边。
由于名字起重了……所以下文用蓝框juzhou代表QMK文件夹中的文件,用红框juzhou代表kbf上下载的文件……
对比截图中,左边为QMK文件夹中的文件,右边为KBF下载的文件。

首先,打开QMK文件夹中的rules.mk。

根据使用的开发板类型,修改启动方式,通过灰色注释文字可以看出,Pro micro对应的是caterina。
第20和21行,查了下QMK官方文档,没太懂,猜测是扫描矩阵用的吧……KBF上下载的文件中,这两条是关闭的,所以也关了吧。
第31行增加开启RGB灯光的代码。
保存关闭。

将QMK文件夹中,两个名为NUMPAD20的文件,改名为juzhou。

打开juzhou.c,讲第一行中对应的代码改为juzhou.h。
保存退

打开juzhou.h和kb.h。修改两个NUMPAD20为JUZHOU,将KB.h中键值的代码复制到juzhou.h里,注意保持格式,不要多或者少括号之类的符号。

修好以后如上图,保存关闭。

打开两个文件夹中的config.h,根据自己喜好编辑设备信息(27-29行,黄字后面的部分),替换行列数(第32、33行),替换针脚编号(45、46行)。

往下拉,将RGB设置代码复制过来。
关闭保存。

打开两个keymap.c,将左边[0]=layout下面的键值替换成KBF上下载的键值。然后复制这段代码,将中括号中的数字分别改成123,再将对应层的键值覆盖过去。复制过去的同时要注意原有格式,不要多标点或者少标点。如左侧第22行的括号后面,没有逗号,而上面每个键层最后的括号后面都有逗号。
保存退出。
关于MSYS2的安装和配置,可以搜一下网上的文章,有介绍。

打开MSYS2,输入cd空格斜线C斜线QMK,回车。

输入make空格juzhou冒号default,回车。

一长串绿色OK以后,固件就压好了。

固件文件保存在QMK文件夹下,点build文件夹中,juzhou.hxe就是。
至此,一个巨轴带RGB灯光的主控固件就编好了。下面将这个固件刷入Pro micro中。

来到https://github.com/qmk/qmk_driver_installer/releases
下载最新版QMK驱动qmk_driver_installer.zip。

解压后,以管理员身份运行install_all_drivers.bat
等待安装结束后,窗口会自动关闭。

来到https://github.com/qmk/qmk_toolbox/releases
下载最新版的qmk_toolbox.exe

运行qmk_toolbox.exe,双击一次就好,程序启动有点慢,等一会儿就会出来了。可能会询问是否安装驱动,选择“是”。

然后等待安装窗口运行完毕,这个窗口会自动关闭。
讲开发板连接到电脑上,最好使用USB2.0接口。

选择之前生成的固件,开启开发板的恢复模式,然后点击Flash,顺利的话就会刷写成功。
关于刷写的详细操作流程,可以看我之前那篇改装路透社小键盘的帖子。
至此,一个键盘主控就制作完毕了,下一步是制作底座外壳。
根据实际测量得到的数据,用3DS MAX进行建模,外壳造型走简洁风,主体为巨轴,下面放置三个调节按键,就行了。

基本建模就是这样的了,说着比较简单,其实也是反复琢磨了几天才把模型做的比较满意。为什么要把软件窗口都截图哪?因为显得专业……哈哈哈

然后打印出来……打印了十几个小时。由于内部有RGB灯光,所以使用了半透明耗材。不过半透明的PLA耗材的透光率,其实也不是很高。

给轴体接上二极管。

将RGB灯带绕场一周。灯带本身有背胶,所以比较好固定。灯带的型号是ws2812,一搜一大堆。

贴好灯带以后,要根据实际使用的灯珠数量修改一下代码,之前写的是20,实际用了13颗,所以改成13.

由于Pro micro的micro接口逼格不如type-C高,当然也不如TPYE-C方便,所以做一小段转接线,把接口转成TYPE-C。从我祖传的神奇百宝柜里翻出了一根NOKIA数据线的接头,别问我为什么闲着没事剪数据线玩……我不会说是因为那根线被我改成苹果接头的了……

一点点剥去插头的外皮,我发现了Nokia干不下去的原因了。一根数据线,至于做的跟保险柜一样吗!?!?

费了九牛二虎之力,终于算是把胶都剔干净了……拍张照,以防忘记线序。标准的USB四线配色。

接好线以后,放入外壳中,尺寸刚刚好,接口出线的方向后来改成了向上弯曲,以免遮挡临近的RGB灯珠。
然后按照上面编辑的针脚定义,将对应的导线焊接到开发板上。接的晕头转向的,所以忘了拍照了……

记录一下历史性的一颗,巨轴上锡!

通电测试,由于盖上轴体以后,不太容易拆下来,所以一定要全部测试好以后再盖上。

这里由于接线接懵了,所以二极管的针脚搞错了,又回到代码那里改了下二极管的方向。把之前的C2R改成了R2C。
每次修改代码以后,都要保存,然后用MSYS2重新生成固件,并使用toolbox重新刷入。
测试好按键功能都没有问题以后,把轴体盖上,大功告成。


装上键帽。






上面是几个单色的效果,QMK还内置了一堆灯光动效,由于这个固件的功能比较简单,所以有足够的空间可以将所有预设的灯光动画都存储进去。
最后最后,放上RGB灯光效果演示视频吧。

