摘要:每一次稚晖君更新,必然会在电子圈引起一阵轩然大波,时隔四个多月,打破拖更记录的华为“天才少年”,有着“野生钢铁侠”之称的稚晖君,终于在7月24日发布了他的最新项目视频。这一次,稚晖君打造了一把模块化机械键盘,并称其为“很实用的生产力工具”。稚晖君将这把理想键盘命名为“瀚文”,由自己从头设计,并加入了智能交互模块,不仅可以安装各种APP,还可以实现指纹解锁等功能。


文章目录

一、自己做键盘

二、硬件设计三步走

1、引入库

2.、固件设计,性能拉满

3.、不同场景扩展模块,玩转“瀚文”键盘

三、总结


一、自己做键盘

稚晖君表示,此次项目的想法源于几个月前的居家办公经历。对于程序员和打游戏的这一类群体,往往对键盘的要求非常高,甚至可以称为“吃饭的家伙”。正因如此,市场上一部分玩家对于电脑外设的性能和外观的极致追求,也就催生了一种叫做“客制化”的圈子。

但接触下来,他发现很多“客制化”总是以“换壳为本”,还有很大的进步空间。于是,稚晖君决定自己从零构思,设计一把真正的“客制化”键盘。

稚晖君认为,无论想做什么样的新概念键盘,首先要保证它打字作用的基本属性,所以他的第一步是把键盘本身的性能做到极致。相较于“客制化”的圈子里一般以工业设计为大头,软硬件方面都是采用现成的参考设计和开源固件,稚晖君为了保证能够有最大程度的开发度自由,于是选择自己从头设计电路硬件以及固件代码。

二、硬件设计三步走

1.引入库

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

虽然听起来很简单,然而稚晖君表示,真实的情况却有点复杂,他在设计中就遇到不少问题:

1、常规的键盘有100个左右的按键,如果每个按键都接一根导线到MCU的引脚,那么就需要MCU有100多个引脚,这显然是极其浪费且不太现实的。正因如此,所以市面上的键盘基本都使用一种叫做矩阵键盘的形式来检测按键。

比如说对于4行×4列、共16个按键组成的矩阵,单独连接的话需要16个IO,而矩阵扫描只需要4+4=8个IO。

2、如果采用矩阵扫描的方式设计电路,那么由于按键之间不再是独立连接,而是存在一定的耦合,就会出现没被按下的按键也会被触发的情况,也就是俗称的“鬼键”问题。

为了解决这个问题,稚晖君设想在按键下面再添加一个二极管,可以有效防止误触发的问题。

3、想要提升键盘的手感,PCB设计的时候就要做减震处理,因此需要在PCB键轴之间挖出很多长槽。那么矩阵键盘和一堆二极管的模式就会使PCB走线变得很麻烦。

所以为了从硬件根本上重构键盘扫描电路,稚晖君设计了一个相当完美的方案,那就是使用移位寄存器来实现按键扫描。

他使用1×n的矩阵,即基于移位寄存器的并行输入转串行输出功能,把每个按键都看作寄存器的一位,这样每加载一个时钟信号都可以依次读出每个按键的状态。

基于这个方案,稚晖君的设计就有了以下优势:

1、极其节省IO。不管扫描多少按键都只需要一根数据线、一根时钟线以及一根锁存线、3个IO。

2、扫描速度极快。74HC165系列芯片的最高时钟速度超过50MHz,也就是理论上每秒能扫描5千万个按键。由于用不了那么高,稚晖君在实际使用中通过硬件SPI接口模拟时序,扫描频率为4MHz。

3、电路极其简单。减去了所有二极管。

2.固件设计,性能拉满

键盘硬件问题解决了,下面就来到了固件。目前市面上绝大多数的客制化键盘都是使用像QMK、ZMK这样的开源固件,但它们往往为了适配大量的键盘型号,导致存在代码臃肿、性能优化不足、扩展性不太好等问题。

因此,基于高性能的ARM主控,稚晖君自己开发了一套键盘固件,基本上把全速HID设备的性能都拉到了顶。他在固件中实现了HID设备枚举、1kHz的硬实时报文以及1ms的超低延迟。

超高刷新率的全按键独立RGB灯控制,支持NKRO也就是所谓的全键无冲;添加每个按键独立的滤波算法,支持Bootloader更新固件,支持多层键位映射配置。

