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位拨码开关 | |||
---|---|---|---|
0 0 | 0 1 | 1 0 | 1 1 |
编号 1 | 编号 2 | 编号 3 | 编号 4 |
3. 4 位拨码开关
「RGB LED 矩阵」是目前唯一一个配备了4位拨码开关的,则最多可以支持16个地址:
提示 考虑到供电限制及使用体验,目前我们仅为RGB LED 矩阵开放了9个地址。
4 位拨码开关 | |||
---|---|---|---|
0 0 0 0 编号 1 |
0 0 0 1 编号 2 |
0 0 1 0 编号 3 |
0 0 1 1 编号 4 |
0 1 0 0 编号 5 |
0 1 0 1 编号 6 |
0 1 1 0 编号 7 |
0 1 1 1 编号 8 |
1 0 0 0 编号 9 |
1 0 0 1 编号 10 (未开放) |
1 0 1 0 编号 11 (未开放) |
1 0 1 1 编号 12 (未开放) |
1 1 0 0 编号 13 (未开放) |
1 1 0 1 编号 14 (未开放) |
1 1 1 0 编号 15 (未开放) |
1 1 1 1 编号 16 (未开放) |
4. 支持多地址的模块
以下模块可通过设置拨码开关实现多个相同模块同时使用。
双按钮开关 (最多支持4个) |
机械按钮开关 (最多支持4个) |
旋钮调节器 (最多支持4个) |
滑动变阻器 (最多支持4个) |
多触摸开关 (最多支持4个) |
RGB LED 矩阵 (最多支持9个) |