2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
PCA9536, I2C-bus/SMBus uygulamaları için 4 bit Genel Amaçlı paralel Giriş/Çıkış (GPIO) genişletmesi sağlayan 8 pinli bir CMOS cihazıdır. Giriş veya çıkış seçimi amacına hizmet etmek için 4 bitlik bir Yapılandırma kaydından, 4 bitlik Giriş Bağlantı Noktası kaydından, 4 bitlik Çıkış Bağlantı Noktası kaydından ve 4 bitlik Polarite Ters Çevirme kaydından aktif YÜKSEK veya aktif DÜŞÜK işlemden oluşur. İşte python kodunu kullanarak ahududu pi ile gösterimi.
Adım 1: İhtiyacınız Olan Şey..!
1. Ahududu Pi
2. PCA9536
3. I²C Kablosu
4. Raspberry Pi için I²C Kalkanı
5. Ethernet Kablosu
Adım 2: Bağlantılar:
Ahududu pi için bir I2C kalkanı alın ve ahududu pi'nin gpio pimlerinin üzerine hafifçe itin.
Ardından I2C kablosunun bir ucunu PCA9536 sensörüne ve diğer ucunu I2C blendajına bağlayın.
Ayrıca Ethernet kablosunu pi'ye bağlayın veya bir WiFi modülü kullanabilirsiniz.
Bağlantılar yukarıdaki resimde gösterilmiştir.
Adım 3: Kod:
PCA9536 için python kodu, github depomuz olan DCUBE Store'dan indirilebilir.
Bağlantı burada
Python kodu için SMBus kütüphanesini kullandık, raspberry pi'ye SMBus kurma adımları burada açıklanmıştır:
pypi.python.org/pypi/smbus-cffi/0.5.1
Kodu buradan da kopyalayabilirsiniz, aşağıdaki şekilde verilmiştir:
# Özgür irade lisansıyla dağıtılır.
# İlgili eserlerinin lisanslarına uyması koşuluyla, istediğiniz şekilde, kârlı veya ücretsiz olarak kullanın.
# PCA9536
# Bu kod PCA9536_I2CIO I2C Mini Modülü ile çalışmak üzere tasarlanmıştır #
smbus'u içe aktar
ithalat zamanı
# I2C veri yolunu alın
veri yolu = smbus. SMBus(1)
# PCA9536 adresi, 0x41(65)
# Yapılandırma kaydını seçin, 0x03(03)
# 0xFF(255) Tüm pinler giriş olarak konfigüre edildi
bus.write_byte_data(0x41, 0x03, 0xFF)
# Ekrana çıktı
print "Tüm Pinlerin Durumu YÜKSEK"
zaman.uyku(0.5)
# PCA9536 adresi, 0x41(65)
# 0x00(00), 1 bayttan veriyi geri oku
veri = bus.read_byte_data(0x41, 0x00)
# Veriyi 4 bit'e dönüştürün
veri = (veri ve 0x0F)
(0, 4) aralığında i için:
if (veri & (2 ** i)) == 0:
print "G/Ç Pin %d Durum DÜŞÜK" %i
Başka:
print "G/Ç Pin %d Durum YÜKSEK" %i
zaman.uyku(0.5)
Adım 4: Uygulamalar:
PCA9536, bir G/Ç genişletici olarak kullanılabilir. Ek giriş/çıkış gerektiğinde basit bir çözüm sağlar. Genellikle ACPI güç anahtarları, sensörler, basmalı düğmeler, LED'ler, fanlar vb. için genişletme gerektiren sistemlerde kullanılır.