2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
PCA9536 je 8-kolíkové zariadenie CMOS, ktoré poskytuje 4 bity rozšírenia paralelného vstupu/výstupu (GPIO) na všeobecné použitie pre aplikácie I2C-bus/SMBus. Skladá sa zo 4-bitového konfiguračného registra, ktorý slúži na výber vstupu alebo výstupu, zo 4-bitového registra vstupných portov, zo 4-bitového registra výstupných portov a zo 4-bitového registra inverzie polarity s aktívnym VYSOKÝM alebo aktívnym NÍZKYM režimom. Tu je jeho ukážka s malinou pi pomocou kódu python.
Krok 1: Čo potrebujete.. !
1. Raspberry Pi
2. PCA9536
3. Kábel I²C
4. I²C štít pre Raspberry Pi
5. Ethernetový kábel
Krok 2: Pripojenia:
Vezmite I2C štít na malinový pi a jemne ho zatlačte cez gpio kolíky malinového pi.
Potom pripojte jeden koniec kábla I2C k senzoru PCA9536 a druhý koniec k štítu I2C.
Pripojte tiež ethernetový kábel k pí alebo môžete použiť modul WiFi.
Pripojenia sú znázornené na obrázku vyššie.
Krok 3: Kód:
Pythonový kód pre PCA9536 je možné stiahnuť z nášho úložiska github- DCUBE Store.
Tu je odkaz
Na kód pythonu sme použili knižnicu SMBus, kroky na inštaláciu SMBus na Raspberry Pi sú popísané tu:
pypi.python.org/pypi/smbus-cffi/0.5.1
Odtiaľto môžete tiež skopírovať kód, ktorý je nasledujúci:
# Distribuované s licenciou slobodnej vôle.
# Používajte ho akýmkoľvek spôsobom chcete, so ziskom alebo zadarmo, za predpokladu, že sa zmestí do licencií súvisiacich diel.
# PCA9536
# Tento kód je navrhnutý tak, aby fungoval s mini modulom PCA9536_I2CIO I2C #
import smbus
čas importu
# Získajte autobus I2C
bus = smbus. SMBus (1)
# Adresa PCA9536, 0x41 (65)
# Vyberte konfiguračný register, 0x03 (03)
# 0xFF (255) Všetky piny nakonfigurované ako vstupy
bus.write_byte_data (0x41, 0x03, 0xFF)
# Výstup na obrazovku
vytlačiť „Všetky stavy pinov sú VYSOKÉ“
čas.spánok (0,5)
# Adresa PCA9536, 0x41 (65)
# Načítajte údaje späť z 0x00 (00), 1 bajt
data = bus.read_byte_data (0x41, 0x00)
# Konvertujte údaje na 4-bitové
data = (data & 0x0F)
pre i v rozsahu (0, 4):
ak (údaje & (2 ** i)) == 0:
vytlačiť „Pin I/O %d Stav je NÍZKY“%i
inak:
vytlačiť „Pin I/O %d Stav je VYSOKÝ“%i
čas.spánok (0,5)
Krok 4: Aplikácie:
PCA9536 môže byť použitý ako expandér I/O. Poskytuje jednoduché riešenie, keď je potrebný ďalší vstup/výstup. Obvykle sa používa v systémoch, ktoré vyžadujú rozšírenie výkonových spínačov ACPI, senzorov, tlačidiel, diód LED, ventilátorov atď.