基于MM32F0160微控制器的机械键盘

引言
最近,为了配合新品推广,灵动的软件与系统工程se团队,基于带有 usb 外设模块的 mm32f0160 微控制器,实现了一套低成本带rgb灯效的机械键盘。这里将设计机械键盘的全过程开源出来,感兴趣的开发者,可以向灵动申请 mm32f0160 微控制器的样片,复刻一把自己专属的机械键盘,也可以继续进行二次开发,实现更加有趣的作品。
 一些机械设计工作
首先需要选择将要设计机械键盘的配列,也就是按键的布局。这里选用了对程序员最友好的87键配列。使用“键盘布局编辑器”(http://www.keyboard-layout-editor.com/)可以导入标准的配列布局。如图1所示。
图1 keyboard-layer-editor在线编辑器
这里可以选择标准104键配列,再删除右侧小键盘的区域,得到标准87键配列的方案,如图2所示。
图2 使用keyboard-layer-editor设计标准87键配列
然后,复制 raw data 中的代码,到“定位板在线编辑器”(http://builder.swillkb.com/)中,如图3所示。
图3 定位板在线编辑器
此时,点击页面最下方的 draw my cad!!! 按钮,生成定位板的图纸。如图4所示。
图4 生成87键配列的定位板
此时,在页面的右上角选择下载 dxf 格式的文件。这个文件可以发送给工厂,用于生产机械键盘的定位板。板子的厚度为1.5mm,在本案中使用了pc材料。
 设计pcb
机械键盘的按键部分电路,就是普通的键盘矩阵,但为了避免出现“鬼影按键”(ghost key)和实现“全键无冲”,每个按键开关上都需要串联二极管。为了在每个按键下放置一颗rgb彩灯实现灯效,本案使用了 ws2812 级联的电路。
本案使用kicad 7.0设计了整个机械键盘电路系统的原理图。
按键矩阵部分的电路如图5所示。
图5 按键矩阵原理图
rgb彩灯矩阵部分的电路,如图6所示。
图6 rgb彩灯矩阵原理图
使用mm32f0160微控制器作为核心的控制电路,如图7所示。
图7 基于mm32f0160的控制电路原理图
这里还引出了扩展插座,包含了 mm32f0160 微控制器的调试信号、按键矩阵行列信号、rgb灯控制信号,可用于扩展更大的键盘配列(例如增加数字小键盘)。
然后将原理图配合合适的封装(可以在kicad的元件库中找到cherry轴的封装),导出生成pcb文件。在pcb文件中,可以导入之前用于生产定位板的 dxf 文件,参照着定位板的位置放置按键和rgb灯。最终完成走线的pcb板效果图,如图8所示。
图8 走线完成的机械键盘电路板
 设计软件
本案使用的软件来自于灵动的软件与系统工程se团队开发和维护的mindsdk软件开发平台,可以选择 mini-f0160 开发板的软件包作为模板,下载已经适配tinyusb协议栈的 tud_hid_keyboard 样例工程。如图9所示。
图9 mindsdk中的tud_hid_keyboard样例工程
之后再进行改装,适配使用 gpio 扫描按键矩阵,并增加 dma+spi 的方式控制 ws2812 灯带的功能(可参考mindsdk中的 ws2812_spi_dma 样例工程)。
特别注意,本案使用keil mdk编译生成可执行文件,除了需要安装keil mdk集成开发环境外,还需要开发者从灵动官网下载 mm32f0160 的设备支持包(https://www.mindmotion.com.cn/support/software/keil_pack/),以及需要准备一个适配arm核微控制器的调试器,例如jlink或者daplink等。
 技术资料
这里开源基于mm32f0160微控制器的机械键盘项目的所有资料,托管在gitee的平台上(https://gitee.com/suyong_yq/mechanical-keyboard-diy),如图10所示。
图10 托管在gitee上的机械键盘开源项目
最后,放一张第一个成品样品的照片,如图11所示。
图11 基于mm32f0160微控制器的机械键盘成品


电力电容器原理结构_电力电容器规格型号
电信联通“抱团”追赶移动 重回管道竞争
研究人员生产出长度小于100纳米的柔性原子薄型晶体管
美国SPEC Sensors电流气体传感器在丝网印刷电化学制造工艺中的应用
从国产航母下水多角度看国产001A航母,工艺精湛代表顶尖造舰水平
基于MM32F0160微控制器的机械键盘
中国科技再次站在世界前沿!世界首台光量子计算机诞生在中国
为啥你的 iPhone 数据线容易坏?一招教你辨别真货假货
双电源自动切换开关工作原理_双电源自动切换开关如何调试_双电源供电配电图
主动式数字微流控芯片的研究步入了崭新的阶段
LED恒流驱动电路原理详解
万众瞩目的UWB技术,会成为下一个NFC吗?
锂电池充电方法的介绍以及注意事项
超小体积、极致性能AC/DC模块电源LD-R2系列
电磁继电器与固体继电器的区别
浅谈PCB颜色的意义
TYP--PLC车型评估选择之完成添加车型工作
小米max2最新消息:小米Max2将发:骁龙660+6GB,小米5S同款暗夜之眼相机
中飞艾维“龙巢”首飞,开启全自主无人机智能巡线系统新变革
射频卡设计原理及实现简介