Get free delivery on all orders over £20!

Hogyan kell használni a PCF8575 I/O Expander -t Arduino -val

How to Use the PCF8575 I/O Expander with Arduino

A PCF8575 egy 16 bites I/O-expander, amely az I2C interfészen keresztül egy mikrovezérlővel kommunikál. Ez lehetővé teszi az Arduino bemeneti/kimeneti csapjainak számának kibővítését, így tökéletes a projektekhez, amelyek sok érzékelőt, gombot vagy LED -t igényelnek. Ez az oktatóanyag vezeti a PCF8575 csatlakoztatását és használatát az Arduino -val.


Mire lesz szüksége

  1. PCF8575 I/O Expander modul
  2. Arduino Board (például Uno, Mega, Nano)
  3. Érzékelők, gombok vagy LED -ek a teszteléshez
  4. Kenyérlemez és jumper vezetékek
  5. Egy számítógép, amelyen az Arduino IDE telepített

1. lépés: A PCF8575 modul megértése

A PCF8575 16 további GPIO -csapot biztosít, amelyeket bemenetekként vagy kimenetekként lehet konfigurálni. Az I2C protokollon keresztül kommunikál, és beállítható I2C -címmel rendelkezik, hogy több modult csatlakozzon ugyanazon buszhoz.

Poggyász

Csap Funkció
VCC Tápegység (3,3 V/5 V)
GND Föld
SDA I2C adatsor
SCL I2C óravonal
P0-P15 Általános cél I/O csapok

I2C címkonfiguráció

  • Az I2C címet az A0, A1 és A2 csapok határozzák meg:
    • Minden csap a GND -hez: 0x20 (Alapértelmezett cím)
    • Minden csap a VCC -hez: 0x27

2. lépés: A PCF8575 vezetékesítése Arduino -ra

Így lehet csatlakoztatni a PCF8575 -et egy Arduino -hoz:

PCF8575 PIN Arduino Pin
VCC 5 V -os
GND GND
SDA A4 (SDA)
SCL A5 (SCL)

Csatlakoztassa a perifériákat (például LED-eket vagy gombokat) a P0-P15 csapokhoz.

Jegyzet: Más Arduino táblákhoz győződjön meg arról, hogy a helyes I2C csapokat használja.


3. lépés: Telepítse a szükséges könyvtárat

A PCF8575 -mel való munka egyszerűsítéséhez telepítse a "PCF8575" könyvtárat.

A telepítéshez szükséges lépések:

  1. Nyissa meg az Arduino IDE -t.
  2. Elindul Vázlat > Tartalmazza a könyvtárat > Könyvtárak kezelése.
  3. Keresse meg a "PCF8575" -et, és kattintson Beilleszt.

4. lépés: Töltse fel a kódot

Példa: A LED -ek ellenőrzése

Ez a kód bemutatja, hogyan lehet be- és kikapcsolni a PCF8575 használatával:

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

Példa: A gombok olvasása

Ez a kód bemutatja, hogyan kell olvasni a bemenetet a PCF8575 -hez csatlakoztatott gombokból:

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

5. lépés: Tesztelje a beállítást

  1. Csatlakoztassa az Arduino -t a számítógépéhez USB -n keresztül.
  2. Nyissa meg az Arduino IDE -t, és válassza ki a megfelelőt Bizottság és Kikötő a Szerszámok menü.
  3. Töltse fel a kódot az Arduino -ba kattintással Feltöltés.
  4. A LED példaként megfigyelje a LED -eket, akik be- és kikapcsolnak. A gomb példájához a Monitor gomb állapota a soros monitorban.

A PCF8575 alkalmazásai

  1. GPIO -csapok kibővítése Arduino projektekhez
  2. Komplex LED mátrixok építése
  3. Több érzékelő vagy gomb tömb olvasása
  4. A relék és a szelepmozgatók vezérlése

Hibaelhárítás

  • Nincs válasz a modulból: Ellenőrizze az I2C kapcsolatokat és a címkonfigurációt.
  • Következetlen olvasmányok: Gondoskodjon az I2C vonalak stabil tápegységének és megfelelő húzódási ellenállásáról.
  • Helytelen PIN -viselkedés: Duplán ellenőrizze a PIN-módokat (bemeneti/kimenetet) a kódban.

Következtetés

Sikeresen összekapcsolja a PCF8575 I/O Expander -t az Arduino -val, lehetővé téve, hogy irányítsa vagy olvassa el 16 további GPIO -csapot. Kísérletezzen különböző perifériákkal, és bővítse projektjeit ezzel a sokoldalú modullal!

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.

2 megjegyzések

Hallo Bruce,

benutze das Library von Renzo Mischianti (kannste nach googlen uind dort auch runterladen) und benenne den Folder in “PCF8575” um. Das Repository von Rob Tillaart hat andere Befehle und passt nicht zu dem o.g. Beispiel.

Ich hoffe das bringt dich weiter.

Gruß

Jochen

Jochen,

I copy the code and get a coplilation error:
C:\Users\Bruce\AppData\Local\Temp\.arduinoIDE-unsaved2025104-14104-1wy2nav.zi0f\sketch_nov4a\sketch_nov4a.ino: In function ‘void setup()’:
C:\Users\Bruce\AppData\Local\Temp\.arduinoIDE-unsaved2025104-14104-1wy2nav.zi0f\sketch_nov4a\sketch_nov4a.ino:11:13: error: ‘class PCF8575’ has no member named ‘pinMode’
pcf8575.pinMode(i, INPUT);
^~~~~~~
C:\Users\Bruce\AppData\Local\Temp\.arduinoIDE-unsaved2025104-14104-1wy2nav.zi0f\sketch_nov4a\sketch_nov4a.ino: In function ‘void loop()’:
C:\Users\Bruce\AppData\Local\Temp\.arduinoIDE-unsaved2025104-14104-1wy2nav.zi0f\sketch_nov4a\sketch_nov4a.ino:19:25: error: ‘class PCF8575’ has no member named ‘digitalRead’
int state = pcf8575.digitalRead(i);
^~~~~~~~~~~
exit status 1

Compilation error: ‘class PCF8575’ has no member named ‘pinMode’

Bruce Pedersen,

Hagyj egy megjegyzést