此外,设计中还有很多的时间细节,稚晖君表示稍晚会将固件代码开源,感兴趣的小伙伴可以前去仓库阅读源码。

https://github.com/peng-zhihui

不只炫酷,效率提升也不在话下

在结束电路硬件以及固件代码的设计后,键盘本体的硬核部分基本就搞定了,项目也终于来到了外观设计环节。稚晖君请了好友@Xikii厂长帮忙设计加工(此前自动驾驶自行车、机械臂等外壳零件就出自他手)。

组装完成后,稚晖君提到了在构思这个项目时的思考——什么才是智能键盘?

稚晖君表示,如果参考智能手机的定义,智能键盘应该有各种传感器,能够随时安装各种APP,不断获取新能力。基于“模块化”的思路,他给键盘加上了不止一块屏幕。

键盘由三部分组成,除了本体之外,还有一个带USB-HUB功能的底座,以及一个可以替换成各种场景的智能交互模块。智能交互模块可以安装各种APP,首先模块搭载了一块电子墨水屏幕,可以自定义显示各种内容,比如喜欢的图片、天气预报、电脑状态,或者任何其它想要显示的信息。

稚晖君表示会把这个模块二次开发,所需要的通信协议和驱动都封装成SDK,方便大家基于SDK开发各种交互应用。

在电子墨水屏幕上还有一个小屏幕,一块OLED以及一个电机。此外,稚晖君还加入了一个智能滚轮,结合旁边的OLED屏幕,可以把它模拟成弹性开关来当做自定义的按键,向上推打开任务视图,向下推显示桌面,它还能成为一个动态仪表,实时显示电脑的CPU占用的信息等。

稚晖君认为作为生产力工具,他理想中的键盘不应该只有炫酷的功能,还应该实际解决一些效率提升的问题,于是他给键盘添加了指纹识别模块;还在空格键的下方添加了一个电容式的触摸按键条,其功能可以自定义,比如用它快速切换桌面、标签、音乐以及复制/粘贴等。

3.不同场景扩展模块,玩转“瀚文”键盘

稚晖君将这次尝试模块化键盘DIY的作品命名为“瀚文”,英文名是“Hello Word”。他表示这个项目纯粹是为了满足个人对理想键盘的幻想,接下来会把“瀚文”作为之后的主力设备。本次项目的软硬件都将开源,欢迎大家在此基础上继续开发。

另外,稚晖君还表示,由于开发时间有限,项目还有很多可以完善的地方。他还为大家提供了一些额外的思路,构思了一些用于“瀚文”的其他场景模块,比如用于直播场景的扩展模块:

3D建模场景的扩展模块:

用于视频剪辑场景的模块:

用于音乐制作的模块:


三、总结

稚晖君透露,未来有时间的话,自己也许会尝试都实现一下。另外,下一期视频会是一个主线的机器人项目。期待他下个设计的到来!

