STM32硬核DIY机械键盘[蓝牙USB双模|灯光控制]
-创建一个WorldEdit_1.0
该项目已开源给Github: 点击我发送
视频BiliBili项目制作的:
文章目录
项目来源: “ Thinking”项目简介:
为什么叫WorldEdit?
因为我希望将来使用此键盘来探索世界并创造更多东西,就像创造之神一样,
所以它被称为创世第一世界编辑
创世一号采用STM32F103RCT6主控制,集成了锂电池充放电管理,稳压,蓝牙串口HID,USB-HID,LED灯阵列驱动器和按钮检测电路.
可以实现蓝牙连接模式(支持IOS,Android等平台)和USB连接模式. 蓝牙连接的响应时间约为15ms,USB连接模式主机的响应时间约为0.3Ms.
照片如下:
1. 资料准备阶段1.键盘布局
首先要制作机械键盘,您需要了解键盘布局. 有许多可用于制作版面的工具. 在此步骤中,我们需要生成定位板的CAD图并使用以下两个网站:
编辑站点的分配:
定位板CAD生成网站:
如果要进行的配置与我的相同,则可以直接使用我的配置CAD文件
我想要做的配置如下: (该网站可以轻松修改配置,已经有很多教程,我将不做详细介绍)
然后将您的配置的原始数据复制到CAD生成网站. 生成CAD定位板文件
(绘制PCB和键盘外壳时需要此文件)
然后以下是与轴身有关的内容,通常来说,默认值是很好.
点击
生成文件,然后单击右上角的DXF并下载并保存文件.
在这里,键盘布局已完成. 然后去网上冲浪并购买,购买键帽,蓝牙HID模块,主控制器,一些电容器,电阻器,锂电池以及其他所需的物品.
2. 采购组件,模块,电池,轴,键帽等.
整个键盘所需的项目列表如下:
购买元件后,就可以开始绘制电路了(如果没有,可以用我的PCB进行加工,我以100元的价格制作了5块PCB). 由于整个项目都是开源的,因此将不介绍特定的电路这里.
然后设计外壳. 由于没有加工条件,只能定制,因此钢板的简单设计没有底部作为框架. 最终产品还可以.
第二,组装和调试
上述准备完成后,焊接电路,安装轴,并安装键帽. 有关具体步骤,您可以观看我的制作视频.
三,优化程序代码
代码部分的想法是检查键盘消息是否已更新,更新后生成密钥数据包,然后将串行端口传输到蓝牙模块. 如果处于USB模式,它将通过USB直接发送到主机.
如何快速将按钮物理链接到程序代码?这是个主意. 如果有更好的方法或建议,请留言或私人留言,谢谢.
在这里,我们将按钮的位置与数组的顺序相对应,这在以后处理按钮消息时非常方便.
#define xxCK myKeyBoard_ControlKey
#define xxSK myKeyBoard_SpecialKey
const char * myKeyBoard_KeyMap_Name[6][16] =
{
"Esc","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","PrtSc","ScrollLock","PauseBreak",
"~","!","@","#","$","%","^","&","*","(",")","-","+","BackSpace","Insert","Home",
"Tab","Q","W","E","R","T","Y","U","I","O","P","{","}","|","Delete","End",
"CapsLock","A","S","D","F","G","H","J","K","L",";","'","Enter","","","PageUp",
"LShift","Z","X","C","V","B","N","M",",",".","/","RShift","Up","","","PageDown",
"LCtrl","Win","LAlt","Space","RAlt","FN","Menu","RCtrl","Left","Down","Right","","","","",""
};
const unsigned char myKeyBoard_KeyMap_ATValue[6][16] =
{
0x29,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,
0x35,0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x2D,0x2E,0x2A,0x49,0x4A,
0x2B,0x14,0x1A,0x08,0x15,0x17,0x1C,0x18,0x0C,0x12,0x13,0x2F,0x30,0x31,0x4C,0x4D,
0x39,0x04,0x16,0x07,0x09,0x0A,0x0B,0x0D,0x0E,0x0F,0x33,0x34,0x28,0x00,0x00,0x4B,
xxCK,0x1D,0x1B,0x06,0x19,0x05,0x11,0x10,0x36,0x37,0x38,xxCK,0x52,0x00,0x00,0x4E,
xxCK,xxCK,xxCK,0x2C,xxCK,xxSK,xxSK,xxCK,0x50,0x51,0x4F,0x00,0x00,0x00,0x00,0x00,
};
主要功能如下: (特定代码已开源到GitHub)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-298451-1.html
整个人都酥了
愚者图虚名
10万元存银行一年缩水100元
一个月3g分两个月送吗