关注、星标公众号,直达精彩内容

文章内容出处:稚晖君

自称“鸽王”的稚晖君终于更新啦。这次他带来的新项目则是:一把完全客制化、带屏幕模块的机械键盘!

有网友表示,稚晖君的这个新项目,为键圈乃至整个键盘行业提供了新的设计思路,甚至有望改变目前客制化以换壳为本的囧境。

稚晖君表示,在客制化的圈子里,一般都是以工业设计为大头,软硬件方面都是采用现成的参考设计和开源固件,但稚晖君想要最大程度的开发自由,于是他从头设计了键盘电路硬件以及固件代码。

从电路硬件说起

键盘电路的硬件原理很简单,就是一堆开关,每个键轴就是一个独立的开关,按下导通为0,弹起为1,通过控制器芯片就可以检测按键的高低电平,就可以知道某个按键是否被按下。

但是......现实的情况却比理论上复杂一些。

一个键盘有大约 100 个按键,要是给每个按键都接一根导线到 MCU 的引脚,就需要 100 多个引脚,浪费且不显示。因此市面上的键盘都是采用矩阵键盘形式来检测按键。

例如对于4行X4列共16个按键组成的矩阵,单独链接的话需要16个IO,而举证扫描只需要8个IO。

但这样就遇到了第二个问题,矩阵扫描的方式设计电路,按键之间不再是独立链接,存在一定的耦合,所以会出现“鬼键”现象。稚晖君表示我们可以在每个按键下面添加一个二极管来防止误触发。

第三个问题是,为了提升键盘的手感,在设计 PCB 的时候需要做减震处理,在 PCB 建轴之间挖出很多长槽。但矩阵键盘和一堆二极管的模式会导致 PCB 的走线变得非常麻烦。

有解决办法吗?稚晖君使用移位寄存器来实现按键扫描。

具体来说,基于移位寄存器的并行输入、转串行输出功能,把每个按键都看作是寄存器的一位,那么每加载一个时钟信号就可以依次读出每个按键的状态。

这种方案不仅非常节省 IO,而且扫描速度极快,理论上每秒能扫描 5 千万个按键。再来,褪下二极管,电路也变得极其简单。

基于高性能的ARM主控开发了一套键盘固件

目前市面上绝大多数客制化键盘都是使用 QMK、ZMK 这样的开源固件,为了适配更多的键盘型号,它们的代码通常都很臃肿,扩展性能也不好,因此稚晖君基于高性能的ARM主控开发了一套键盘固件,基本上把全速HID设备的性能都拉到顶了。

在固件中实现了HID设备枚举,1KHz 的硬实时报文以及1ms的超低延迟,超高刷新率的全按键独立 RGB 灯控制,支持NKRO也就是所谓的全键无冲,添加每个按键独立的滤波算法,支持Bootloader更新固件,支持多层键位映射配置等。稚晖君将这套固件的代码进行了开源。

外观设计基于Xikii 的 S98 键盘修改

稚晖君的老粉都知道,在之前的自行车、机械臂项目中,外壳零件都是 up 主 @Xikii厂长帮助加工的,而这次的客制化键盘恰巧就是 Xikii 的老本行。稚晖君这款键盘的工业设计便是基于之前 Xikii 发布的 S98 键盘修改而成。

长这样:

稚晖君表示:键盘左边这个玩意才是这个项目的重点,接下来才是视频正文。

正片开始

什么才是只能键盘呢?稚晖君表示,参考智能手机的定义与传统手机的区别:智能机有各种传感器,能够随时安装各类 APP,且能不断获取新能力。

于是他给键盘家上了屏幕,还不止一块,所以这是一个模块化的键盘,由三部分组成:键盘主体、一个带 USB-HUB 功能的底座、一块可DIY显示内容的智能交互模块。

智能交互模块

智能交互模块搭载了一块电子墨水屏幕,可以自定义显示各种内容,如你喜欢的图片、天气预报、Github贡献墙、电脑剩余电量等状态显示等等……

稚晖君表示,他会把这个模块二次开发的通信协议和驱动都封装成SDK,客制化发烧友们便可以基于SDK开发各种交互应用。

而对于科技小白来说,稚晖君也贴心地配备了配套傻瓜软件工具,只需要鼠标将电脑屏幕上的图片“瀚安”拖入工具中,“瀚安”几乎一眨眼便出现在了墨水屏幕上,比更换手机壁纸还要简单。

