Skip to main content

XIAO 的 IO 扩展板

note

本文档由 AI 翻译。如您发现内容有误或有改进建议,欢迎通过页面下方的评论区,或在以下 Issue 页面中告诉我们:https://github.com/Seeed-Studio/wiki-documents/issues

pir


XIAO 的 IO 扩展板是一款先进的扩展板,旨在增强 Seeed Studio XIAO 系列的功能。该扩展板由 MCP23017 芯片驱动,提供额外的 16 个 IO 引脚,使用户能够在项目中实现更多功能,无需受限。无论您是希望尝试更多组件的爱好者,还是寻求可靠 IO 扩展解决方案的专业人士,这款扩展板都能满足您的需求。其与 XIAO 系列的兼容性确保了无缝集成,使您的开发过程更加顺畅高效。

特性

  • 与 XIAO 无缝集成:专为 Seeed Studio XIAO 系列设计。
  • 16 个额外的 IO 引脚:由 MCP23017 提供支持,为您的项目提供额外的 16 个 IO 引脚。
  • 可配置地址的 I2C 接口:默认 I2C 地址为 0x21,可配置为 0x20。
  • 坚固设计:采用高质量材料制造,确保耐用性和可靠性。

规格

  • 芯片:MCP23017
  • IO 引脚数量:16
  • 通信协议:I2C
  • 默认 I2C 地址:0x21(可配置为 0x20)
  • 工作电压:3.3V
  • 尺寸:21mm x 17mm

应用场景

XIAO 的 IO 扩展板用途广泛,可用于多种应用场景,包括但不限于:

  • 家庭自动化系统:扩展您智能家居设置中可控制的设备数量。
  • 机器人:为您的机器人添加更多传感器、电机或其他组件,而无需担心 IO 引脚不足。
  • 游戏控制台:设计带有大量按钮和开关的自定义控制器或其他外设。
  • 工业控制系统:在工业设置中管理更多设备和传感器。
  • 教育项目:在教学中使用微控制器和电子产品,不受 IO 引脚数量限制。

硬件概览

本节详细介绍了 XIAO IO 扩展板上的各种组件和接口。

pir

0. 标准 XIAO 焊盘

这些是用于连接 XIAO 微控制器的标准焊盘。

1. J1 焊盘

J1 焊盘允许用户通过焊接决定是否将 MCP23017 的 RST、INTB 和 INTA 引脚连接到 XIAO 的 D6、D1 和 D0 引脚。从上到下分别是 RST、INTB、INTA。

默认情况下,当您使用扩展板时,区域 8 的额外输出焊盘是启用的。如果您不想启用它们,需要用刀切断 J1 区域中两个相邻的焊盘。

2. MCP23017 芯片

这是主要的 I/O 扩展芯片,提供额外的 16 个 IO。

3. J2 焊盘

此焊盘用于选择 I2C 地址。默认地址为 0x21。如果焊接此焊盘,地址可更改为 0x20。

4. MCP23017 输出引脚

这些是 MCP23017 芯片的输出引脚。每个引脚的定义可以在板子的背面看到。范围从 PA0 到 PB7,总共提供 16 个 IO。

5. Grove 焊盘

如果您希望连接 Grove 模块,可以焊接提供的 Grove 插座。此 Grove 接口连接到 I2C 总线。如果您选择在此处使用 IIC 引脚,则无法使用区域 4 的扩展 IO 引脚。

6. VCC 引脚

这是一个输出引脚,可用于为其他组件供电。

7. GND 引脚

这是另一个输出引脚,可用于为其他组件接地。

8. 额外输出焊盘

这些是一些额外的输出焊盘,包括 GND、INTB、INTA、RST。如果您希望将这些引脚焊接到其他地方使用,可以进行焊接。

快速入门

欢迎使用 XIAO IO 扩展板快速入门指南。本指南旨在帮助您设置并开始使用新的 IO 扩展板与 XIAO RP2040 主控板。

硬件准备

使用此扩展板主要有三种方式:

模式 1:SMD

如果您的 XIAO 未焊接引脚,则可以选择直接通过 SMD 方法将 XIAO 和扩展板焊接到 PCB 板上,以使用 GPIO 扩展功能。

pir

note

图片中的 PCB 板仅供展示,截至本文发布时尚未上架销售。

模式 2:通过排针直接连接 XIAO 和扩展板

在这种方式中,您可以选择直接将连接线焊接到 GPIO 扩展板上,以连接目标设备。

pir

模式 3:通过长排针连接 XIAO 和扩展板,并通过焊接排针扩展扩展板

