跳到主要内容

硬件接口

引脚定义​

Modulino Knob 引脚图

接口或信号用途
两个 Qwiic 与 1×4 焊盘GND、3.3 V、SDA、SCL,同一 I2C 总线
PA2按压开关
PA0、PA1编码器 A、B 相
GND、3V3电源与公共地
PF2 / RESETMCU 复位
SWCLK、SWDIOSWD 调试
TX1、RX1UART 扩展信号

1×10 焊盘顺序以引脚图为准。正常使用由板载 MCU 采集编码器,不把 PA0、PA1、PA2 与主控输出直接对接。

I2C 地址选择​

Knob 的默认 7 位地址可能为 0x3A 或 0x3B,官方库同时支持两者。单个模块使用官方库时,优先保留自动识别,无需预先二选一:

ModulinoKnob knob;

按官方 Knob 示例在初始化时调用 Modulino.begin() 和 knob.begin()。若需要手动指定地址,先只连接一块 Knob,在实际连接的 I2C 总线上扫描,再按结果设置:

扫描结果官方库对象声明Wire 使用的地址
0x3AModulinoKnob knob(0x3A);0x3A
0x3BModulinoKnob knob(0x3B);0x3B
未发现设备先检查供电、SDA/SCL 和所用总线不靠反复替换地址排查接线

在 UNO R4 WiFi、Nano R4 等主控上使用 Qwiic 时,注意扫描对应的 Wire1 总线;扫描 Wire 不能代替扫描另一路 I2C。

0x74、0x76 与 7 位地址​

官方地址工具把 Knob 标识为 Encoder,并列出两组对应关系:

固件 pinstrap 标识对应的默认 7 位地址
0x740x3A
0x760x3B

手册将 0x76 和 0x3A 放在同一行,不能据此把两者当作同一个地址。Wire 和 ModulinoKnob 的显式地址参数使用 7 位地址,不直接填入 0x74 或 0x76。

依据:Arduino_Modulino 地址工具源码(GitHub) 与 Arduino_Modulino 设备发现源码(GitHub)。示例通过 Arduino IDE 的官方库打开。

多模块改址​

同一总线上有多个地址冲突的 Knob 时,先只连接一块,在库的 Utilities 中打开 AddressChanger,按 115200 波特率查看设备表的 ADDR 列。输入“当前地址 新地址”,例如 0x3A 0x3C;仅在当前地址确为 0x3A 且 0x3C 未被占用时使用该示例。改址后重新上电并确认扫描结果,再接入其他模块。自定义地址在程序中显式指定,不依赖默认地址自动发现。

上拉与调试​

I2C 上拉默认未安装,手册建议在需要时使用 4.7 kΩ、0402 电阻。先检查主控和其他节点已有上拉,避免重复并联。SWD 固件改写会影响原有功能,入门读取旋钮无需重刷模块。