2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
PCA9536 është një pajisje CMOS me 8 kunja që siguron 4 bit zgjerim paralel të hyrjes/daljes për qëllime të përgjithshme (GPIO) për aplikacionet I2C-bus/SMBus. Ai përbëhet nga një regjistër konfigurimi 4-bit për t'i shërbyer qëllimit të përzgjedhjes së hyrjes ose daljes, regjistrit të portës hyrëse 4-bit, regjistrit të Portës së daljes 4-bit dhe një regjistri të përmbysjes së polaritetit 4-bit aktiv të lartë ose të ulët. Këtu është demonstrimi i tij me pi mjedër duke përdorur kodin python.
Hapi 1: Ajo që ju nevojitet.. !
1. Raspberry Pi
2. PCA9536
3. Kabllo I²C
4. Mburoja I²C për Raspberry Pi
5. Kabllo Ethernet
Hapi 2: Lidhjet:
Merrni një mburojë I2C për mjedrën pi dhe shtyjeni butësisht mbi kunjat e gpio të mjedrës pi.
Pastaj lidhni njërin skaj të kabllit I2C me sensorin PCA9536 dhe skajin tjetër me mburojën I2C.
Gjithashtu lidhni kabllon Ethernet me pi ose mund të përdorni një modul WiFi.
Lidhjet janë treguar në figurën e mësipërme.
Hapi 3: Kodi:
Kodi python për PCA9536 mund të shkarkohet nga depoja jonë github- Dyqani DCUBE.
Këtu është lidhja
Ne kemi përdorur bibliotekën SMBus për kodin python, hapat për të instaluar SMBus në mjedër pi janë përshkruar këtu:
pypi.python.org/pypi/smbus-cffi/0.5.1
Ju gjithashtu mund të kopjoni kodin nga këtu, ai jepet si më poshtë:
# Shpërndarë me një licencë me vullnet të lirë.
# Përdoreni atë në çdo mënyrë që dëshironi, fitimprurëse ose falas, me kusht që të përshtatet në licencat e veprave të tij shoqëruese.
# PCA9536
# Ky kod është krijuar për të punuar me modulin PCA9536_I2CIO I2C Mini #
import smbus
koha e importit
# Merrni autobusin I2C
autobus = smbus. SMBus (1)
# Adresa PCA9536, 0x41 (65)
# Zgjidh regjistrin e konfigurimit, 0x03 (03)
# 0xFF (255) Të gjitha kunjat e konfiguruar si hyrje
bus.write_byte_data (0x41, 0x03, 0xFF)
# Dalje në ekran
print "Të gjitha gjendjet e kunjave janë të larta"
koha. gjumi (0.5)
# Adresa PCA9536, 0x41 (65)
# Lexoni të dhënat mbrapa nga 0x00 (00), 1 bajt
të dhëna = bus.read_byte_data (0x41, 0x00)
# Ktheni të dhënat në 4-bit
të dhëna = (të dhëna & 0x0F)
për i në rang (0, 4):
nëse (të dhënat & (2 ** i)) == 0:
print "I Pin/Pin %d Gjendja është e ULOWT" %i
tjeter:
print "I Pin/Pin %d Gjendja është e LART" %i
koha. gjumi (0.5)
Hapi 4: Aplikimet:
PCA9536 mund të përdoret si një zgjerues I/O. Ofron një zgjidhje të thjeshtë kur kërkohet hyrje/dalje shtesë. Zakonisht përdoret në sisteme të cilat kërkojnë zgjerim për çelësat e energjisë ACPI, sensorë, butona shtytës, LED, tifozë, etj.