通过这种连接方式,您可以自由地将杜邦线安装到 GPIO 扩展板上,方便您的应用布线。

pir

焊接完成后,您可以将扩展板连接到 XIAO RP2040 主控板。

要对 XIAO RP2040 进行编程,您需要一根 TYPE-C USB 数据线。将一端连接到 XIAO RP2040,另一端连接到您的计算机。有关编程 XIAO RP2040 的详细指南,请参考此 Wiki

pir

软件准备

在开始为板子编程之前,您需要为 XIAO 准备一个特定的库。从这个 GitHub 链接 下载 MCP23017 库。下载完成后,将库安装到您的编程环境中。


演示:IO 输出高低电平

在 Arduino IDE 中,打开一个新草图并复制以下示例代码:

#include <Adafruit_MCP23X17.h>

Adafruit_MCP23X17 mcp;

void setup() {
Serial.begin(9600);
Serial.println("MCP23xxx 闪烁测试!");
if (!mcp.begin_I2C()) {
Serial.println("错误。");
while (1);
}

Serial.println("循环中...");

for(int i=0; i<16; i++) {
mcp.pinMode(i, OUTPUT); // 设置所有引脚为输出模式
}
}

void loop() {
mcp.digitalWrite(15, LOW); //PB7 设置为低电平
mcp.digitalWrite(14, HIGH); //PB6 设置为高电平
mcp.digitalWrite(13, HIGH); //PB5 设置为高电平
mcp.digitalWrite(12, HIGH); //PB4 设置为高电平
mcp.digitalWrite(11, HIGH); //PB3 设置为高电平
mcp.digitalWrite(10, HIGH); //PB2 设置为高电平
mcp.digitalWrite(9, HIGH); //PB1 设置为高电平
mcp.digitalWrite(8, HIGH); //PB0 设置为高电平
mcp.digitalWrite(7, HIGH); //PA7 设置为高电平
mcp.digitalWrite(6, HIGH); //PA6 设置为高电平
mcp.digitalWrite(5, HIGH); //PA5 设置为高电平
mcp.digitalWrite(4, HIGH); //PA4 设置为高电平
mcp.digitalWrite(3, HIGH); //PA3 设置为高电平
mcp.digitalWrite(2, HIGH); //PA2 设置为高电平
mcp.digitalWrite(1, HIGH); //PA1 设置为高电平
mcp.digitalWrite(0, HIGH); //PA0 设置为高电平
delay(1000); // 延迟 1 秒
}

将上述代码上传到您的 XIAO。代码成功上传后,您会看到除 PB7 引脚外,所有引脚均为 3.3V 高电平。

caution

此扩展板只能使用数字输入和输出功能,不能使用 PWM 或模拟输入输出功能。

引脚地址

当使用单个引脚操作(如 pinMode(pinId, dir)digitalRead(pinId)digitalWrite(pinId, val))时,引脚通过以下 ID 进行寻址。例如,要设置 GPB0 的模式,请使用 pinMode(8, ...)注意 MCP23008 和 MCP23S08 仅有 GPAx 引脚。

MCP23x17 引脚号引脚名称引脚 ID
21GPA00
22GPA11
23GPA22
24GPA33
25GPA44
26GPA55
27GPA66
28GPA77
1GPB08
2GPB19
3GPB210
4GPB311
5GPB412
6GPB513
7GPB614
8GPB715

常见问题解答

1. 为什么我的 XIAO IO 扩展板没有响应?

:请确保 XIAO 模块正确插入扩展板。此外,检查是否已安装必要的库,并在 Arduino IDE 中选择了正确的板子和端口。

2. 我可以将 XIAO IO 扩展板与其他微控制器一起使用吗?

:可以。虽然 IO 扩展板主要为 XIAO 模块设计,但它也可以与支持 I2C 通信的其他微控制器一起使用。您可能需要相应调整代码和连接。

3. 如何更改 IO 扩展板上 MCP23017 芯片的 I2C 地址?

:默认 I2C 地址设置为 0x21。如果您想将其更改为 0x20,板子上有一个标记为 "J2" 的跳线。您需要焊接 J2 跳线以更改地址。

4. 我的 IO 引脚出现噪声或不稳定行为,可能的原因是什么?

:请确保连接牢固且没有干扰。使用上拉或下拉电阻可以帮助稳定输入引脚。此外,请确保电源稳定并能为所有连接设备提供必要的电流。

资源

技术支持与产品讨论

感谢您选择我们的产品!我们为您提供多种支持,以确保您使用我们的产品时体验顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...