Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
PCA9536 yra 8 kontaktų CMOS įrenginys, teikiantis 4 bitų bendrosios paskirties lygiagrečios įvesties/išvesties (GPIO) išplėtimo I2C magistralės/SMBus programoms. Jį sudaro 4 bitų konfigūracijos registras, skirtas įvesties ar išvesties pasirinkimui, 4 bitų įvesties prievadų registras, 4 bitų išvesties prievadų registras ir 4 bitų poliškumo inversijos registras, aktyvus HIGH arba aktyvus LOW. Čia yra jo demonstravimas su aviečių pi naudojant python kodą.
1 žingsnis: ko jums reikia..
1. Avietė Pi
2. PCA9536
3. I²C kabelis
4. „I²C Shield“, skirtas „Raspberry Pi“
5. Ethernet kabelis
2 žingsnis: jungtys:
Paimkite aviečių pi I2C skydą ir švelniai stumkite jį virš aviečių pi gpio kaiščių.
Tada vieną I2C kabelio galą prijunkite prie PCA9536 jutiklio, o kitą - prie I2C skydo.
Taip pat prijunkite Ethernet kabelį prie pi arba galite naudoti „WiFi“modulį.
Sujungimai parodyti aukščiau esančiame paveikslėlyje.
3 žingsnis: kodas:
„PCA9536“python kodą galima atsisiųsti iš mūsų „github“saugyklos- „DCUBE Store“.
Čia yra nuoroda
„Python“kodui naudojome „SMBus“biblioteką, čia aprašyti SMBus diegimo „Raspberry pi“veiksmai:
pypi.python.org/pypi/smbus-cffi/0.5.1
Taip pat galite nukopijuoti kodą iš čia, jis pateikiamas taip:
# Platinama su laisvos valios licencija.
# Naudokite bet kokiu būdu, pelningai ar nemokamai, jei jis atitinka su juo susijusių darbų licencijas.
# PCA9536
# Šis kodas skirtas dirbti su PCA9536_I2CIO I2C mini moduliu #
importuoti smbus
importo laikas
# Gaukite I2C autobusą
autobusas = smbus. SMBus (1)
# PCA9536 adresas, 0x41 (65)
# Pasirinkite konfigūracijos registrą, 0x03 (03)
# 0xFF (255) Visi kaiščiai sukonfigūruoti kaip įvestys
bus.write_byte_data (0x41, 0x03, 0xFF)
# Išvestis į ekraną
spausdinti „Visos kaiščių būsenos yra AUKŠTOS“
laikas. miegas (0,5)
# PCA9536 adresas, 0x41 (65)
# Perskaitykite duomenis iš 0x00 (00), 1 baito
duomenys = autobusas.skaitymo_baito_datai (0x41, 0x00)
# Konvertuokite duomenis į 4 bitus
duomenys = (duomenys ir 0x0F)
i diapazone (0, 4):
jei (duomenys ir (2 ** i)) == 0:
spausdinti "I/O kaištis %d būsena yra ŽEMA" %i
Kitas:
spausdinti "I/O kaištis %d būsena yra HIGH" %i
laikas. miegas (0,5)
4 žingsnis: programos:
PCA9536 gali būti naudojamas kaip įvesties/išvesties plėtiklis. Tai paprastas sprendimas, kai reikia papildomos įvesties/išvesties. Paprastai jis naudojamas sistemose, kuriose reikia išplėsti ACPI maitinimo jungiklius, jutiklius, mygtukus, šviesos diodus, ventiliatorius ir kt.