Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
PCA9536 adalah perangkat CMOS 8-pin yang menyediakan 4 bit ekspansi General Purpose parallel Input/Output (GPIO) untuk aplikasi I2C-bus/SMBus. Ini terdiri dari register Konfigurasi 4-bit untuk melayani tujuan pemilihan input atau output, register Port Input 4-bit, register Port Output 4-bit dan register Pembalikan Polaritas 4-bit yang aktif HIGH atau operasi LOW yang aktif. Berikut adalah demonstrasinya dengan raspberry pi menggunakan kode python.
Langkah 1: Yang Anda Butuhkan.
1. Raspberry Pi
2. PCA9536
3. Kabel I²C
4. Perisai I²C untuk Raspberry Pi
5. Kabel Ethernet
Langkah 2: Koneksi:
Ambil pelindung I2C untuk raspberry pi dan dorong perlahan ke atas pin gpio dari raspberry pi.
Kemudian sambungkan salah satu ujung kabel I2C ke sensor PCA9536 dan ujung lainnya ke pelindung I2C.
Hubungkan juga kabel Ethernet ke pi atau Anda dapat menggunakan modul WiFi.
Koneksi ditunjukkan pada gambar di atas.
Langkah 3: Kode:
Kode python untuk PCA9536 dapat diunduh dari repositori github kami- DCUBE Store.
Ini tautannya
Kami telah menggunakan perpustakaan SMBus untuk kode python, langkah-langkah untuk menginstal SMBus pada raspberry pi dijelaskan di sini:
pypi.python.org/pypi/smbus-cffi/0.5.1
Anda juga dapat menyalin kode dari sini, diberikan sebagai berikut:
# Didistribusikan dengan lisensi kehendak bebas.
# Gunakan dengan cara apa pun yang Anda inginkan, untung atau gratis, asalkan sesuai dengan lisensi karya terkaitnya.
#PCA9536
# Kode ini dirancang untuk bekerja dengan Modul Mini PCA9536_I2CIO I2C #
impor smbus
waktu impor
# Dapatkan bus I2C
bus = smbus. SMBus(1)
# Alamat PCA9536, 0x41(65)
# Pilih register konfigurasi, 0x03(03)
# 0xFF(255) Semua pin dikonfigurasi sebagai input
bus.write_byte_data(0x41, 0x03, 0xFF)
# Keluaran ke layar
print "Semua Status Pin TINGGI"
waktu.tidur(0.5)
# Alamat PCA9536, 0x41(65)
# Baca data kembali dari 0x00 (00), 1 byte
data = bus.read_byte_data(0x41, 0x00)
# Ubah data menjadi 4-bit
data = (data & 0x0F)
untuk saya dalam rentang (0, 4):
if (data & (2 ** i)) == 0:
print "I/O Pin %d Status LOW" %i
lain:
print "I/O Pin %d Status HIGH" %i
waktu.tidur(0.5)
Langkah 4: Aplikasi:
PCA9536 dapat digunakan sebagai I/O expander. Ini memberikan solusi sederhana ketika input/output tambahan diperlukan. Biasanya digunakan dalam sistem yang memerlukan ekspansi untuk sakelar daya ACPI, sensor, tombol tekan, LED, kipas, dll.