Pular para o conteúdo principal

IO Expander para XIAO

pir


O IO Expander para XIAO é uma placa de expansão de última geração projetada para aumentar as capacidades da série Seeed Studio XIAO. Alimentada pelo chip MCP23017, esta placa oferece 16 pinos de IO adicionais, permitindo que os usuários expandam seus projetos sem restrições. Seja você um hobbysta que deseja experimentar com mais componentes ou um profissional em busca de uma solução confiável de expansão de IO, esta placa foi feita sob medida para atender às suas necessidades. Sua compatibilidade com a série XIAO garante uma integração perfeita, tornando seu processo de desenvolvimento mais simples e eficiente.

Recursos

  • Integração perfeita com XIAO: Projetada para funcionar perfeitamente com a série Seeed Studio XIAO.
  • 16 pinos de IO adicionais: Alimentada pelo MCP23017, ela fornece 16 pinos de IO extras para seus projetos.
  • Interface I2C com endereço configurável: O endereço I2C padrão é 0x21, mas pode ser configurado para 0x20.
  • Design robusto: Construída com materiais de alta qualidade para garantir durabilidade e confiabilidade.

Especificações

  • Chip: MCP23017
  • Número de pinos de IO: 16
  • Protocolo de comunicação: I2C
  • Endereço I2C padrão: 0x21 (configurável para 0x20)
  • Tensão de operação: 3,3 V
  • Dimensões: 21 mm x 17 mm

Aplicações

O IO Expander para XIAO é versátil e pode ser usado em uma infinidade de aplicações, incluindo, mas não se limitando a:

  • Sistemas de automação residencial: Expanda o número de dispositivos que você pode controlar na sua configuração de casa inteligente.
  • Robótica: Adicione mais sensores, motores ou outros componentes ao seu robô sem ficar sem pinos de IO.
  • Consoles de jogos: Projete controles personalizados ou outros periféricos com uma grande quantidade de botões e chaves.
  • Sistemas de controle industrial: Gerencie mais dispositivos e sensores em sua instalação industrial.
  • Projetos educacionais: Ensine estudantes sobre microcontroladores e eletrônica sem ser limitado pelo número de pinos de IO.

Visão geral do hardware

Esta seção fornece uma visão geral detalhada dos vários componentes e interfaces na placa XIAO IO Expander.

pir

0. Pads padrão do XIAO

Estes são os pads padrão para conectar o microcontrolador XIAO.

1. Pads J1

Os pads J1 permitem que os usuários decidam se desejam conectar os pinos RST, INTB e INTA do MCP23017 aos pinos D6, D1 e D0 do XIAO por meio de soldagem. De cima para baixo, eles são RST, INTB, INTA.

Por padrão, quando você usa a placa de expansão, os pads de saída adicionais na área 8 estão habilitados. Se você não quiser habilitá-los, precisa cortar com uma faca os dois pads adjacentes na área J1.

2. Chip MCP23017

Este é o principal chip expansor de I/O, fornecendo 16 IOs adicionais.

3. Pads J2

Este pad é para selecionar o endereço I2C. O endereço padrão é 0x21. Se você soldar este pad, o endereço pode ser alterado para 0x20.

4. Pinos de saída MCP23017

Estes são os pinos de saída do chip MCP23017. A definição de cada pino pode ser vista na parte de trás da placa. Eles vão de PA0 a PB7, fornecendo um total de 16 IOs.

5. Pads Grove

Se você desejar conectar um módulo Grove, pode soldar o soquete Grove fornecido. Esta interface Grove está conectada ao barramento I2C. Se você optar por usar os pinos IIC aqui, então não poderá usar os pinos de IO estendidos na área 4.

6. Pino VCC

Este é um pino de saída que pode ser usado para alimentar outros componentes.

7. Pino GND

Este também é um pino de saída que pode ser usado como aterramento para outros componentes.

8. Pads de saída adicionais

Estes são alguns pads de saída adicionais, incluindo GND, INTB, INTA, RST. Se você desejar soldar estes pinos para uso em outro lugar, pode fazê-lo.

Primeiros passos

Bem-vindo ao guia de início rápido do IO Expander para XIAO. Este guia tem como objetivo ajudá-lo a configurar e começar a usar sua nova placa IO Expander em conjunto com o controlador principal XIAO RP2040.

Preparação de hardware

Existem três principais maneiras de usar esta placa de expansão,