从零打造的机械(智能)键盘,超级喜欢,IT人最爱相关推荐

  1. 实在智能CEO孙林君:以AI与RPA的深度融合为核心,打造真正人人可用的超级自动化平台 | 数据猿专访...

    数据智能产业创新服务媒体 --聚焦数智 · 改变商业 目前,数字经济发展已经进入"深水区".一方面,RPA(Robotic Process Automation).隐私计算.云原生 ...

  2. 离线语法设置 科大讯飞_科大讯飞智能键盘K710评测 输入速度超级加倍

    科大讯飞的智能硬件产品高端.强大.智能的形象一直以来都深入人心.无论是智能鼠标.录音笔还是翻译机都是行业内的佼佼者.最近,笔者拿到了一把科大讯飞近期发布的讯飞智能键盘K710,其体验非常出色.今天就给 ...

  3. 大数据周周看:前英特尔高管加入谷歌云部门,网易与威马汽车合作打造“互联网+”时代智能汽车

    前英特尔数据中心主管加入谷歌云部门,出任COO一职:医疗科技公司"图玛深维"获2亿元B轮融资:网易人工智能与威马汽车合作,打造"互联网+"时代智能汽车--以下为 ...

  4. 增长黑盒:零代码基础做智能电商网站,不要重复发明轮子

    增长黑盒:零代码基础做智能电商网站 Step0,不破不立,走上增长黑客之路   很多卖货的人最大的问题就是整个团队没有一个懂代码的,更不懂电商网站制作.此时贸然出去外包一个电商网站,问题可能会越来越多 ...

  5. 昂视智能:打造中国工业智能领域的旗舰企业

    编者按: ​ 机器视觉作为代替人眼对产品进行测量和判断的技术,是先进制造业的重要组成部分,在工业自动化升级的过程中有着不可替代的地位. ​ 根据相关行业调查报告显示,目前在欧美等发达国家,几乎所有涉及 ...

  6. 如何轻松打造一款智能防丢神器?让生活更省心省力

    在生活中,你一定遇到过丢东西的情况.比如马上要出门了,却发现钥匙不见了,你翻箱倒柜找半天,看着上班时间临近,急得团团转-- 这时候,如果拥有一款蓝牙防丢器,就能在找不到钥匙的时候,打开App点击&qu ...

  7. 【​观察】从量身打造“超级用户计划”,看爱奇艺iQUT的态度、温度和高度

    申耀的科技观察 读懂科技,赢取未来! 爱奇艺智能CEO熊文最近有点忙. 继今年5月正式发布爱奇艺iQUT战略,宣布推出奇遇VR一体机之后,7月又对外发布了"超级用户计划".毫无疑问 ...

  8. 从零打造在线网盘系统之Hibernate框架起步

    欢迎浏览Java工程师SSH教程从零打造在线网盘系统系列教程,本系列教程将会使用SSH(Struts2+Spring+Hibernate)打造一个在线网盘系统,本系列教程是从零开始,所以会详细以及着重 ...

  9. 彩虹背光:芝奇推出KM570 RGB机械游戏键盘

    今年早些时候,知名PC存储配件制造商芝奇(G.Skill)也加入了快速成长的背光机械键盘市场,并推出了Ripjaws KM780R.此前人们对该品牌的最大印象,还停留在高品质的内存条上.现在,该公司又 ...

  10. 阿里云助力重庆打造“亚洲最智能大型城市”

    8月24日,2018云栖大会·重庆峰会上,阿里云总裁胡晓明表示,将从智能交通.智能制造.智能汽车.智能金融.智能服务.智能人才等领域,助力重庆打造"亚洲最智能大型城市",助推智能化 ...

最新文章

  1. 【stanford C++】容器III——Vector类
  2. “叽里呱啦”说英语,这家公司要用AI增值语言输出能力
  3. 96.6. Template
  4. [转]PHP: 深入pack/unpack
  5. 2017年3月23下午学习日志
  6. linux dns已经配置,linux DNS 配置
  7. 持续集成工具Hudson安装实例
  8. HTML/CSS——子元素相对于父元素固定定位解决方案
  9. 数据结构及算法学习——写在前面的话
  10. 【MySQL】在Windows下更改datadir
  11. SAP UI5 busy Dialog debug
  12. 01_appium自动化环境的搭建
  13. win10玩cf不能全屏_游戏莫名卡顿三招搞定!Win10游戏优化教程
  14. 计算机窗口移动方法有,北京版一年级信息技术上册《操作窗口学本领》教案
  15. python入门神器 知乎_如何处理 Python 入门难以进步的现象?
  16. 1093 字符串A+B (20分)
  17. LeetCode(1009)——十进制整数的反码(JavaScript)
  18. java argument parse_snmp4j 之 ArgumentParser
  19. 大图书馆 #2 大教堂与集市
  20. 逆向脱壳-fsg手动脱壳

热门文章

  1. Sublime快捷键大全
  2. 单片机音频谱曲软件_单片机音乐代码转换工具(Music Encode)
  3. STM32芯片包下载教程
  4. python调用sqlldr_sqlldr用法
  5. php 数组排序方法,php数组排序的方法有哪些 - php完全自学手册 - php中文网手册...
  6. 计算机毕业设计Java大学生旅游拼团网站(源码+系统+mysql数据库+lw文档)
  7. 网络图片嗅探工具driftnet
  8. (转载)0201 0402 0603 0805 1206焊盘封装尺寸
  9. LiteIDE主题定制教程
  10. [视频相关2]网址解析接口