滚轮旋钮

稚晖君表示如果只是多了一块屏幕,也不见得智能了多少。

因此他又添加了第二块屏幕,一块OLED,以及旁边一个长得很像电机的电机。

稚晖君曾经发布过一个视频,展示如何通过FOC控制把一个无刷电机模拟成各种物理效果的旋钮。他在这次的设计中融合了滚轮旋钮,可以模拟出任意力反馈效果,如0摩擦力滚动、多档开关、弹簧、阻尼等,所有参数可以动态配置,再结合一旁的OLED屏幕,就可开发出许多有意思的应用。

比如向上推旋钮打开任务视图、向下推显示桌面;或把它模拟成带阻尼的旋钮来调节音量;或模拟成无摩擦的惯性旋钮来滚动页面,由于无摩擦的原因,页面滚动极致丝滑……

更有意思的是,这个旋钮还可以主动旋转,结合OLED屏幕可以显示CPU占用等信息。

不过,稚晖君表示也为了实现所提到的工程效果是需要解决许多难点的,例如, USB2.0的接口最大只能提供5V/500mA 的电源功率,远达不到无刷电机所需的功率,所以稚晖君借用了航母上电磁弹射的设计思路:先蓄电再放电。通过在HUB底座中安装电池和电源管理模块,以及升压电路,将USB输出的小电流能量进行储存,在升压之后提供给点击更大的峰值功率。

此外还需解决其他的难点,如模块间复杂的连接拓扑,通信协议的设计,还有结构设计上的各种干涉问题等。

USB HUB

稚晖君称上述模块只是大大提升了键盘的可玩性,但他认为他理想中的键盘不应该只有这些酷炫的功能,还应该实际解决一些效率提升的问题。

例如在手机已经标配人脸识别、指纹识别很多年的当下,台式机为何仍然要采用传统的输入密码解锁呢?

稚晖君表示windows hello提供了一个优雅的解决方案,可以用特定的配件进行人脸识别或指纹识别,但台式机的指纹识别应该放在哪呢?稚晖君于是在USB HUB的位置插入了一个指纹识别模块,亲测效果极佳。

如果电脑已经装好了人脸识别识别设备,这个设计也不会浪费,可以替换插入鼠标接受器,游戏手柄接收器等实用模块。

独创电容式触摸按键条

完成了以上设计后,稚晖君式奇思又钻了出来:平时在打字时,两个大拇指好像没什么事做?一起按一个空格键,是不是有些浪费?

于是乎,他给键盘侧面贴上了一个电容式触摸按键条。

通过设置,这个触控条可以用来实现切换显示窗口、切换音乐、复制粘贴等等操作。

从“壳制化”迈向“客制化”

无论是从电路还是从显示屏、旋钮等,不难看出稚晖君基本都是在键盘功能性上进行设计整合的。

稚晖君在社交平台公布了视频之后,网友评论“看不懂专业技术,但大受震撼”,也有不少网友留言要华为终端进行量产,加入鸿蒙互联。有意思的是,华为B站的官方号也转发了这段视频,并评论称“太厉害了!”。

不少玩客制化的网友表示,稚晖君不是赢在多么天才的构想上,而是作为一名电子工程师对于技术的极致追求(以及对于广大客制化爱好者智商的尊重),这才实现了从“壳制化”迈向“客制化”的重要一步。

此外,还有网友调侃到建议标题改成“我用108天打了个字”。

版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

关注我的微信公众号,回复“加群”按规则加入技术交流群。
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。

