atmega32u4-QMK小键盘调试记录

本文根据B站up主 三三三三三文啊 的视频

链接:【机械键盘DIY】真正从零开始 设计制作一款多媒体机械键盘

制作流程为:
一.确定键盘的布局
网站:www.keyboard-layout-editor.com
保存SVG文档and JSON文件,后者用于生成软件键位表。
二.绘制原理图
绘制矩阵键盘原理图。因为使用的是Arduino库,因此主控芯片选用该库最常用的atmega32u4。
三.根据原理图与布局需求绘制PCB,并制作。

软件部分
四.烧录bootloader
使用AVRISP进行烧录。atmega32u4对应的bootloader为Leonardo-prod-firm-2012-04-26.hex
当烧录成功后,使用USB插入键盘后可以看到对应的COM口被识别为Arduino Leonardo
五.制作开源固件
选用支持芯片较多,参考案例多的QMK开源固件
1.根据QMK官网文档搭建编译环境
2.根据之前的配置编译程序
网站:kbfirmware.com
将步骤一中的JSON文件导入,即可生成接线图。并对每个键位进行主控芯片的GPIO的配置。
最后将.zip压缩文件下载下来,根据是否有RGB灯等,决定是否需要添加该工程的宏配置与功能函数。
3.烧写固件
使用官方工具QMKtoolbox上传固件,按下复位键,烧录成功啦!

博主根据上述步骤制作了一款基础板17键小键盘,无灯带等其他额外外设。实物图如下所示:在这里插入图片描述
记录一下调试过程中遇到的问题以及解决方法:

(1)用msys2更新所有软件时,发生因密钥出错无法正常更新的情况,尝试解决无果后,使用QMK MSYS来进行hex固件文件的制作;

(2)在https://kbfirmware.com进行固件配置时,没有根据单向二极管(避免键位冲突)的方向进行设置,以及固件连接与PCB连线的一致性;

(3)一开始板子连接电脑后容易出现USB驱动程序错误,更换新的16MHz晶振后稳定。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
2层PCB 99.1 x 162.7 mm FR-4,1.6 mm,1,带铅的HASL,紫色阻焊剂,白色丝印 此与Raspberry Pi兼容的设备使您可以将操纵杆用作鼠标,并使用两个动态键盘选项输入键盘和修改键。 长期以来,我需要一个简单的设备,允许我发送各种鼠标和键盘命令来测试我的某些Web应用程序和浏览器上的游戏。另外,我可以利用这样的设备来测试新型单板计算机(例如Raspberry Pi)的键盘和鼠标功能,而不必为缺乏适当的键盘和鼠标而烦恼:)因此,我决定创建这个项目。 首先,为了能够通过USB发送键盘和鼠标命令,我使用了以ATmega32U4为中心的Arduino Pro Micro,后者是与ATmega328非常相似的8位AVR。ATmega32U4配备了一个全速USB收发器,可以仿真任何USB设备。 然后,我利用4x4矩阵键盘设计发送键盘键,最多支持32个键以及两个动态键盘选项。 最后,我使用了两个操纵杆作为全功能鼠标,还控制了动态键盘选项和修改键。 在面包板上完成设计并测试代码后,我设计了一个控制器形状的PCB(基于Arduino的鼠标和键盘控制器),具有集成的4x4矩阵键盘和两个嵌入式操纵杆,并以皮卡丘为中心徽标:) 该项目中使用的物料清单: Arduino Pro Micro1个 COM-09032模拟操纵杆2 按钮6x616 5mm绿色LED1个 5mm蓝色LED1个 220Ω电阻2 模式和功能: 控制器允许用户通过向左操纵杆(J1)移动来移动光标,并通过向左(J1)或向右(J2)操纵杆按钮进行单击。 J1>左>光标向左 J1>右>向右光标 J1>向上>光标向上 J1>向下>光标向下 J1>按钮>鼠标左键单击 J2>按钮>鼠标右键 控制器允许用户在动态键盘选项(字母和数字)之间进行选择,并通过向右操纵杆(J2)的移动来发送修改键。 J2>左>字母键盘 J2>右>数字键盘 J2>上>返回 J2>向下> BACKSPACE 控制器包括一个集成的4x4矩阵键盘。通过动态键盘选项,控制器最多支持32个键盘键。 Key键盘按钮上的默认键盘键: K1> e,1 K2> a,2 K3> r,3 K4> i,+ K5> o,4 K6> t,5 K7> n,6 K8> s,- K9> w,% K10> h,+ K11> m,0 K12> p,# K13> d,/ K14> u,9 K15> c,8 K16> l,7

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值