打印
[MM32硬件]

开源项目:基于MM32F0160微控制器的RGB灯效机械键盘

[复制链接]
1351|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 MindMotion 于 2023-10-7 17:18 编辑

本项目是由灵动软件与系统工程SE团队,基于带有 USB 外设模块的 MM32F0160 微控制器,实现的一套低成本带RGB灯效的机械键盘。

一些机械设计工作

首先需要选择将要设计机械键盘的配列,也就是按键的布局。这里选用了对程序员最友好的87键配列。使用“键盘布局编辑器”(http://www.keyboard-layout-editor.com/)可以导入标准的配列布局。如图1所示。

图1 keyboard-layer-editor在线编辑器

然后,复制 Raw data 中的代码,到“定位板在线编辑器”(http://builder.swillkb.com/)中,如图3所示。

图3 定位板在线编辑器

设计PCB

机械键盘的按键部分电路,就是普通的键盘矩阵,但为了避免出现“鬼影按键”(Ghost]RGB彩灯矩阵部分的电路,如图6所示。
使用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微控制器的机械键盘成品


figure-keyboard-sch-led-matrix.png (470.72 KB )

figure-keyboard-sch-led-matrix.png

figure-keyboard-sch-switcher-matrix.png (368.08 KB )

figure-keyboard-sch-switcher-matrix.png

figure-keyboard-layout-builder-output.png (311.69 KB )

figure-keyboard-layout-builder-output.png

figure-keyboard-layout-editor-87-keys.png (409.13 KB )

figure-keyboard-layout-editor-87-keys.png

使用特权

评论回复
沙发
单片小菜| | 2023-11-24 17:28 | 只看该作者
这个确实很牛,看完之后,不错。而且可以调整按键的频率

使用特权

评论回复
板凳
Henryko| | 2023-11-27 10:51 | 只看该作者
这个可以多个按键同时按下吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:上海灵动微电子股份有限公司
简介:上海灵动微电子股份有限公司成立于 2011 年,是中国本土通用 32 位 MCU 产品及解决方案供应商。 灵动股份的 MCU 产品以 MM32 为标识,基于 Arm Cortex-M 系列内核,自主研发软硬件和生态系统。目前已量产近 300 多款型号,累计交付超 4 亿颗,在本土通用 32 位 MCU 公司中位居前列。

86

主题

104

帖子

5

粉丝