这个客制化键盘,秀翻我了~相关推荐

  1. 立创开源 | QMK客制化键盘84键 USB HUB 验证板

    功能概览: [QMK客制化键盘]:84配列RGB,5级PWM调光呼吸背光灯,旋转编码器,支持vial改键.宏.组合键等. [USB2.0 HUB]:1拖3的USB2.0集线器. MCU:ATMEGA3 ...

  2. 客制化键盘编程_客制化键盘劝退指南

    客制化键盘劝退指南 最近总感觉mac book pro的键盘不太好用,所以把家里用的杜伽K320拿到公司用了.这把键盘,樱桃的银轴,红轴的压力克数,更小的键程,用起来还是不错的. 如此一来,家里的台式 ...

  3. 客制化键盘编程_客制化键盘如何入坑?

    首先,玩客制化键盘之前你得了解一些键盘相关的知识. 比如键盘的轴体大致分为:线性轴.段落轴.声音轴.线性轴主要是类红轴,静音轴两大类.段落轴主要是类茶轴,类hp轴两大类.声音轴就是类青轴和类box白轴 ...

  4. 客制化键盘编程_开学在即,国产机械键盘怎么选

    早年机械键盘就是chh一类的晒物社区出现的高端货,得益于国内轴厂和成品厂家的努力,近年来机械键盘早已经不是王谢堂前燕,越来越多玩家可以轻轻松松选择自己喜欢的机械键盘. 开学在即,不少朋友都会选择升级装 ...

  5. 客制化键盘编程_最全最细客制化键盘指南!(上)

    作者:老张 修订:zFrontier装备前线 我为什么入了客制化键盘的坑,普通的键盘它不好吗?哪怕Cherry轴的键盘他也才几百块啊...在接触客制化之前,我的确是这么想的,但真的用上了之后才发现,客 ...

  6. 客制化键盘编程_客制化键盘QMK固件入门-编译环境搭建

    客制化键盘,这是一个巨大的坑,形形色色的轴体.外壳.PCB.数据线.键帽.灯效.音效甚至掌托,对于热爱DIY的玩家们来说,确实很吸引人,但再看看价格,只能打扰了. T站上看到了一款主要零部件用3D打印 ...

  7. 客制化键盘编程_客制化键盘QMK固件入门-修改keyboard和keymap

    客制化键盘,这是一个巨大的坑,形形色色的轴体.外壳.PCB.数据线.键帽.灯效.音效甚至掌托,对于热爱DIY的玩家们来说,确实很吸引人,但再看看价格,只能打扰了.作为一只程序猿,想要玩客制化键盘又玩不 ...

  8. 客制化键盘编程_装机单推荐 篇二:垃圾佬的第一个客制化键盘---gk64升级版

    装机单推荐 篇二:垃圾佬的第一个客制化键盘---gk64升级版 2019-09-09 11:55:42 24点赞 89收藏 25评论 你是AMD Yes党?还是intel和NVIDIA的忠实簇拥呢?最 ...

  9. 客制化键盘编程_基于3D打印的客制化机械键盘设计与实现

    龙源期刊网 http://www.qikan.com.cn 基于 3D 打印的客制化机械键盘设计与实现 作者:许玺风 毛凌志 来源:<科学与财富> 2020 年第 03 期 摘 要:本文首 ...

最新文章

  1. Linux命令行与命令
  2. Java学习总结:6
  3. 文件名批量汉字转拼音+核磁共振影像数据处理
  4. “毕业”式裁员的祖宗?
  5. mybatis的批量操作
  6. 模型可解释性-贝叶斯方法
  7. 云南旅游市场整治呈压倒性态势 旅游人次及年收入双增长
  8. gcc 4.4.2 安装
  9. 西湖区政府门户网站项目签约西部动力We7网站群系统
  10. mysql 8.0.11 Windows安装
  11. 动静结合 APT防护需建立整体应对体系
  12. msfconsole 控制台简介
  13. 人脸检测FDDB评测的详细步骤
  14. 编辑中的word变成只读_打开Word文件是只读,怎么修改
  15. kappa一致性检验教程_Kappa一致性分析
  16. 管理系统页面布局 html,25 个精美的后台管理界面模板和布局
  17. 有了HTML5,Flash还能走多远?,互联网营销
  18. 基于微信的图书馆服务系统的设计与实现
  19. ETL为什么经常变成ELT甚至LET?
  20. Python打开记事本

热门文章

  1. 架构师之系统安全---------------IE8的SysFader错误
  2. scrapy 小项目——爬取豆瓣排行榜250
  3. 使用docker-compose部署confluence,自己的wiki
  4. 植物大战僵尸android版手机版,植物大战僵尸95版手机版
  5. Pixy - PHP 原始码的弱点分析工具
  6. usb dac Linux免驱,飞傲播放器系列USB DAC全新专用驱动玩法攻略
  7. 200条装修小常识(2)
  8. 冯.诺依曼型计算机结构的重要思想功能
  9. 反常积分收敛和发散性质MATLAB
  10. 淘系技术-DDD-领域层设计规范