PCF 8574

Caractéristiques principales

Le PCF8574 est un circuit intégré utilisé pour l’extension de ports d’entrée/sortie (I/O) via le bus I²C. Il permet de contrôler des périphériques supplémentaires sans avoir à utiliser des broches supplémentaires sur un microcontrôleur. Voici un aperçu détaillé de son fonctionnement

  1. Bus I²C : Le PCF8574 communique avec le microcontrôleur via le bus I²C.
  2. 8 broches d’I/O : Il offre 8 broches d’entrée/sortie (P0 à P7) qui peuvent être configurées individuellement comme entrées ou sorties.
  3. Adresses configurables : Jusqu’à 8 dispositifs PCF8574 peuvent être connectés sur le même bus I²C en configurant les broches d’adresse A0, A1 et A2.
  4. Tension de fonctionnement : 2.5V à 6V, ce qui le rend compatible avec la plupart des systèmes logiques.

Fonctionnement :

  1. Connexion I²C :

    • Le PCF8574 utilise deux broches pour la communication I²C : SDA (Data) et SCL (Clock).
    • Les broches d’adresse (A0, A1, A2) permettent de définir une adresse unique pour chaque dispositif sur le bus, ce qui permet de connecter plusieurs PCF8574 sur le même bus.
  2. Configuration des broches :

    • Chaque broche (P0 à P7) peut être configurée comme entrée ou sortie.
    • En mode sortie, les broches peuvent envoyer des signaux logiques haut ou bas.
    • En mode entrée, les broches peuvent lire des signaux logiques.
  3. Écriture sur les broches :

    • Pour écrire sur les broches, le maître I²C envoie une séquence de bits comprenant l’adresse du PCF8574 suivie des données à écrire. Chaque bit de donnée correspond à l’état d’une broche (0 pour bas, 1 pour haut).
  4. Lecture des broches :

    • Pour lire l’état des broches, le maître I²C envoie une requête de lecture à l’adresse du PCF8574. Le PCF8574 répond avec l’état actuel de ses broches.

Exemple de communication I²C :

  • Écriture :

    • Adresse I²C : 0x20 (selon les broches A0, A1, A2)
    • Données à écrire : 0b10101010 (P7, P5, P3, et P1 en haut, les autres en bas)
  • Lecture :

    • Le maître envoie l’adresse I²C en mode lecture (ajoute un bit de lecture).
    • Le PCF8574 renvoie l’état actuel de ses broches, par exemple 0b01010101.

Utilisation en pratique :

  • Connexion :

    1. Connecter SDA et SCL aux lignes correspondantes du microcontrôleur.
    2. Configurer les broches A0, A1, A2 pour définir l’adresse I²C.
    3. Connecter les broches P0 à P7 aux périphériques à contrôler.

Le PCF8574 est un composant extrêmement utile pour augmenter le nombre de ports d’I/O disponibles dans un projet sans avoir à changer de microcontrôleur ou de carte de développement.

PASSION ELECTRONIQUE

Vous êtes en manque d’entrées sorties sur votre Arduino ? Alors cette puce pourrait fort vous intéresser ! En effet, le PCF8574 permet d’ajouter jusqu’à 8 entrées/sorties digitales supplémentaires, pilotées en i2c, qui fonctionneront exactement (ou presque !) comme les pins D0 et D13 de votre Arduino Uno ou Nano, par exemple.

#include <Wire.h>
#define PCF8574_ADDRESS 0x20

void setup() {
  Wire.begin();
  Serial.begin(9600);
}

void loop() {
  // Écriture sur le PCF8574
  Wire.beginTransmission(PCF8574_ADDRESS);
  Wire.write(0b10101010); // Configure les broches P7, P5, P3, P1 à haut
  Wire.endTransmission();

  delay(500);

  // Lecture des broches du PCF8574
  Wire.requestFrom(PCF8574_ADDRESS, 1);
  if (Wire.available()) {
    byte data = Wire.read();
    Serial.println(data, BIN); // Affiche l'état des broches
  }

  delay(500);
}

Domotique – informatique – électronique – dictionnaire – projets

Copyright 2024