Saltar al contenido principal

IO Expander para XIAO

pir

precaución

Este producto ya no está disponible para su compra.

El IO Expander para XIAO es una placa de expansión de última generación diseñada para mejorar las capacidades de la serie Seeed Studio XIAO. Impulsada por el chip MCP23017, esta placa ofrece 16 pines IO adicionales, lo que permite a los usuarios ampliar sus proyectos sin limitaciones. Tanto si eres un aficionado que quiere experimentar con más componentes como si eres un profesional que busca una solución fiable de expansión de IO, esta placa está diseñada para satisfacer tus necesidades. Su compatibilidad con la serie XIAO garantiza una integración perfecta, haciendo que tu proceso de desarrollo sea más fluido y eficiente.

Características

  • Integración perfecta con XIAO: Diseñada para funcionar a la perfección con la serie Seeed Studio XIAO.
  • 16 pines IO adicionales: Impulsada por el MCP23017, proporciona 16 pines IO extra para tus proyectos.
  • Interfaz I2C con dirección configurable: La dirección I2C predeterminada es 0x21, pero se puede configurar a 0x20.
  • Diseño robusto: Construida con materiales de alta calidad para garantizar durabilidad y fiabilidad.

Especificación

  • Chip: MCP23017
  • Número de pines IO: 16
  • Protocolo de comunicación: I2C
  • Dirección I2C predeterminada: 0x21 (configurable a 0x20)
  • Voltaje de funcionamiento: 3.3V
  • Dimensiones: 21mm x 17.8mm

Aplicaciones

El IO Expander para XIAO es versátil y se puede utilizar en multitud de aplicaciones, incluidas, entre otras:

  • Sistemas de automatización del hogar: Amplía el número de dispositivos que puedes controlar en tu configuración de hogar inteligente.
  • Robótica: Añade más sensores, motores u otros componentes a tu robot sin quedarte sin pines IO.
  • Consolas de juego: Diseña controladores personalizados u otros periféricos con una gran cantidad de botones e interruptores.
  • Sistemas de control industrial: Gestiona más dispositivos y sensores en tu entorno industrial.
  • Proyectos educativos: Enseña a los estudiantes sobre microcontroladores y electrónica sin estar limitado por el número de pines IO.

Descripción general del hardware

Esta sección proporciona una descripción detallada de los distintos componentes e interfaces de la placa XIAO IO Expander.

pir

0. Pads estándar de XIAO

Estos son los pads estándar para conectar el microcontrolador XIAO.

1. Pads J1

Los pads J1 permiten a los usuarios decidir si conectan los pines RST, INTB e INTA del MCP23017 a los pines D6, D1 y D0 de XIAO mediante soldadura. De arriba a abajo, son RST, INTB, INTA.

De forma predeterminada, cuando utilizas la placa de expansión, los pads de salida adicionales en el área 8 están habilitados. Si no deseas habilitarlos, debes cortar con un cuchillo las dos almohadillas adyacentes en el área J1.

2. Chip MCP23017

Este es el chip principal de expansión de E/S, que proporciona 16 IO adicionales.

3. Pads J2

Este pad es para seleccionar la dirección I2C. La dirección predeterminada es 0x21. Si sueldas este pad, la dirección se puede cambiar a 0x20.

4. Pines de salida del MCP23017

Estos son los pines de salida del chip MCP23017. La definición de cada pin se puede ver en la parte posterior de la placa. Van desde PA0 hasta PB7, proporcionando un total de 16 IO.

5. Pads Grove

Si deseas conectar un módulo Grove, puedes soldar el zócalo Grove proporcionado. Esta interfaz Grove está conectada al bus I2C. Si decides utilizar aquí los pines IIC, entonces no podrás utilizar los pines IO extendidos en el área 4.

6. Pin VCC

Este es un pin de salida que se puede utilizar para alimentar otros componentes.

7. Pin GND

Este también es un pin de salida que se puede utilizar como tierra para otros componentes.

8. Pads de salida adicionales

Estos son algunos pads de salida adicionales, incluidos GND, INTB, INTA, RST. Si deseas soldar estos pines para utilizarlos en otro lugar, puedes hacerlo.

Primeros pasos

Bienvenido a la guía de inicio rápido del IO Expander para XIAO. Esta guía tiene como objetivo ayudarte a configurar y comenzar a utilizar tu nueva placa IO Expander junto con el controlador principal XIAO RP2040.

