1.简介

就像人与人之间需要通过语言交流一样,电子设备之间的交流也需要一些通用语言,这些语言通常被称为通信协议,Grove Zero 模块所使用的的I2C通信协议就是其中的一种。

在I2C通信中,每个I2C设备必须有一个唯一的地址——地址只能从0到127(0 to 0x7F hex)。这意味着,如果你有两个加速度计模块,它们都有地址0x22,则不能同时一起使用。

每个输入模块和输出模块在出厂时就设定好了专属的I2C地址,通过设置拨码开关上的开关位置,可以改变模块的I2C地址,实现多个相同模块同时使用。

2. 2 位拨码开关

目前,支持多地址的Grove Zero 模块大多数为2位拨码开关。以「双按钮开关」为例,2位拨码开关的1号开关和2号开关初始位置为0,向上拨后为1,通过二进制组合,可以得到00,01,10,11 共计4个状态,分别对应编号1 ~ 4,如下表所示:

2位拨码开关
image.png image.png image.png image.png
0 0 0 1 1 0 1 1
编号 1 编号 2 编号 3 编号 4

3. 4 位拨码开关

RGB LED 矩阵」是目前唯一一个配备了4位拨码开关的,则最多可以支持16个地址:

提示 考虑到供电限制及使用体验,目前我们仅为RGB LED 矩阵开放了9个地址。

4 位拨码开关
image.png
0 0 0 0
编号 1
image.png
0 0 0 1
编号 2
image.png
0 0 1 0
编号 3
image.png
0 0 1 1
编号 4
image.png
0 1 0 0
编号 5
image.png
0 1 0 1
编号 6
image.png
0 1 1 0
编号 7
image.png
0 1 1 1
编号 8
image.png
1 0 0 0
编号 9
image.png
1 0 0 1
编号 10 (未开放)
image.png
1 0 1 0
编号 11 (未开放)
image.png
1 0 1 1
编号 12 (未开放)
image.png
1 1 0 0
编号 13 (未开放)
image.png
1 1 0 1
编号 14 (未开放)
image.png
1 1 1 0
编号 15 (未开放)
image.png
1 1 1 1
编号 16 (未开放)

4. 支持多地址的模块

以下模块可通过设置拨码开关实现多个相同模块同时使用。

image.png image.png image.png image.png image.png
双按钮开关
(最多支持4个)
机械按钮开关
(最多支持4个)
旋钮调节器
(最多支持4个)
滑动变阻器
(最多支持4个)
多触摸开关
(最多支持4个)
image.png
RGB LED 矩阵
(最多支持9个)