Modo 1: SMD

Se o seu XIAO estiver com pinos não soldados, então você pode escolher o método SMD direto para soldar o XIAO e a placa de expansão na placa de circuito impresso (PCB) para usar a função de expansão de GPIO.

pir

nota

As PCBs mostradas nas imagens são apenas para demonstração e não estavam disponíveis para venda nas prateleiras na data deste artigo.

Modo 2: XIAO conecta-se diretamente à placa de expansão através da fileira de pinos

Nesta abordagem, você tem a opção de soldar fios de conexão diretamente na placa de expansão de GPIO para conectar seu dispositivo alvo.

pir

Modo 3: XIAO conecta-se com a placa de expansão através da longa fileira de pinos, e a placa de expansão é estendida soldando a fileira de pinos

Com este método de conexão, você é livre para instalar cabos DuPont na placa de expansão de GPIO. Fiação conveniente para a sua aplicação.

pir

Quando a soldagem estiver concluída, você poderá prosseguir para conectar a placa de expansão ao controlador principal XIAO RP2040.

Para programar o XIAO RP2040, você precisará de um cabo de dados USB TYPE-C. Conecte uma extremidade ao XIAO RP2040 e a outra ao seu computador. Para um guia detalhado sobre como programar o XIAO RP2040, consulte este Wiki.

pir

Preparação de software

Antes de começar a programar a placa, você precisará de uma biblioteca específica para o XIAO. Baixe a biblioteca MCP23017 neste link do GitHub. Depois de baixá-la, instale a biblioteca em seu ambiente de programação.


Demo: saída de IO em nível alto e baixo

No Arduino IDE, abra um novo sketch e copie o código de exemplo a seguir:

#include <Adafruit_MCP23X17.h>

Adafruit_MCP23X17 mcp;

void setup() {
Serial.begin(9600);
Serial.println("MCP23xxx Blink Test!");
if (!mcp.begin_I2C()) {
Serial.println("Error.");
while (1);
}

Serial.println("Looping...");

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);
}

Carregue o código acima para o seu XIAO. Após o código ser carregado com sucesso, você verá que todos os pinos estão em nível alto de 3,3 V, exceto o pino PB7.

cuidado

Esta placa de expansão só pode usar entradas e saídas digitais, não funções de entrada e saída PWM ou analógicas.

Endereçamento de pinos

Ao usar operações de pino único como pinMode(pinId, dir) ou digitalRead(pinId) ou digitalWrite(pinId, val) então os pinos são endereçados usando os IDs abaixo. Por exemplo, para definir o modo de GPB0 use pinMode(8, ...). NOTA O MCP23008 e o MCP23S08 possuem apenas pinos GPAx.

Pino MCP23x17 #Nome do pinoID do pino
21GPA00
22GPA11
23GPA22
24GPA33
25GPA44
26GPA55
27GPA66
28GPA77
1GPB08
2GPB19
3GPB210
4GPB311
5GPB412
6GPB513
7GPB614
8GPB715

Perguntas Frequentes (FAQ)

1. Por que meu IO Expander para XIAO não está respondendo?

Resposta: Certifique-se de que o módulo XIAO está corretamente conectado à placa de expansão. Além disso, verifique se as bibliotecas necessárias estão instaladas e se a placa e a porta corretas estão selecionadas na IDE do Arduino.

2. Posso usar o IO Expander para XIAO com outros microcontroladores?

Resposta: Sim, o IO Expander foi projetado principalmente para o módulo XIAO, mas pode ser usado com outros microcontroladores que suportem comunicação I2C. Talvez seja necessário ajustar o código e as conexões de acordo.

3. Como altero o endereço I2C do chip MCP23017 no IO Expander para XIAO?

Resposta: O endereço I2C padrão é definido como 0x21. Se você quiser alterá-lo para 0x20, há um jumper rotulado como "J2" na placa. Você precisará soldar o jumper J2 para mudar o endereço.

4. Estou recebendo ruído ou comportamento irregular nos meus pinos de IO. O que pode ser a causa?

Resposta: Certifique-se de que as conexões estejam firmes e que não haja interferência. O uso de resistores de pull-up ou pull-down pode ajudar a estabilizar os pinos de entrada. Além disso, garanta que a fonte de alimentação seja estável e possa fornecer a corrente necessária para todos os dispositivos conectados.

Recursos

Suporte Técnico e Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes formas de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...