Inhaltsverzeichnis:

Raspberry Pi - PCA9536 Input/Output Expander Python Tutorial - Gunook
Raspberry Pi - PCA9536 Input/Output Expander Python Tutorial - Gunook

Video: Raspberry Pi - PCA9536 Input/Output Expander Python Tutorial - Gunook

Video: Raspberry Pi - PCA9536 Input/Output Expander Python Tutorial - Gunook
Video: Raspberry Pi PCA9536 Digital I/O Buzzer Python Tutorial 2024, November
Anonim
Image
Image

Der PCA9536 ist ein 8-Pin-CMOS-Baustein, der 4 Bits an paralleler Universal-Ein-/Ausgabe-Erweiterung (GPIO) für I2C-Bus/SMBus-Anwendungen bereitstellt. Es besteht aus einem 4-Bit-Konfigurationsregister, das der Auswahl des Eingangs oder Ausgangs dient, einem 4-Bit-Eingangsport-Register, einem 4-Bit-Ausgangsport-Register und einem 4-Bit-Polaritätsumkehrregister für aktive HIGH- oder aktive LOW-Operation. Hier ist seine Demonstration mit dem Himbeer-Pi mit Python-Code.

Schritt 1: Was Sie brauchen.

Was du brauchst..!!
Was du brauchst..!!

1. Himbeer-Pi

2. PCA9536

3. I²C-Kabel

4. I²C-Shield für Raspberry Pi

5. Ethernet-Kabel

Schritt 2: Anschlüsse:

Anschlüsse
Anschlüsse
Anschlüsse
Anschlüsse
Anschlüsse
Anschlüsse
Anschlüsse
Anschlüsse

Nehmen Sie ein I2C-Schild für Himbeer-Pi und schieben Sie es vorsichtig über die gpio-Pins von Himbeer-Pi.

Verbinden Sie dann das eine Ende des I2C-Kabels mit dem PCA9536-Sensor und das andere Ende mit der I2C-Abschirmung.

Verbinden Sie auch das Ethernet-Kabel mit dem Pi oder verwenden Sie ein WiFi-Modul.

Die Anschlüsse sind im Bild oben dargestellt.

Schritt 3: Code:

Code
Code

Der Python-Code für PCA9536 kann von unserem Github-Repository – DCUBE Store – heruntergeladen werden.

Hier ist der Link

Wir haben die SMBus-Bibliothek für Python-Code verwendet, die Schritte zur Installation von SMBus auf Raspberry Pi sind hier beschrieben:

pypi.python.org/pypi/smbus-cffi/0.5.1

Sie können den Code auch von hier kopieren, er wird wie folgt angegeben:

# Wird mit freier Lizenz verteilt.

# Verwenden Sie es nach Belieben, gewinnbringend oder kostenlos, sofern es in die Lizenzen der zugehörigen Werke passt.

# PCA9536

# Dieser Code wurde entwickelt, um mit dem PCA9536_I2CIO I2C Mini-Modul zu arbeiten #

smbus importieren

Importzeit

# Holen Sie sich den I2C-Bus

bus = smbus. SMBus(1)

# PCA9536-Adresse, 0x41(65)

# Konfigurationsregister auswählen, 0x03(03)

# 0xFF(255) Alle Pins als Eingänge konfiguriert

bus.write_byte_data(0x41, 0x03, 0xFF)

# Ausgabe auf dem Bildschirm

print "All Pins State are HIGH"

time.sleep(0.5)

# PCA9536-Adresse, 0x41(65)

# Daten zurücklesen von 0x00(00), 1 Byte

data = bus.read_byte_data(0x41, 0x00)

# Konvertieren Sie die Daten in 4-Bit

Daten = (Daten & 0x0F)

für i im Bereich (0, 4):

if (Daten & (2 ** i)) == 0:

print "I/O Pin %d Status ist LOW" %i

anders:

print "I/O Pin %d Status ist HIGH" %i

time.sleep(0.5)

Schritt 4: Anwendungen:

PCA9536 kann als E/A-Erweiterung verwendet werden. Es bietet eine einfache Lösung, wenn zusätzliche Eingabe/Ausgabe erforderlich ist. Normalerweise wird es in Systemen verwendet, die eine Erweiterung für ACPI-Leistungsschalter, Sensoren, Taster, LEDs, Lüfter usw. erfordern.

Empfohlen: