De PCF8575 is een 16-bit I/O-expander die communiceert met een microcontroller via de I2C-interface. Hiermee kunt u het aantal invoer-/uitvoerpennen op uw Arduino uitbreiden, waardoor het perfect is voor projecten die veel sensoren, knoppen of LED's vereisen. Deze zelfstudie zal u begeleiden door de PCF8575 te verbinden en te gebruiken met Arduino.
Wat u nodig hebt
- PCF8575 I/O -expandermodule
- Arduino Board (bijv. UNO, Mega, Nano)
- Sensoren, knoppen of LED's voor testen
- Breadboard en jumper draden
- Een computer met de Arduino Ide geïnstalleerd
Stap 1: Inzicht in de PCF8575 -module
De PCF8575 biedt 16 extra GPIO -pinnen die kunnen worden geconfigureerd als ingangen of uitgangen. Het communiceert via het I2C -protocol en heeft een verstelbaar I2C -adres voor het aansluiten van meerdere modules met dezelfde bus.
Uitspraken
Pin | Functie |
---|---|
VCC | Voeding (3.3V/5V) |
GND | Grond |
SDA | I2C -gegevenslijn |
SCL | I2c kloklijn |
P0-P15 | Algemene doel I/O -pinnen |
I2C -adresconfiguratie
- Het I2C -adres wordt bepaald door de A0-, A1- en A2 -pinnen:
- Alle pinnen naar GND:
0x20
(Standaardadres) - Alle pinnen naar VCC:
0x27
- Alle pinnen naar GND:
Stap 2: De PCF8575 bedraden aan Arduino
Hier leest u hoe u de PCF8575 verbindt met een Arduino:
PCF8575 PIN | Arduino Pin |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
Sluit uw randapparatuur (bijv. LED's of knoppen) aan op de P0-P15-pinnen.
Opmerking: Voor andere Arduino -boards, zorg ervoor dat u de juiste I2C -pennen gebruikt.
Stap 3: Installeer de vereiste bibliotheek
Installeer de "PCF8575" -bibliotheek om het werken met de PCF8575 te vereenvoudigen.
Stappen om te installeren:
- Open de Arduino Ide.
- Gaan naar Schetsen > Library innemen > Bibliotheken beheren.
- Zoek naar "PCF8575" en klik Installeren.
Stap 4: Upload de code
Voorbeeld: LED's beheersen
Deze code laat zien hoe u LED's kunt in- en uitschakelen met behulp van de 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);
}
Voorbeeld: knoppen lezen
Deze code laat zien hoe je invoer kunt lezen van knoppen die zijn verbonden met de 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);
}
Stap 5: Test de installatie
- Sluit de Arduino via USB aan op uw computer.
- Open de Arduino IDE en selecteer de juiste Bord En Haven onder de Hulpmiddelen menu.
- Upload de code naar de Arduino door te klikken Uploaden.
- Voor het LED -voorbeeld, observeer LED's in- en uitschakelen. Voor het knopvoorbeeld staat de monitorknop toe in de seriële monitor.
Toepassingen van de PCF8575
- GPIO -pins uitbreiden voor Arduino -projecten
- Building Complex LED -matrices
- Het lezen van meerdere sensoren of knooparrays
- Het beheersen van relais en actuatoren
Problemen oplossen
- Geen reactie van de module: Controleer de I2C -verbindingen en adresconfiguratie.
- Inconsistente lezingen: Zorg voor een stabiele voeding en de juiste pull-up weerstanden voor de I2C-lijnen.
- Onjuiste pin -gedrag: PIN-modi met dubbele controles (invoer/uitvoer) in de code.
Conclusie
U hebt met succes de PCF8575 I/O -expander met Arduino gekoppeld, zodat u kunt besturen of lezen van 16 extra GPIO -pinnen. Experimenteer met verschillende randapparatuur en breid uw projecten uit met deze veelzijdige module!