PCF8575 är en 16-bitars I/O-expander som kommunicerar med en mikrokontroller via I2C-gränssnittet. Det gör att du kan utöka antalet ingångs-/utgångsstift på din Arduino, vilket gör det perfekt för projekt som kräver många sensorer, knappar eller lysdioder. Denna handledning kommer att vägleda dig genom att ansluta och använda PCF8575 med Arduino.
Vad du behöver
- PCF8575 I/O Expander -modul
- Arduino Board (t.ex. Uno, Mega, Nano)
- Sensorer, knappar eller lysdioder för testning
- Breadboard och jumpertrådar
- En dator med Arduino Ide installerad
Steg 1: Förstå PCF8575 -modulen
PCF8575 tillhandahåller 16 ytterligare GPIO -stift som kan konfigureras som ingångar eller utgångar. Den kommunicerar via I2C -protokollet och har en justerbar I2C -adress för att ansluta flera moduler till samma buss.
Pinout
Stift | Fungera |
---|---|
Vcc | Strömförsörjning (3.3V/5V) |
Gard | Jord |
SDA | I2C -datalinjen |
SCL | I2c klocklinje |
P0-p15 | Allmänt syfte I/O -stift |
I2c adresskonfiguration
- I2C -adressen bestäms av A0-, A1- och A2 -stiften:
- Alla stift till GND:
0x20
(Standardadress) - Alla stift till VCC:
0x27
- Alla stift till GND:
Steg 2: Kopplar PCF8575 till Arduino
Så här ansluter du PCF8575 till en Arduino:
PCF8575 -stift | Arduinosnål |
---|---|
Vcc | 5V |
Gard | Gard |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
Anslut dina kringutrustning (t.ex. lysdioder eller knappar) till P0-P15-stiften.
Notera: För andra Arduino -kort, se till att du använder rätt I2C -stift.
Steg 3: Installera det nödvändiga biblioteket
För att förenkla arbetet med PCF8575, installera biblioteket "PCF8575".
Steg för att installera:
- Öppna Arduino IDE.
- Gå till Skiss > Inkludera bibliotek > Hantera bibliotek.
- Sök efter "PCF8575" och klicka Installera.
Steg 4: Ladda upp koden
Exempel: Styrande lysdioder
Den här koden visar hur man slår på och av med lysdioderna med 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);
}
Exempel: Läsningsknappar
Den här koden visar hur man läser inmatning från knappar anslutna till 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);
}
Steg 5: Testa installationen
- Anslut Arduino till din dator via USB.
- Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
- Ladda upp koden till Arduino genom att klicka Ladda upp.
- För LED -exemplet, observera lysdioder som slås på och av. För knappen Exempel anger Monitor -knappen i seriell monitor.
Applikationer av PCF8575
- Utöka GPIO -stift för Arduino -projekt
- Bygga komplexa LED -matriser
- Läser flera sensorer eller knappuppsättningar
- Kontrollerande reläer och ställdon
Felsökning
- Inget svar från modulen: Kontrollera I2C -anslutningar och adresskonfiguration.
- Inkonsekventa avläsningar: Se till att en stabil strömförsörjning och korrekt pull-up-motstånd för I2C-linjerna.
- Fel stiftbeteende: Dubbelkontrollstiftlägen (ingång/utgång) i koden.
Slutsats
Du har framgångsrikt interfogat PCF8575 I/O Expander med Arduino, så att du kan kontrollera eller läsa från 16 ytterligare GPIO -stift. Experimentera med olika kringutrustning och utöka dina projekt med denna mångsidiga modul!