Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
El PCA9536 es un dispositivo CMOS de 8 pines que proporciona 4 bits de expansión de entrada / salida paralela de uso general (GPIO) para aplicaciones I2C-bus / SMBus. Consiste en un registro de configuración de 4 bits para la selección de entrada o salida, registro de puerto de entrada de 4 bits, registro de puerto de salida de 4 bits y un registro de inversión de polaridad de 4 bits activo ALTO o activo BAJO. Aquí está su demostración con raspberry pi usando código Python.
Paso 1: ¡¡Lo que necesitas …
1. Raspberry Pi
2. PCA9536
3. Cable I²C
4. Escudo I²C para Raspberry Pi
5. Cable Ethernet
Paso 2: Conexiones:
Tome un protector I2C para raspberry pi y empújelo suavemente sobre los pines gpio de raspberry pi.
Luego, conecte un extremo del cable I2C al sensor PCA9536 y el otro extremo al blindaje I2C.
También conecte el cable Ethernet al pi o puede usar un módulo WiFi.
Las conexiones se muestran en la imagen de arriba.
Paso 3: Código:
El código Python para PCA9536 se puede descargar desde nuestro repositorio de github - DCUBE Store.
Aqui esta el link
Hemos utilizado la biblioteca SMBus para el código python, los pasos para instalar SMBus en raspberry pi se describen aquí:
pypi.python.org/pypi/smbus-cffi/0.5.1
También puede copiar el código desde aquí, se proporciona de la siguiente manera:
# Distribuido con una licencia de libre albedrío.
# Úselo de la forma que desee, lucrativa o gratuita, siempre que encaje en las licencias de sus obras asociadas.
# PCA9536
# Este código está diseñado para funcionar con el Mini Módulo PCA9536_I2CIO I2C #
importar smbus
tiempo de importación
# Obtener bus I2C
bus = smbus. SMBus (1)
# Dirección PCA9536, 0x41 (65)
# Seleccionar registro de configuración, 0x03 (03)
# 0xFF (255) Todos los pines configurados como entradas
bus.write_byte_data (0x41, 0x03, 0xFF)
# Salida a pantalla
imprimir "El estado de todos los pines es ALTO"
tiempo. de sueño (0.5)
# Dirección PCA9536, 0x41 (65)
# Leer datos de 0x00 (00), 1 byte
datos = bus.read_byte_data (0x41, 0x00)
# Convierte los datos a 4 bits
datos = (datos y 0x0F)
para i en el rango (0, 4):
si (datos & (2 ** i)) == 0:
imprimir "El estado de la clavija de E / S% d es BAJO"% i
demás:
imprimir "El estado de la clavija de E / S% d es ALTO"% i
tiempo. de sueño (0.5)
Paso 4: Aplicaciones:
El PCA9536 se puede utilizar como expansor de E / S. Proporciona una solución simple cuando se requieren entradas / salidas adicionales. Por lo general, se emplea en sistemas que requieren expansión para interruptores de potencia ACPI, sensores, botones pulsadores, LED, ventiladores, etc.