Preparación de hardware

Hay tres formas principales de utilizar esta placa de expansión,

Modo 1: SMD

Si tu XIAO no tiene pines soldados, entonces puedes elegir el método SMD directo para soldar el XIAO y la placa de expansión a la placa PCB para utilizar la función de expansión GPIO.

pir

nota

Las PCBs que se muestran son solo para exhibición y no estaban en los estantes para la venta en el momento de redactar el artículo.

Modo 2: XIAO se conecta directamente con la placa de expansión a través de la hilera de pines

En este enfoque, tienes la opción de soldar cables de conexión directamente a la placa de expansión GPIO para conectar tu dispositivo objetivo.

pir

Modo 3: XIAO se conecta con la placa de expansión a través de la hilera larga de pines, y la placa de expansión se amplía soldando la hilera de pines

Con este método de conexión, eres libre de instalar cables DuPont en la placa de expansión GPIO. Cableado conveniente para tu aplicación.

pir

Una vez que la soldadura esté completa, puedes proceder a conectar la placa de expansión al controlador principal XIAO RP2040.

Para programar el XIAO RP2040, necesitarás un cable de datos USB TYPE-C. Conecta un extremo al XIAO RP2040 y el otro a tu ordenador. Para una guía detallada sobre cómo programar el XIAO RP2040, consulta este Wiki.

pir

Preparación de software

Antes de poder empezar a programar la placa, necesitarás una biblioteca específica para XIAO. Descarga la biblioteca MCP23017 desde este enlace de GitHub. Una vez descargada, instala la biblioteca en tu entorno de programación.


Demo: salida IO en nivel alto y bajo

En el IDE de Arduino, abre un nuevo sketch y copia el siguiente código de ejemplo:

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

Sube el código anterior a tu XIAO. Después de que el código se cargue correctamente, verás que todos los pines están a un nivel alto de 3.3V excepto el pin PB7.

precaución

Esta placa de expansión solo puede utilizar entradas y salidas digitales, no funciones de PWM ni de entrada y salida analógica.

Direccionamiento de pines

Cuando se utilizan operaciones de un solo pin como pinMode(pinId, dir) o digitalRead(pinId) o digitalWrite(pinId, val) entonces los pines se direccionan utilizando los ID que aparecen a continuación. Por ejemplo, para establecer el modo de GPB0 utiliza pinMode(8, ...). NOTA El MCP23008 y el MCP23S08 solo tienen pines GPAx.

Pin MCP23x17 #Nombre de pinID de pin
21GPA00
22GPA11
23GPA22
24GPA33
25GPA44
26GPA55
27GPA66
28GPA77
1GPB08
2GPB19
3GPB210
4GPB311
5GPB412
6GPB513
7GPB614
8GPB715

Preguntas frecuentes (FAQ)

1. ¿Por qué mi IO Expander para XIAO no responde?

Respuesta: Asegúrate de que el módulo XIAO esté correctamente conectado a la placa de expansión. Además, comprueba si las bibliotecas necesarias están instaladas y si la placa y el puerto correctos están seleccionados en el IDE de Arduino.

2. ¿Puedo usar el IO Expander para XIAO con otros microcontroladores?

Respuesta: Sí, el IO Expander está diseñado principalmente para el módulo XIAO, pero se puede usar con otros microcontroladores que admitan comunicación I2C. Es posible que necesites ajustar el código y las conexiones en consecuencia.

3. ¿Cómo cambio la dirección I2C del chip MCP23017 en el IO Expander para XIAO?

Respuesta: La dirección I2C predeterminada está configurada en 0x21. Si quieres cambiarla a 0x20, hay un puente etiquetado como "J2" en la placa. Necesitarás soldar el puente J2 para cambiar la dirección.

4. Estoy obteniendo ruido o un comportamiento errático en mis pines IO. ¿Cuál podría ser la causa?

Respuesta: Asegúrate de que las conexiones sean firmes y que no haya interferencias. El uso de resistencias pull-up o pull-down puede ayudar a estabilizar los pines de entrada. Además, asegúrate de que la fuente de alimentación sea estable y pueda proporcionar la corriente necesaria para todos los dispositivos conectados.

Recursos

Soporte técnico y debate sobre el producto

Gracias por elegir nuestros productos. Estamos aquí para ofrecerte diferentes tipos de soporte y garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diferentes preferencias y necesidades.

Loading Comments...