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
- PCF8575 I/O Expander modul
- Arduino Board (például Uno, Mega, Nano)
- Érzékelők, gombok vagy LED -ek a teszteléshez
- Kenyérlemez és jumper vezetékek
- 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
- Minden csap a GND -hez:
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:
- Nyissa meg az Arduino IDE -t.
- Elindul Vázlat > Tartalmazza a könyvtárat > Könyvtárak kezelése.
- 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
- Csatlakoztassa az Arduino -t a számítógépéhez USB -n keresztül.
- Nyissa meg az Arduino IDE -t, és válassza ki a megfelelőt Bizottság és Kikötő a Szerszámok menü.
- Töltse fel a kódot az Arduino -ba kattintással Feltöltés.
- 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
- GPIO -csapok kibővítése Arduino projektekhez
- Komplex LED mátrixok építése
- Több érzékelő vagy gomb tömb olvasása
- 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!