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!

Jätä kommentti

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.