华为天才少年稚晖君做了一把模块化机械键盘,引起极客圈地震,网友:这才是真正的客制化

华为天才少年稚晖君做了一把模块化机械键盘,引起极客圈地震,网友:这才是真正的客制化
文章图片
顶级创客花108天打了个字 。 作者|王玥、李梅编辑|陈彩娴他来了他来了 , 一人顶一个团队的稚晖君又一次带着一项硬核(虽然他强调是“软核”)黑科技来了!
稚晖君 , 真名彭志辉 , 三次元身份是华为于2020年招募的天才少年 , 二次元身份却是B站硬核科技UP主 , 坐拥100多万粉丝 。
稚晖君最为人称道的是软件硬件机械一通到底 , 亲手落地实操过多个高人气项目 。 他的历史投稿「造了一台钢铁侠的手臂」、「把自行车做成了自动驾驶」、「做了个能动的电脑配件」等均吸引了大量极客 , 每次整新活都能get数十万次「一键三连」 。
而这次稚晖君带来的新项目则是:一把完全客制化、带屏幕模块的机械键盘!
1键盘本身的性能既然是客制化 , 稚晖君想要最大限度发挥自己的设计自由度 , 于是 , 他从头设计了键盘电路硬件以及固件代码 。 没错 , 不只是换壳 , 是真的完全客制化!
基于移位寄存器的电路先从电路硬件说起 , 怎么检测某个按键是否被按下了呢?
很简单 , 中学物理告诉我们 , 每个建轴是一个独立的开关 , 按下和弹起会分别导通0和1 , 控制器芯片就可以检测按键的高低电平 。 但是......现实没有这么简单 。
一个键盘有大约100个按键 , 要是给每个按键都接一根导线到MCU的引脚 , 就需要100多个引脚 , 这也太浪费了 。 有解决办法吗?有 , 用矩阵键盘形式来检测按键就可以了嘛 。
但这样一来 , 按键之间就存在耦合 , 所以会出现「鬼键」现象 。 有解决办法吗?当然还是有 , 我们可以在每个按键下面添加一个二极管来防止误触发 。
然而 , 问题又来了 。 我们在设计PCB的时候 , 一般都要做减震处理 , 在PCB建轴之间挖出很多长槽 。 但矩阵键盘和一堆二极管的模式会导致PCB的走线变得非常麻烦 。
有解决办法吗?稚晖君说有 , 而且是一个完美方案:使用移位寄存器来实现按键扫描 。
华为天才少年稚晖君做了一把模块化机械键盘,引起极客圈地震,网友:这才是真正的客制化
文章图片
华为天才少年稚晖君做了一把模块化机械键盘,引起极客圈地震,网友:这才是真正的客制化
文章图片
具体来说 , 基于移位寄存器的并行输入、转串行输出功能 , 把每个按键都看作是寄存器的一位 , 那么每加载一个时钟信号就可以依次读出每个按键的状态 。
这种方案不仅非常节省IO , 而且扫描速度极快 , 理论上每秒能扫描5千万个按键 。 再来 , 褪下二极管 , 电路也变得极其简单 。 网友直呼:碾压行业!
全新固件将客制化进行到底 , 稚晖君还自己开发了一套键盘固件!
目前市面上绝大多数客制化键盘都是使用QMK、ZMK这样的开源固件 , 为了适配更多的键盘型号 , 它们的代码通常都很臃肿 。
而稚晖君开发的这套固件 , 基本上把全速HID设备的性能都拉到顶了 。
华为天才少年稚晖君做了一把模块化机械键盘,引起极客圈地震,网友:这才是真正的客制化
文章图片
1KHz的回报率 , 1毫秒的超低延迟 , 超高刷新率的全按键独立RGB灯控制 , 支持Bootloader更新固件等等 , 简直梦中情键了 。 稚晖君表示 , 这套固件的代码会开源给大家~
说了这么多 , 这键盘到底长啥样呢?
稚晖君的老粉都知道 , 在之前的自行车、机械臂项目中 , 外壳零件都是up主@Xikii厂长帮助加工的 , 而这次的客制化键盘恰巧就是Xikii的老本行 。 稚晖君这款键盘的工业设计便是基于之前Xikii发布的S98键盘修改而成 。
全貌长这样:
华为天才少年稚晖君做了一把模块化机械键盘,引起极客圈地震,网友:这才是真正的客制化