PCF8575 este un expander I/O pe 16 biți care comunică cu un microcontroler prin interfața I2C. Vă permite să extindeți numărul de pini de intrare/ieșire pe Arduino, ceea ce îl face perfect pentru proiectele care necesită mulți senzori, butoane sau LED -uri. Acest tutorial vă va ghida prin conectare și utilizarea PCF8575 cu Arduino.
Ce vei avea nevoie
- PCF8575 Modul I/O Expander
- Arduino Board (de exemplu, Uno, Mega, Nano)
- Senzori, butoane sau LED -uri pentru testare
- Tablă de pâine și jumper
- Un computer cu IDE Arduino instalat
Pasul 1: Înțelegerea modulului PCF8575
PCF8575 oferă 16 pini GPIO suplimentari care pot fi configurați ca intrări sau ieșiri. Comunică prin protocolul I2C și are o adresă I2C reglabilă pentru conectarea mai multor module la același autobuz.
Pinout
Ac | Funcţie |
---|---|
VCC | Sursă de alimentare (3.3V/5V) |
GND | Sol |
SDA | Linia de date I2C |
SCL | Linia de ceas I2C |
P0-P15 | Pinii I/O de scop general |
Configurarea adresei I2C
- Adresa I2C este determinată de pinii A0, A1 și A2:
- Toți pinii către GND:
0x20
(adresa implicită) - Toți pinii către VCC:
0x27
- Toți pinii către GND:
Pasul 2: Cablarea PCF8575 către Arduino
Iată cum să conectați PCF8575 la un Arduino:
Pin PCF8575 | Pinul Arduino |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
Conectați-vă perifericele (de exemplu, LED-uri sau butoane) la pinii P0-P15.
Nota: Pentru alte plăci Arduino, asigurați -vă că utilizați pinii I2C corecți.
Pasul 3: Instalați biblioteca necesară
Pentru a simplifica lucrul cu PCF8575, instalați biblioteca „PCF8575”.
Pași pentru instalare:
- Deschideți IDE Arduino.
- Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
- Căutați „PCF8575” și faceți clic pe Instala.
Pasul 4: Încărcați codul
Exemplu: Controlul LED -urilor
Acest cod demonstrează cum să porniți și să dezactivați LED -urile folosind PCF8575:
#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);
}
Exemplu: Butoane de citire
Acest cod demonstrează cum să citiți intrarea din butoanele conectate la PCF8575:
#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);
}
Pasul 5: Testați configurarea
- Conectați Arduino la computer prin USB.
- Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
- Încărcați codul la Arduino făcând clic pe Încărcați.
- Pentru exemplul LED, observați LED -urile care se pornesc și se opresc. Pentru exemplul butonului, Butonul monitorizează în monitorul serial.
Aplicațiile PCF8575
- Extinderea acelor GPIO pentru proiectele Arduino
- Construirea matricilor LED complexe
- Citirea mai multor senzori sau tablouri de butoane
- Controlul releelor și actuatorilor
Depanare
- Fără răspuns din modul: Verificați conexiunile I2C și configurația adresei.
- Lecturi inconsistente: Asigurați-vă o sursă de alimentare stabilă și rezistențe de tragere adecvate pentru liniile I2C.
- Comportament incorect PIN: Moduri de pin dublu-verificare (intrare/ieșire) în cod.
Concluzie
Ați interfațat cu succes PCF8575 I/O Expander cu Arduino, permițându -vă să controlați sau să citiți din 16 pini GPIO suplimentari. Experimentați cu diferite periferice și extindeți -vă proiectele cu acest modul versatil!