Get free delivery on all orders over £20!

Kuinka käyttää PCF8575 I/O -laajennusta Arduinon kanssa

How to Use the PCF8575 I/O Expander with Arduino

PCF8575 on 16-bittinen I/O-laajennus, joka kommunikoi mikrokontrollerin kanssa I2C-rajapinnan kautta. Sen avulla voit laajentaa Arduinon syöttö-/lähtötappien lukumäärää, mikä tekee siitä täydellisen projekteille, jotka vaativat monia antureita, painikkeita tai LED -levyjä. Tämä opetusohjelma opastaa sinua yhdistämällä ja käyttämällä PCF8575: tä Arduinon kanssa.


Mitä tarvitset

  1. PCF8575 I/O Expander -moduuli
  2. Arduino Board (esim. UNO, Mega, Nano)
  3. Anturit, painikkeet tai LEDit testattavaksi
  4. Leipälevy- ja hyppyjohdot
  5. Tietokone, jossa Arduino IDE on asennettu

Vaihe 1: PCF8575 -moduulin ymmärtäminen

PCF8575 tarjoaa 16 ylimääräistä GPIO -nastata, jotka voidaan konfiguroida tuloina tai lähdöinä. Se kommunikoi I2C -protokollan kautta ja siinä on säädettävä I2C -osoite useiden moduulien kytkemiseksi samaan väylään.

Pinot

Nasta Funktio
VCC Virtalähde (3,3 V/5 V)
Hölynpöly Pohja
SDA I2C -datalinja
SCL I2C -kellolinja
P0-P15 Yleiskäyttöinen I/O -nastat

I2C -osoitteen kokoonpano

  • I2C -osoitteen määräävät A0-, A1- ja A2 -nastat:
    • Kaikki nastat GND: lle: 0x20 (Oletusosoite)
    • Kaikki nastat VCC: lle: 0x27

Vaihe 2: PCF8575: n johdotus Arduinolle

Näin yhdistetään PCF8575 Arduino:

PCF8575 -nasta Arduino -nasta
VCC 5V
Hölynpöly Hölynpöly
SDA A4 (SDA)
SCL A5 (SCL)

Kytke oheislaitteet (esim. LEDit tai painikkeet) P0-P15-nastaihin.

Huomaa: Varmista muille Arduino -levyille, että käytät oikeita I2C -nastat.


Vaihe 3: Asenna vaadittu kirjasto

Asenna "PCF8575" -kirjasto yksinkertaistaaksesi työskentelyä PCF8575: n kanssa.

Asennettava vaiheet:

  1. Avaa Arduino IDE.
  2. Mennä jhk Luonnos > Sisällytä kirjasto > Hallitse kirjastoja.
  3. Etsi "PCF8575" ja napsauta Asentaa.

Vaihe 4: Lataa koodi

Esimerkki: LEDien hallinta

Tämä koodi osoittaa, kuinka LEDit kytketään päälle ja pois päältä PCF8575: n avulla:

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

Esimerkki: painikkeiden lukeminen

Tämä koodi osoittaa, kuinka tulon lukeminen PCF8575: een kytkettyjen painikkeista:

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

Vaihe 5: Testaa asennus

  1. Kytke Arduino tietokoneeseen USB: n kautta.
  2. Avaa Arduino IDE ja valitse oikea Hallitus ja Satama alla Työkalut valikko.
  3. Lataa koodi Arduinoon napsauttamalla Ladata.
  4. Tarkkaile LED -esimerkkiä, tarkkaile LEDit päälle ja pois päältä. Painikeksi -esimerkki -näyttely -painiketilat Sarjavalvonnassa.

PCF8575: n sovellukset

  1. GPIO -tapien laajentaminen Arduino -projekteille
  2. Rakennuskompleksin LED -matriisit
  3. Useiden anturien tai painikejärjestelmien lukeminen
  4. Releiden ja toimilaitteiden hallinta

Vianetsintä

  • Ei vastausta moduulista: Varmista I2C -yhteydet ja osoitekonfiguraatiot.
  • Epäjohdonmukaiset lukemat: Varmista vakaa virtalähde ja asianmukaiset vetovastukset I2C-linjoille.
  • Virheellinen PIN -koodin käyttäytyminen: Kaksoiskick-nastatilat (tulo/lähtö) koodissa.

Johtopäätös

Olet onnistuneesti liitetty PCF8575 I/O -laajennukseen Arduinon kanssa, jolloin voit hallita tai lukea 16 ylimääräisestä GPIO -nastasta. Kokeile erilaisia ​​oheislaitteita ja laajenna projektiasi tällä monipuolisella moduulilla!

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 kommentit

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,

Jätä kommentti