Cum se utilizează PCF8575 I/O Expander cu Arduino

How to Use the PCF8575 I/O Expander with Arduino

PCF8575 este un expander I/O pe 16 biți care comunică cu un microcontroler prin interfața I2C. Vă permite să extindeți numărul de pini de intrare/ieșire pe Arduino, ceea ce îl face perfect pentru proiectele care necesită mulți senzori, butoane sau LED -uri. Acest tutorial vă va ghida prin conectare și utilizarea PCF8575 cu Arduino.


Ce vei avea nevoie

  1. PCF8575 Modul I/O Expander
  2. Arduino Board (de exemplu, Uno, Mega, Nano)
  3. Senzori, butoane sau LED -uri pentru testare
  4. Tablă de pâine și jumper
  5. Un computer cu IDE Arduino instalat

Pasul 1: Înțelegerea modulului PCF8575

PCF8575 oferă 16 pini GPIO suplimentari care pot fi configurați ca intrări sau ieșiri. Comunică prin protocolul I2C și are o adresă I2C reglabilă pentru conectarea mai multor module la același autobuz.

Pinout

Ac Funcţie
VCC Sursă de alimentare (3.3V/5V)
GND Sol
SDA Linia de date I2C
SCL Linia de ceas I2C
P0-P15 Pinii I/O de scop general

Configurarea adresei I2C

  • Adresa I2C este determinată de pinii A0, A1 și A2:
    • Toți pinii către GND: 0x20 (adresa implicită)
    • Toți pinii către VCC: 0x27

Pasul 2: Cablarea PCF8575 către Arduino

Iată cum să conectați PCF8575 la un Arduino:

Pin PCF8575 Pinul Arduino
VCC 5V
GND GND
SDA A4 (SDA)
SCL A5 (SCL)

Conectați-vă perifericele (de exemplu, LED-uri sau butoane) la pinii P0-P15.

Nota: Pentru alte plăci Arduino, asigurați -vă că utilizați pinii I2C corecți.


Pasul 3: Instalați biblioteca necesară

Pentru a simplifica lucrul cu PCF8575, instalați biblioteca „PCF8575”.

Pași pentru instalare:

  1. Deschideți IDE Arduino.
  2. Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
  3. Căutați „PCF8575” și faceți clic pe Instala.

Pasul 4: Încărcați codul

Exemplu: Controlul LED -urilor

Acest cod demonstrează cum să porniți și să dezactivați LED -urile folosind 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);
}

Exemplu: Butoane de citire

Acest cod demonstrează cum să citiți intrarea din butoanele conectate la 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);
}

Pasul 5: Testați configurarea

  1. Conectați Arduino la computer prin USB.
  2. Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
  3. Încărcați codul la Arduino făcând clic pe Încărcați.
  4. Pentru exemplul LED, observați LED -urile care se pornesc și se opresc. Pentru exemplul butonului, Butonul monitorizează în monitorul serial.

Aplicațiile PCF8575

  1. Extinderea acelor GPIO pentru proiectele Arduino
  2. Construirea matricilor LED complexe
  3. Citirea mai multor senzori sau tablouri de butoane
  4. Controlul releelor ​​și actuatorilor

Depanare

  • Fără răspuns din modul: Verificați conexiunile I2C și configurația adresei.
  • Lecturi inconsistente: Asigurați-vă o sursă de alimentare stabilă și rezistențe de tragere adecvate pentru liniile I2C.
  • Comportament incorect PIN: Moduri de pin dublu-verificare (intrare/ieșire) în cod.

Concluzie

Ați interfațat cu succes PCF8575 I/O Expander cu Arduino, permițându -vă să controlați sau să citiți din 16 pini GPIO suplimentari. Experimentați cu diferite periferice și extindeți -vă proiectele cu acest modul versatil!

Lasă un comentariu

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.