工商网监 © 2020 立创EDA 版权所有
简介:交流学习,看心情回答一些问题。 可以自己DIY玩,不可用于商业用途。
开源协议: GPL 3.0
有些问题可能一开始开源这个项目的时候没有说清楚,另外可能是因为个人的不严谨,这里提前做个补充说明:
1、所有元件型号、阻值,电容值以原理图标注为准、直接出BOM一定是有问题的。(所有电阻封装0805,电容封装0603)
2、由于第一条的原因,我做的这个PCB直接拿去做SMT也肯定是有问题的,建议自己手焊。
3、萌新一来要自己DIY这个一定是有相当的门槛,慢慢来,多看QMK官方的文档。
4、在熟悉QMK固件的基础上,自己修改代码,如果编译有问题大概率是因为开发环境不完整。
5、100只2812全白色最高亮度总体电流超过2A,注意线材以及USB接口的能力,示例固件限制了RGB的最高亮度。
首先前排感谢刀姐:https://lceda.cn/alixzhang 带我入坑。
正文:
这次配置有所提升,比起V1提高了一定门槛,但是也做的更加完整。
所有相关文件见附件,下面做一些简单说明:
固件:QMK开源固件 (附件有固件以及参考源代码),不支持VIA,修改一切功能都需要自己搭建开发环境。
MCU:STM32F303CCT6 (选择这个只是因为QMK官方RPOTON C使用该主控,相对简单)
OLED:0.96寸I2C OLED↵↵RGB:正好100只WS2812拉满(轴灯:反贴3528或者正贴3535堆锡,旋钮周围以及底灯为5050正贴。)
外壳:提供亚克力堆叠CAD图纸,以及3D打印STL。
有关QMK请参照:https://docs.qmk.fm/#/
先上图:
PCB:
3D打印外壳渲染图:
3D打印外壳实物图:
↵组装完成:↵
OLED内容(代码借鉴并修改自QMK开源项目./myskeeb/oled.c):
没有输入20秒后,OLED切换为一个魔性的待机屏保动画,60秒后关闭屏幕。
我使用的KEYMAP:
注意:本LAYOUT使用7U空格!!!
默认层(layer 0):
上图黑色字体,需要说明的有:旋钮按下为静音,CAPSLOCK短按为大小写切换,长按临时切换到layer 2,QMK键值为:LT(2, KC_CAPS),实现长按CAPLOCK+WASD=上下左右,某些情况下方便移动输入指针。
游戏层(layer 1):
FN+左WIN键开关,本层只是屏蔽WIN键和CAPSLOCK长按切层功能。
FN层(layer 2):
上图红色字体,需要说明的:
RESET:使键盘进入DFU模式,更新固件需要。
AUTOSHIFT_TOG(KC_ASTG): FN+右shift 开关AUTOSHIFT功能,默认关闭,打开后方便快速输入大写字符,例如:在CAPSLOCK关闭的状态下,短按a键,输入a,按住a键150ms以上,输入A。打开AUTOSHIFT之后无法长按连续输入一串字符,灵活开关使用本功能。
RGB_TOG:RGB开关。
RGB_MOD:切换RGB灯效。
旋钮相关:
layer 0:旋钮默认执行ALT_TAB宏,右SHIFT+旋钮=音量大小调节,右CTRL+旋钮=页面放大缩小。
layer 1:音量大小。
layer 2:RGB亮度调节。↵↵透光旋钮帽下方有4只WS2812用作状态指示灯:CAPSLOCK(红色),AUTOSHIFT(绿色),游戏层/LAYER 1(蓝色),优先级由左到右。
RGB灯效演示见附件视频,其他功能请自行查看源代码,此处不做细节说明。
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | BOOT0 | KEY2 | KEY-3.0*4.0 | 1 |
2 | RESET | KEY1 | KEY-3.0*4.0 | 1 |
3 | 0.1uF | C1,C37,C2,C9,C3,C4 | C0603 | 6 |
4 | 10pF | C32,C27 | C0603 | 2 |
5 | 0.1u | C8,C6 | C0603 | 2 |
6 | 1uF | C10 | C0603 | 1 |
7 | WS2812B-B | LED4,LED6,LED1,LED9,LED5,LED19,LED24,LED3,LED8,LED13,LED18,LED23,LED2,LED7,LED12,LED17,LED22,LED10,LED21,LED16,LED11,LED14 | LED-SMD_4P-L5.0-W5.0-BL | 22 |
8 | MX_1U_3535_RGB_L | U80,U89,U90,U18,U19,U82,U21,U22,U24,U25,U26,U27,U28,U29,U30,U31,U62,U61,U60,U59,U58,U57,U56,U54,U53,U52,U51,U50,U81,U88,U87,U85,U20 | MX_1U_3535RGB | 33 |
9 | MX_1U_3535_RGB_L | U84 | MX_7U_3535RGB | 1 |
10 | MX_1U_3535_RGB_L | U32 | MX_2U_3528RGB | 1 |
11 | MX_1U_3535_RGB_L | U63 | MX_2U_3528RGB_FLIP | 1 |
12 | 5.1K | R2,R1 | R0805 | 2 |
13 | 1.5K | R5 | R0805 | 1 |
14 | 22 | R6,R7 | R0603 | 2 |
15 | 32.768KHz | X2 | OSC-SMD_L3.2-W1.5 | 1 |
16 | C-STM32F303CCT6 | U91 | C-LQFP-48 | 1 |
17 | AMS1117-3.3 | U1 | SOT-223 | 1 |
18 | 8MHz | X1 | OSC-SMD_3P-L3.2-W1.3-P1.2-L_MARKHAND | 1 |
19 | MF-NSMF110-2 | U2 | F1206 | 1 |
20 | 2.54mm 4P | H1 | HDR-TH_4P-P2.54-V | 1 |
21 | 4p | H2 | HDR-TH_4P-P2.54-V | 1 |
22 | 10K | R4,R11 | R0805 | 2 |
23 | SOD4002-SH | D76,D1,D78,D79,D80,D82,D83,D85,D86,D87,D88,D63,D64,D65,D66,D67,D69,D70,D71,D2,D3,D4,D5,D6,D8,D9,D10,D11,D12,D13,D14,D15,D16,D31,D30,D29,D28,D27,D26,D25,D24,D23,D21,D20,D19,D18,D17,D47,D46,D45,D44,D43,D42,D41,D40,D39,D37,D36,D35,D34,D33,D62,D61,D60,D59,D58,D57,D56,D55,D53,D52,D51,D50,D49,D77,D72,D75,D74,D73 | SOD-123F_L2.8-W1.8-LS3.7-RD | 79 |
24 | PRTR5V0U2X | U79 | SOT-143_L2.9-W1.3-P1.92-LS2.3-BL | 1 |
25 | MX_1U_3535_RGB | U17,U65,U66,U68,U67,U73,U74,U75,U72,U71,U70,U78,U77,U44,U43,U37,U35,U45,U42,U36,U38,U41,U40,U3,U48,U4,U47,U5,U46,U7,U6,U15,U12,U16,U13,U14,U9,U10,U11,U34 | MX_1U_3535RGB_L | 40 |
26 | MX_1U_3535_RGB | U76,U64 | MX_2U_3528RGB_L | 2 |
27 | 100nF | C35,C30,C17,C25,C24,C18,C29,C34,C13,C36,C33,C31,C28,C26,C23,C12,C16,C15,C14,C11,C20,C19 | C0603 | 22 |
28 | 10nF | C22,C21 | C0603 | 2 |
29 | 10K | R9,R8,R10,R12 | R0805 | 4 |
30 | TYPE-C-31-M-12 | USBC1 | USB-C_SMD-TYPE-C-31-M-12 | 1 |
31 | 100uF | C7 | CAP-SMD_L3.5-W2.8 | 1 |
32 | 10uF/6V | C5 | CAP-SMD_L3.5-W2.8 | 1 |
33 | EC11 | SW1 | SW-TH_5PIN_EC11E15244G1 | 1 |
展开