Cómo usar el expansor de E/S PCF8575 con Arduino

How to Use the PCF8575 I/O Expander with Arduino

El PCF8575 es un expansor de E/S de 16 bits que se comunica con un microcontrolador a través de la interfaz I2C. Le permite expandir el número de pines de entrada/salida en su Arduino, lo que lo hace perfecto para proyectos que requieren muchos sensores, botones o LED. Este tutorial lo guiará a través de la conexión y el uso del PCF8575 con Arduino.


Lo que necesitarás

  1. PCF8575 Módulo de expansión de E/S
  2. Arduino Board (por ejemplo, Uno, Mega, Nano)
  3. Sensores, botones o LED para realizar pruebas
  4. Cables de placa y jersey
  5. Una computadora con el Arduino IDE instalado

Paso 1: Comprender el módulo PCF8575

El PCF8575 proporciona 16 pines GPIO adicionales que se pueden configurar como entradas o salidas. Se comunica a través del protocolo I2C y tiene una dirección I2C ajustable para conectar múltiples módulos al mismo bus.

Pinout

Alfiler Función
VCC Fuente de alimentación (3.3V/5V)
Gnd Suelo
SDA Línea de datos I2C
SCL Línea de reloj I2C
P0-P15 Alfileres de E/S de propósito general

Configuración de la dirección I2C

  • La dirección I2C está determinada por los pines A0, A1 y A2:
    • Todos los alfileres para GND: 0x20 (dirección predeterminada)
    • Todos los pines a VCC: 0x27

Paso 2: Cableado el PCF8575 a Arduino

Aquí le mostramos cómo conectar el PCF8575 a un Arduino:

Pin PCF8575 Alfiler de arduino
VCC 5V
Gnd Gnd
SDA A4 (SDA)
SCL A5 (SCL)

Conecte sus periféricos (por ejemplo, LED o botones) a los pines P0-P15.

Nota: Para otros tableros Arduino, asegúrese de usar los pines I2C correctos.


Paso 3: Instale la biblioteca requerida

Para simplificar el trabajo con el PCF8575, instale la biblioteca "PCF8575".

Pasos para instalar:

  1. Abra el IDE Arduino.
  2. Ir a Bosquejo > Incluir biblioteca > Administrar bibliotecas.
  3. Busque "PCF8575" y haga clic en Instalar.

Paso 4: cargar el código

Ejemplo: controladores de LED

Este código demuestra cómo activar y desactivar los LED usando el PCF8575:

#include <Wire.h>
#include <PCF8575.h>

PCF8575 pcf8575(0x20); // Initialize with the default I2C address

void setup() {
  Serial.begin(9600);

  // Set all pins as outputs
  for (int i = 0; i < 16; i++) {
    pcf8575.pinMode(i, OUTPUT);
  }

  Serial.println("PCF8575 initialized.");
}

void loop() {
  // Turn all LEDs on
  for (int i = 0; i < 16; i++) {
    pcf8575.digitalWrite(i, HIGH);
  }
  delay(1000);

  // Turn all LEDs off
  for (int i = 0; i < 16; i++) {
    pcf8575.digitalWrite(i, LOW);
  }
  delay(1000);
}

Ejemplo: Botones de lectura

Este código demuestra cómo leer la entrada de los botones conectados al PCF8575:

#include <Wire.h>
#include <PCF8575.h>

PCF8575 pcf8575(0x20); // Initialize with the default I2C address

void setup() {
  Serial.begin(9600);

  // Set all pins as inputs
  for (int i = 0; i < 16; i++) {
    pcf8575.pinMode(i, INPUT);
  }

  Serial.println("PCF8575 initialized.");
}

void loop() {
  for (int i = 0; i < 16; i++) {
    int state = pcf8575.digitalRead(i);
    Serial.print("Pin ");
    Serial.print(i);
    Serial.print(": ");
    Serial.println(state);
  }
  delay(500);
}

Paso 5: prueba la configuración

  1. Conecte el Arduino a su computadora a través de USB.
  2. Abra el IDE Arduino y seleccione el correcto Junta y Puerto bajo el Herramientas menú.
  3. Sube el código al Arduino haciendo clic en Subir.
  4. Para el ejemplo de LED, observa los LED encendidos y apagados. Para el ejemplo del botón, los estados del botón de monitor en el monitor en serie.

Aplicaciones del PCF8575

  1. Expandir Pins GPIO para proyectos Arduino
  2. Construcción de matrices LED complejas
  3. Leer múltiples sensores o matrices de botones
  4. Controladores de relés y actuadores

Solución de problemas

  • Sin respuesta del módulo: Verifique las conexiones I2C y la configuración de la dirección.
  • Lecturas inconsistentes: Asegúrese de una fuente de alimentación estable y resistencias de pull-up adecuadas para las líneas I2C.
  • Comportamiento incorrecto del PIN: Modos de pin de doble verificación (entrada/salida) en el código.

Conclusión

Has interactuado con éxito el expansor de E/S PCF8575 con Arduino, lo que le permite controlar o leer desde 16 pines GPIO adicionales. ¡Experimente con diferentes periféricos y expanda sus proyectos con este módulo versátil!

Escribir un comentario

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.