Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Le PCA9536 est un dispositif CMOS à 8 broches qui fournit 4 bits d'extension d'entrée/sortie parallèle à usage général (GPIO) pour les applications I2C-bus/SMBus. Il se compose d'un registre de configuration à 4 bits pour servir à la sélection d'entrée ou de sortie, d'un registre de port d'entrée à 4 bits, d'un registre de port de sortie à 4 bits et d'un registre d'inversion de polarité à 4 bits en fonctionnement HAUT ou BAS actif. Voici sa démonstration avec le raspberry pi en utilisant du code python.
Étape 1: Ce dont vous avez besoin.
1. Framboise Pi
2. PCA9536
3. Câble I²C
4. Bouclier I²C pour Raspberry Pi
5. Câble Ethernet
Étape 2: Connexions:
Prenez un shield I2C pour raspberry pi et poussez-le doucement sur les broches gpio de raspberry pi.
Connectez ensuite l'une des extrémités du câble I2C au capteur PCA9536 et l'autre extrémité au blindage I2C.
Connectez également le câble Ethernet au pi ou vous pouvez utiliser un module WiFi.
Les connexions sont montrées dans l'image ci-dessus.
Étape 3: Coder:
Le code python pour PCA9536 peut être téléchargé à partir de notre référentiel github - DCUBE Store.
Voici le lien
Nous avons utilisé la bibliothèque SMBus pour le code python, les étapes pour installer SMBus sur raspberry pi sont décrites ici:
pypi.python.org/pypi/smbus-cffi/0.5.1
Vous pouvez également copier le code d'ici, il est donné comme suit:
# Distribué avec une licence libre-arbitre.
# Utilisez-le comme vous le souhaitez, à profit ou gratuitement, à condition qu'il s'intègre dans les licences de ses œuvres associées.
# PCA9536
# Ce code est conçu pour fonctionner avec le mini module PCA9536_I2CIO I2C #
importer smbus
heure d'importation
# Obtenez le bus I2C
bus = smbus. SMbus(1)
# Adresse PCA9536, 0x41(65)
# Sélectionnez le registre de configuration, 0x03(03)
# 0xFF (255) Toutes les broches configurées comme entrées
bus.write_byte_data (0x41, 0x03, 0xFF)
# Sortie à l'écran
imprimer « Tous les états des broches sont ÉLEVÉS »
temps.sommeil (0,5)
# Adresse PCA9536, 0x41(65)
# Lire les données à partir de 0x00(00), 1 octet
données = bus.read_byte_data(0x41, 0x00)
# Convertir les données en 4 bits
données = (données & 0x0F)
pour i dans la plage (0, 4):
si (données & (2 ** i)) == 0:
print "L'état de la broche d'E/S %d est FAIBLE" %i
autre:
print "L'état de la broche d'E/S %d est HAUT" %i
temps.sommeil (0,5)
Étape 4: Candidatures:
Le PCA9536 peut être utilisé comme extenseur d'E/S. Il fournit une solution simple lorsqu'une entrée/sortie supplémentaire est requise. Il est généralement utilisé dans les systèmes qui nécessitent une extension pour les interrupteurs d'alimentation ACPI, les capteurs, les boutons-poussoirs, les LED, les ventilateurs, etc.