Le PCF8575 est un expanseur d'E / S 16 bits qui communique avec un microcontrôleur via l'interface I2C. Il vous permet d'étendre le nombre d'épingles d'entrée / sortie sur votre Arduino, ce qui le rend parfait pour les projets nécessitant de nombreux capteurs, boutons ou LED. Ce tutoriel vous guidera dans la connexion et l'utilisation du PCF8575 avec Arduino.
Ce dont vous aurez besoin
- PCF8575 Module d'expanneur d'E / S
- Board Arduino (par exemple, Uno, Mega, Nano)
- Capteurs, boutons ou LED pour les tests
- Fils de planche à pain et de cavalier
- Un ordinateur avec l'ide Arduino installé
Étape 1: Comprendre le module PCF8575
Le PCF8575 fournit 16 broches GPIO supplémentaires qui peuvent être configurées en entrées ou sorties. Il communique via le protocole I2C et dispose d'une adresse I2C réglable pour connecter plusieurs modules au même bus.
Brochage
Épingle | Fonction |
---|---|
VCC | Alimentation (3,3 V / 5V) |
GND | Sol |
SDA | Ligne de données I2C |
SCL | Ligne d'horloge i2c |
P0-P15 | Broches d'E / S à usage général |
Configuration d'adresse I2C
- L'adresse I2C est déterminée par les broches A0, A1 et A2:
- Toutes les broches à GND:
0x20
(adresse par défaut) - Toutes les broches à VCC:
0x27
- Toutes les broches à GND:
Étape 2: Câblage du PCF8575 à Arduino
Voici comment connecter le PCF8575 à un Arduino:
PIN PCF8575 | Épingle arduino |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
Connectez vos périphériques (par exemple, LED ou boutons) aux broches P0-P15.
Note: Pour d'autres cartes Arduino, assurez-vous d'utiliser les broches I2C correctes.
Étape 3: Installez la bibliothèque requise
Pour simplifier le travail avec le PCF8575, installez la bibliothèque "PCF8575".
Étapes à installer:
- Ouvrez l'ide Arduino.
- Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
- Recherchez "PCF8575" et cliquez Installer.
Étape 4: Téléchargez le code
Exemple: contrôler les LED
Ce code montre comment activer et désactiver les LED à l'aide du 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);
}
Exemple: boutons de lecture
Ce code montre comment lire l'entrée des boutons connectés au 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);
}
Étape 5: tester la configuration
- Connectez l'Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
- Téléchargez le code sur l'Arduino en cliquant Télécharger.
- Pour l'exemple LED, observez les LED allumées et désactivées. Pour l'exemple du bouton, les états du bouton du moniteur dans le moniteur série.
Applications du PCF8575
- Expansion des broches GPIO pour les projets Arduino
- Construire des matrices LED complexes
- Lire plusieurs capteurs ou réseaux de bouton
- Contrôler les relais et les actionneurs
Dépannage
- Aucune réponse du module: Vérifiez les connexions I2C et la configuration d'adresse.
- Lectures incohérentes: Assurez-vous une alimentation stable et des résistances de traction appropriées pour les lignes I2C.
- Comportement incorrect de la broche: Modes de broche à double recouvrement (entrée / sortie) dans le code.
Conclusion
Vous avez réussi à interfacer l'expanseur d'E / S PCF8575 avec Arduino, vous permettant de contrôler ou de lire à partir de 16 broches GPIO supplémentaires. Expérimentez avec différents périphériques et développez vos projets avec ce module polyvalent!