2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Die PCA9536 is 'n 8-pins CMOS-toestel wat 4 bisse algemene invoer/uitvoer (GPIO) uitbreiding vir algemene doeleindes bied vir I2C-bus/SMBus-toepassings. Dit bestaan uit 'n 4-bis konfigurasie register om die doel van invoer of uitset seleksie te dien, 4-bis Invoerpoort register, 4-bis Uitvoerpoort register en 'n 4-bis Polariteit Inversie register aktiewe HOOG of aktiewe LOW operasie. Hier is 'n demonstrasie van die framboos -pi met behulp van python -kode.
Stap 1: wat u nodig het..
1. Framboos Pi
2. PCA9536
3. I²C -kabel
4. I²C -skild vir Framboos Pi
5. Ethernet -kabel
Stap 2: Verbindings:
Neem 'n I2C skild vir framboos pi en druk dit liggies oor die gpio penne van framboos pi.
Koppel dan die een kant van die I2C -kabel aan die PCA9536 -sensor en die ander kant aan die I2C -skild.
Koppel ook die Ethernet -kabel aan die pi, of u kan 'n WiFi -module gebruik.
Verbindings word op die foto hierbo getoon.
Stap 3: Kode:
Die python-kode vir PCA9536 kan afgelaai word vanaf ons github repository- DCUBE Store.
Hier is die skakel
Ons het SMBus -biblioteek gebruik vir python -kode, die stappe om SMBus op framboos pi te installeer word hier beskryf:
pypi.python.org/pypi/smbus-cffi/0.5.1
U kan die kode ook hiervandaan kopieer; dit word soos volg gegee:
# Versprei met 'n vrywillige lisensie.
# Gebruik dit soos u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas.
# PCA9536
# Hierdie kode is ontwerp om te werk met die PCA9536_I2CIO I2C Mini Module #
invoer smbus
invoer tyd
# Kry I2C -bus
bus = smbus. SMBus (1)
# PCA9536 adres, 0x41 (65)
# Kies konfigurasieregister, 0x03 (03)
# 0xFF (255) Alle penne is as insette gekonfigureer
bus.write_byte_data (0x41, 0x03, 0xFF)
# Uitvoer na die skerm
druk "Alle penne is hoog"
tyd. slaap (0,5)
# PCA9536 adres, 0x41 (65)
# Lees data terug van 0x00 (00), 1 byte
data = bus.read_byte_data (0x41, 0x00)
# Skakel die data om na 4-bisse
data = (data & 0x0F)
vir i in reeks (0, 4):
as (data & (2 ** i)) == 0:
druk "I/O Pin %d Staat is laag" %i
anders:
druk "I/O Pin %d Staat is HOOG" %i
tyd. slaap (0,5)
Stap 4: Aansoeke:
PCA9536 kan gebruik word as 'n I/O -uitbreider. Dit bied 'n eenvoudige oplossing as ekstra invoer/uitset benodig word. Gewoonlik word dit gebruik in stelsels wat uitbreiding benodig vir ACPI -skakelaars, sensors, drukknoppies, LED's, waaiers, ens.