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
- PCF8575 I/O Expander -moduuli
- Arduino Board (esim. UNO, Mega, Nano)
- Anturit, painikkeet tai LEDit testattavaksi
- Leipälevy- ja hyppyjohdot
- 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
- Kaikki nastat GND: lle:
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:
- Avaa Arduino IDE.
- Mennä jhk Luonnos > Sisällytä kirjasto > Hallitse kirjastoja.
- 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
- Kytke Arduino tietokoneeseen USB: n kautta.
- Avaa Arduino IDE ja valitse oikea Hallitus ja Satama alla Työkalut valikko.
- Lataa koodi Arduinoon napsauttamalla Ladata.
- Tarkkaile LED -esimerkkiä, tarkkaile LEDit päälle ja pois päältä. Painikeksi -esimerkki -näyttely -painiketilat Sarjavalvonnassa.
PCF8575: n sovellukset
- GPIO -tapien laajentaminen Arduino -projekteille
- Rakennuskompleksin LED -matriisit
- Useiden anturien tai painikejärjestelmien lukeminen
- 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!