模块组合键盘:16、32、4x、6x键【ATmega32A】
简介
1、自由组合键盘:16键、32键、48键、64键。2、开源QMK程序,全键可编程。 3、全部采用1U按键,键帽配备简单便宜,无卫星轴,可不用定位板。 4、配置了RGB灯显示层状态。
简介:1、自由组合键盘:16键、32键、48键、64键。2、开源QMK程序,全键可编程。 3、全部采用1U按键,键帽配备简单便宜,无卫星轴,可不用定位板。 4、配置了RGB灯显示层状态。开源协议
:CC BY-NC-SA 3.0
描述
开源声明:CC BY-NC-SA 3.0 署名+相同方式共享+非商业使用
前段时间做了“带RGB的最简可编程直列键盘”(详见:https://oshwhub.com/iqirtryi/pbk40-rgb-keyboard-c),那是本人目前的主力键盘,也受到很多朋友的喜爱,有朋友问可否做48、60键的组合,也问能否有更便宜的方案,这次就带来了新的方案。这是直列键盘,普通配列的键盘稍晚开源,详见本人主页。
本工程采用价格相对便宜的Atmega32a芯片做板载主控,采用模块化设计,提供三种模块,下面由左到右为:模块A,全部采用1U键;模块B:含单个2U键;模块C:含两个2U键。其中1U键无需卫星轴,2U键选用钢板卫星轴。
按需选择模块A、B、C左右拼接为一个键盘,最多可拼4片,芯片32a最小系统与C口焊在最右边模块。
入门必读!!!制作前请仔细阅读文章末尾所列资料
制作顺序:
1、焊接除键轴外的所有元器件;
2、主板烧录BL、固件,调试;
3、键轴卡在定位板上,插入PCB中,用导线焊接将相邻的两片电路板拼接起来;
4、测试每个按键是否正常工作;
5、焊好全部键轴;
6、外壳安装。
注:如需有卫星轴,需在装键轴前安装。
焊接安装注意事项:
Type C与32a芯片的焊接对于小白来说有点难度,建议采用加热台和锡膏来完成,比电烙铁方便多了。除了键轴与个别元件外,基本都可用加热台完成。 焊这种小板,所有贴片元件焊盘涂好锡膏,放好除C口和32a芯片外的元件,加热,等C口和32a芯片的锡膏融化,有连锡的用尖物划开,然后准确放上芯片、c口,按住几秒,一次焊完全部贴片,100%成功,又快又好!没经验的可以在B站搜索相关内容学习,注意焊接时间切勿过长,以免损坏元件。上图所示的加热台淘自某宝,DIY了一个PCB隔热支架,简单实用,详见:https://oshwhub.com/iqirtryi/heater-holder
大小写LED灯可焊在任一PCB某一位置上,并在该PCB焊接电阻R7,其它板无需再焊接大小写灯和R7。新版固件取消LED灯,改为用WS2812 RGB灯显示大小写状态。
键轴采用的是高特标准轴,直接焊接,如想采用热插拔,套筒方式只需简单修改焊盘孔径大小即可,不建议轴座方式,改动较大,而且芯片周围位置较小。两块PCB之间使用导线焊接起来即可(注意制作顺序)。
ATmega32a等无自带USB界面的主控,在烧录固件前,必须先用USBasp烧录器烧入bootloader,然后再烧录固件。
USBasp接口无需焊插针或插座,烧录bootloader时如有烧录针最好,没有的话在杜邦线插上普通插针,然后斜插到PCB插孔上,烧录时轻轻按压即可,反正只需烧录一次。
BOOT、RESET采用轻触开关,对应底板的位置开有小孔,方便调试时烧录固件。如不需反复调试,也可不焊开关,需要时用镊子短接一下即可。
定位板、底板两种设计供选择:可以整块打板制作,省事;也可以分两块,JP薅xx的选择。
边框厚度根据所选键轴与电路板、元器件高度实测确定。键轴分标准键轴、矮键。
收到定位板、底板和边框后,如有必要,先用铜柱、螺丝固定好,然后依次用粗中细的砂纸打磨光滑。切勿安装好电路板和键轴以后再打磨,否则粉尘会进入键轴,影响手感和质量。
烧录bootloader、固件:
一、USBasp烧录器烧入bootloader,烧录时注意熔丝位如上图所示。步骤简单概括一下就是:初始化(选择编程器、选择bl文件)--读取--修改L、H--写入--读取--开始编程,bootloader只需成功烧录一次。这里有很详细的视频讲解:https://www.bilibili.com/video/BV1xU4y1f7cr
二、附件有已经编译好的hex固件文件,直接烧录即可。
生成后的hex文件用qmk toolbox软件烧录到模块中,步骤如下:
1、打开hex文件。
2、选择MCU为ATmega32a。
3、点选Auto-Flash
4、按住boot开关,再按一下reset开关,如电路板焊接无误,开始烧录,稍等几秒,即可完成,松开boot。
5、再按一下reset开关,这时键盘最下一排几个不同颜色的RGB灯亮起,恭喜你,键盘可正常使用了。
完成组装:
这是最后的成品,配上9.9元包邮的键帽,便宜简单好用。键盘最下面一行装了WS2812 RGB灯,不同的颜色对应不同的层。别告诉人家,我的铝定位板和底板是白嫖了隔壁邻居JP家的。
键盘配列设计:
始终认为键位设置是整个键盘DIY的灵魂,按需设置好,小键盘使用起来会很方便高效。
一、16键的数字小键盘
左边为0层,左手拇指按压在Enter键时,进入右边所示的一层。其它层可根据需要自行修改定义。
二、32键辅助键盘
本辅助键盘特别适合右手操作鼠标时,左手单手操作,其它层可根据需要自行修改定义。
三、48键全功能键盘
键位设置经历了几次变更:
第一版,如https://oshwhub.com/iqirtryi/pbk40-rgb-keyboard-c,标点符号全部统一放置在1层,右手数字小键盘。
第二版,如https://oshwhub.com/iqirtryi/K230-PKB40,改为左手数字键盘,右手方向键,更方便左手单手输入数字。
第三版,如下面方案,最左一列增加了频繁使用的复制粘贴独立快捷键,最右一列增加了常用快捷键。
0层:字母+功能键,长按Fn1进入数字和标点符号层,Fn2进入方向键和标点符号层,Fn3为F功能区、虚拟鼠标,Fn4为软件快捷键和媒体键。
按Fn1加Fn2切换中文,按Fn1加空格切换大写,输入中文时,右拇指按空格选第一个字,左拇指按Shift选第二个字,输入大写字母左手拇指按Shift,所有操作均无需离开主区域。
与之前40键的相比,本工程最大的改变是:最左边为频繁使用的复制粘贴独立快捷键,最右边为独立方向键(最终使用时,改为自己最常用的PLAY、NEXT等快捷键。)
1层:左侧为数字键盘,右侧为一部分标点符号,所有标点符号尽量按个人习惯和易于记忆布置,如?就是Fa发问的F位置,#就在井号的J位置,~曲线q,@at,[中括号Z,{大括号K,\捺N,$Us刀,“双引号S,…… +-×/=兼顾数字键盘的使用。本人开始使用本方案时,左手习惯起来时间较长,不过还是值得的。
2层:左侧为剩余的标点符号,右侧为方向键。现在双手一放上键盘,很自然的左手拇指按压Fn1,感觉下面就是数字小键盘,右手指按压Fn2,感觉下面就是方向键盘,很自然舒服。
熟悉以上3层,即可正常使用此键盘。如想进一步提高效率,建议用好其他层,可根据需要自己使用QMK调整。
3层(图略):为F区、备常用快捷键、虚拟鼠标。由于本人很少使用F区,就将F区放到左边了。
4层(图略):安排了媒体播放键和常用软件的快捷键。如Fn4+C运行Chrome,Fn4+Q运行QQ,Fn4+W运行微信,Fn4+M运行music音乐软件,Fn4+V运行video视频软件……
除0-2层外其他各层按需采用,所有键位的设置都按功能分区来设置,所以也易于记忆,由拇指完成主要层的切换,不采用同时按3键的模式,方便舒适。配列设置在使用中不断完善,最新版供参考:http://www.keyboard-layout-editor.com/#/gists/8d5ba77e61b6809944f90e0ea130a144
四、64键全功能键盘,含左手独立数字键盘。
定位板、底板、外壳文件详见:https://oshwhub.com/iqirtryi/ATmega32A-IQP64A
在上面48键全功能键盘的基础上增加了左手独立数字键盘,适合大量输入数字的认识使用。其它层与48键的一致。
以上键位设置更多是按照左手键盘右手鼠标的操作来设计,且数字、F区、方向键均适合单手操作,所有快捷键做到只需同时按两个键,而且预留了很多的快捷键以供设置。
五、47键:单2U键全功能键盘
配列方案A供参考:http://www.keyboard-layout-editor.com/#/gists/b0259c2d8a620f53653f17550c8040fa
配列方案B供参考:http://www.keyboard-layout-editor.com/#/gists/84abc92196ea3fa8938296a760b17fa4
六、46键:双2U键全功能键盘
配列方案供参考:http://www.keyboard-layout-editor.com/#/gists/0b1e8ef0db7053a99a235eadc819e0f5
七、更多模块,更多可能
1、20键模块(4行5列,可组成20、40键盘)
Atmega32A主控详见: https://oshwhub.com/iqirtryi/kb40-atmega32a
Pro Micro模块主控详见: https://oshwhub.com/iqirtryi/pbk40-rgb-keyboard-c
Atmega32U4主控详见: https://oshwhub.com/iqirtryi/iqp40u-r
2、25键模块(5行5列,可组成25、50、75键键盘)
Atmega32A主控详见: https://oshwhub.com/iqirtryi/kb40-atmega32a。
3、15键模块(3行5列,可组成15、30、45键键盘)
Atmega32A主控详见: https://oshwhub.com/iqirtryi/IQP30A-atmega32a
4、16键模块(4行4列,可组成16、32、48、64键键盘),20键模块(5行4列,可组成20、40、60、80键键盘)
Atmega32A主控详见: https://oshwhub.com/iqirtryi/pkb16x4-atmega32a
Atmega32U4主控详见: https://oshwhub.com/iqirtryi/IQP48U-32u4
Pro Micro模块主控详见: https://oshwhub.com/iqirtryi/iqp48-pro-micro
5、每种模块都同时提供对应的模块D,最下面一行可选用一个或多个2U键,方便灵活组成不同的键盘。
具体制作过程请参考:https://oshwhub.com/iqirtryi/pbk40-rgb-keyboard-c
主要元器件购买链接:https://docs.qq.com/doc/DYWFPbGdhZ0puV2V6
推荐全1U键配列,如何便宜?
采用了相对低价的ATmega32A芯片作为板载主控;
极简48键设计,将键轴成本极致减少;
采用拼接电路板模式,每块电路板尺寸符合免费要求;
全部采用1U按键,键帽配备最简单最便宜,无需购买卫星轴;
结构简单,外壳小巧。
如何好用?
精心设计的小配列设置,所有按键均在十指舒服操作范围,小指无需向外按键;
shift居中,用过就知道好用(强烈推荐相关的配列);
最频繁使用的回车键、退格键就在右手小指下,无需移动即可操作;
切换1、2层的按键、空格键就在两拇指下方,拇指的作用不再只用来按空格,十指利用率有效提高;
左手拇指按Fn1键,左手下面是完整的数字小键盘与运算符号,非常适合左手数字,右手鼠标的操作;
右手拇指按Fn2键,右手下面是上下左右与Home、End等方向键,手势与拿鼠标相似,自然舒服,在码字时尤其方便移动光标位;
所有标点符号只需拇指按Fn1键或Fn2键,另一只手的手指按相应按键即可,所有键位均在手指舒适区;
左手拇指按Fn3键,单手按F键简单易用,右手Fn3键,虚拟鼠标……
自从自己设计使用了全键可编程小键盘以后,一直琢磨着怎么提高键鼠的使用效率,除了安排好合适的配列外,还用AutoHotKey作为增强工具,效果不错,供参考:https://oshwhub.com/article/AutoHotKey
当然,与大配列键盘相比,小键盘必然需要自己学习与熟练,形成肌肉记忆以后,方便高效。键位设置也在自己的不断使用中越来越完善。
附件有经过验证的固件.hex文件,以及QMK源代码。iqirtryi32a_iqp32a.hex为16键、32键的固件,iqirtryi32a_iqp64a.hex为48键、64键的固件。zip为对应的源代码,其它配列自行参考并按需设计、编译。群友提供了支持VIA的固件,有需要请入群,群号见电路图。
按需选择主控芯片:
1、ATmega32a【不再推荐】:本工程采用ATmega32a主控,价格低,体积稍大便于焊接,但需要烧录器烧录固件。可采用本文所附固件,也可采用群友提供的支持via的固件。
2、Atmega32U4【省事但贵,除非需在线生成固件,不做推荐】:自带USB界面,不需要烧录器烧录固件,QMK官方完美支持,可在线生成固件,无需自己深入编程即可制作一把全键可编程的键盘,但价格高,且MU封装焊接难度也大。采用该芯片做板载主控的相同配列设计详见:https://oshwhub.com/iqirtryi/IQP48U-32u4
3、STM32F072CBT6【最便宜简单,强烈推荐】:作为主控,无需晶振,电路简单更便宜,自带USB界面,无需烧录器烧录bootloader,直接通过USB口用QMK toolbox烧录固件即可,制作更方便,详见X.Tips作品:https://oshwhub.com/joba/IQP4X4-4X5S
极简30键键盘,等着追求更简的你,有胆试试吗?
https://oshwhub.com/iqirtryi/IQP30A-atmega32a
更多小键盘详见:https://oshwhub.com/iqirtryi,有需要可以进群一起探讨,群号见电路图。
入门必读!!!入门必读!!!入门必读!!!
重要的事情说三次,要想顺利完成自己的第一把自制键盘,建议仔细阅读以下资料,感谢各位大牛的贡献:
1、必读指南:
零基础组装:https://www.zfrontier.com/app/flow/2wqGYOQPMpOQ
快速学会自制:https://www.bilibili.com/read/cv5275203/
QMK刷机教程:https://post.smzdm.com/p/aekz8pdm/
2、进阶选读:
QMK环境搭建:https://www.bilibili.com/read/cv10071032/
RGB灯设置:https://www.zfrontier.com/app/flow/2dq9AoE37KpE
3、工具网站:
QMK官网:https://docs.qmk.fm/#/zh-cn/
配列编辑:http://www.keyboard-layout-editor.com/
在线生成固件:https://kbfirmware.com/
定位板外壳:http://builder.swillkb.com/
本次工程最小系统参考了Yomen的开源项目,谢谢原作者的贡献:https://oshwhub.com/Yomen/atmega32a-with-v-usb,附件的USBasploader_32A.hex就来自他的开源。没有他的开源项目和B站上详尽的讲解:https://www.bilibili.com/video/BV1xU4y1f7cr,本项目不会如此简单顺利,谢谢!
谢谢大家的关注,觉得有意思,记得点赞+评论+收藏哟!
评论