先认识“谁在计算,谁在连接”
你不需要先学完整门电路或模拟电子学。本阶段只需要建立一个准确模型:开发板读取五个按钮,再把按键通过 USB 或蓝牙报告给电脑。
当前阶段:认识硬件 · 不接电池 · 不焊接整个系统只有四步
硬件负责“发生了什么”
按钮和电线让开发板知道:D0 现在被按下。它们不懂 F13,也不懂语音输入。
固件负责“这意味着什么”
ZMK 把位置 0 解释为 F13,然后通过标准键盘协议告诉电脑。
.uf2 文件就是编译后的固件。
XIAO nRF52840:这台遥控器的小电脑
你买的 Seeed Studio XIAO nRF52840 是一块开发板。它把微控制器、USB-C、天线、供电和可连接引脚放在一块很小的 PCB 上,让我们不用从裸芯片开始。
nRF52840,不是带传感器的 Sense 版本。Nordic 生产的微控制器芯片,内含 CPU、内存、Bluetooth Low Energy 无线能力和可编程引脚。
适合控制具体硬件任务的小型计算机。它不像 PC 那样运行桌面系统,而是持续运行一份专用固件。
Printed Circuit Board,印刷电路板。绿色或黑色板上的铜线把芯片、USB 和引脚连接起来。
既可以供电,也可以传输数据和刷写固件。必须使用数据线,而不是只能充电的线。
我们第一阶段会用到哪些引脚?
D0–D4 用来读取五个按钮; 是五个按钮共用的参考点。
面包板:不用焊接的临时连接器
830 孔面包板内部已经有金属夹片。你把开发板、按钮和杜邦线插进去,就能临时连接电路;拔掉后还可以重新组合。
中间区域
通常每五个孔在内部横向相连,中间凹槽把左右两侧断开。四脚按钮要跨过这条凹槽。
两侧电源轨
标有红色和蓝色的长排孔通常纵向相连。我们会把蓝色轨用作共用 GND,但上电前仍要用万用表确认。
杜邦线:把面包板上的点接起来
你买的是 20 cm 公对公、母对母、公对母套装。这里的“公”是露出的金属针,“母”是可以套住排针的插孔。
面包板 ↔ 面包板
两端都是针,最适合在面包板孔之间跳线。
排针 ↔ 排针
两端都是插孔,适合连接两块已经焊接公排针的模块。
面包板 ↔ 模块
一端插面包板,一端套住模块公排针。
USB-A → USB-C 数据线
它同时承担三件事:给 XIAO 供电、把 UF2 固件传进开发板、让 XIAO 作为 USB 键盘向电脑发送按键。只支持充电的线无法完成后两件事。
每个按钮只有一条规则
按钮的一端接一个 GPIO,另一端接 GND。固件启用“内部上拉”:松开时输入保持高电平,按下接地后变成低电平。
GPIO 读到高电平
按钮没有接通 GND。内部上拉电阻把输入轻微拉向供电电压,避免引脚悬空乱跳。
GPIO 读到低电平
按钮接通后,GPIO 被拉到 GND。overlay 中的 GPIO_ACTIVE_LOW 告诉 ZMK:“低电平才代表按下”。
ZMK 把位置映射成按键
D0 是位置 0,keymap 的第一个绑定是 &kp F13,所以电脑最终收到 F13,而不是“D0”。
这节课出现的新词
可由固件配置为输入或输出的通用引脚。本项目先把 D0–D4 配置为按钮输入。
Ground,电路共同参考点。不是“没有用的负极”,而是所有电压判断的基准。
MCU 内部用一个较大电阻让输入在按钮松开时稳定为高,不需要额外焊接电阻。
低电平表示动作发生。本项目按钮按下会接地,所以使用 active low。
Bluetooth Low Energy,低功耗蓝牙。适合电池供电的键盘、鼠标和传感器。
Human Interface Device,键盘、鼠标等输入设备的标准协议。电脑无需专用驱动即可识别。
专为现代键盘设计的开源固件,负责按键扫描、USB/BLE HID、多主机配对和低功耗。
一种适合开发板拖拽刷写的固件文件格式。进入 bootloader 后复制到虚拟磁盘即可。
进入接线关卡前,先确认你能回答
这些勾选只保存在当前浏览器,用于个人复习;不会把 Roadmap 阶段自动标成完成。正式完成状态必须来自接线照片、测量和实机测试。