Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
PCA9536 er en 8-pinners CMOS-enhet som gir 4 bits parallell inngang/utgang (GPIO) generell bruk for I2C-buss/SMBus-applikasjoner. Den består av et 4-bits konfigurasjonsregister for å tjene formålet med input eller output-valg, 4-bit Input Port-register, 4-bit Output Port-register og et 4-bits Polarity Inversion-register aktivt HIGH eller aktiv LOW-operasjon. Her er demonstrasjonen med bringebær pi ved hjelp av python -kode.
Trinn 1: Hva du trenger..
1. Bringebær Pi
2. PCA9536
3. I²C -kabel
4. I²C Shield for Raspberry Pi
5. Ethernet -kabel
Trinn 2: Tilkoblinger:
Ta et I2C -skjold for bringebærpi og skyv det forsiktig over gpio -pinnene til bringebærpi.
Koble deretter den ene enden av I2C -kabelen til PCA9536 -sensoren og den andre enden til I2C -skjoldet.
Koble også Ethernet -kabelen til pi eller du kan bruke en WiFi -modul.
Tilkoblinger er vist på bildet ovenfor.
Trinn 3: Kode:
Python-koden for PCA9536 kan lastes ned fra vårt github-depot- DCUBE Store.
Her er lenken
Vi har brukt SMBus bibliotek for python -kode, trinnene for å installere SMBus på bringebær pi er beskrevet her:
pypi.python.org/pypi/smbus-cffi/0.5.1
Du kan også kopiere koden herfra, den er gitt som følger:
# Distribuert med en fri viljelisens.
# Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.
# PCA9536
# Denne koden er designet for å fungere med PCA9536_I2CIO I2C Mini Module #
importer smbus
importtid
# Få I2C -buss
buss = smbus. SMBus (1)
# PCA9536 adresse, 0x41 (65)
# Velg konfigurasjonsregister, 0x03 (03)
# 0xFF (255) Alle pinner konfigurert som innganger
bus.write_byte_data (0x41, 0x03, 0xFF)
# Utgang til skjermen
print "All Pins State is HIGH"
time.sleep (0,5)
# PCA9536 adresse, 0x41 (65)
# Les data tilbake fra 0x00 (00), 1 byte
data = bus.read_byte_data (0x41, 0x00)
# Konverter dataene til 4-bits
data = (data & 0x0F)
for i i området (0, 4):
hvis (data & (2 ** i)) == 0:
print "I/O Pin %d State is LOW" %i
annet:
print "I/O Pin %d State is HIGH" %i
time.sleep (0,5)
Trinn 4: Søknader:
PCA9536 kan brukes som en I/O -ekspander. Det gir en enkel løsning når det er nødvendig med ytterligere input/output. Vanligvis brukes den i systemer som krever utvidelse for ACPI -strømbrytere, sensorer, trykknapper, lysdioder, vifter, etc.