Sisukord:

Raspberry Pi - PCA9536 Sisend/väljund Expander Python Õpetus: 4 sammu
Raspberry Pi - PCA9536 Sisend/väljund Expander Python Õpetus: 4 sammu

Video: Raspberry Pi - PCA9536 Sisend/väljund Expander Python Õpetus: 4 sammu

Video: Raspberry Pi - PCA9536 Sisend/väljund Expander Python Õpetus: 4 sammu
Video: Raspberry Pi MCP23017 output demo 2024, Juuli
Anonim
Image
Image

PCA9536 on 8-kontaktiline CMOS-seade, mis pakub 4 bitti üldotstarbelist paralleelsisendit/-väljundit (GPIO) I2C-bussi/SMBusi rakenduste jaoks. See koosneb 4-bitisest konfiguratsiooniregistrist, mis teenib sisendi või väljundi valimist, 4-bitisest sisendporti registrist, 4-bitisest väljundpordi registrist ja 4-bitisest polaarsuse pöördregistrist, mis on aktiivne HIGH või aktiivne LOW. Siin on selle demonstratsioon vaarika pi abil, kasutades pythoni koodi.

Samm: mida vajate..

Mida sa vajad..!!
Mida sa vajad..!!

1. Vaarika Pi

2. PCA9536

3. I²C kaabel

4. I²C kilp Raspberry Pi jaoks

5. Etherneti kaabel

Samm: ühendused:

Ühendused
Ühendused
Ühendused
Ühendused
Ühendused
Ühendused
Ühendused
Ühendused

Võtke vaarika pi jaoks I2C -kilp ja lükake see õrnalt üle vaarika pi gpio -tihvtide.

Seejärel ühendage I2C kaabli üks ots PCA9536 anduriga ja teine ots I2C kilbiga.

Ühendage ka Etherneti kaabel pi -ga või võite kasutada WiFi -moodulit.

Ühendused on näidatud ülaltoodud pildil.

3. samm: kood:

Kood
Kood

PCA9536 püütoni koodi saab alla laadida meie githubi hoidlast DCUBE Store.

Siin on link

Oleme python -koodi jaoks kasutanud SMBusi teeki, SMBus -i vaarika pi -le installimise samme kirjeldatakse siin:

pypi.python.org/pypi/smbus-cffi/0.5.1

Siit saate koodi ka kopeerida, see on järgmine:

# Levitatud vabatahtliku litsentsiga.

# Kasutage seda mis tahes viisil, kasumit teenides või tasuta, tingimusel et see sobib sellega seotud teoste litsentsidega.

# PCA9536

# See kood on loodud töötama PCA9536_I2CIO I2C minimooduliga #

import smbus

impordi aeg

# Hankige I2C buss

buss = smbus. SMBus (1)

# PCA9536 aadress, 0x41 (65)

# Valige konfiguratsiooniregister, 0x03 (03)

# 0xFF (255) Kõik tihvtid on konfigureeritud sisenditena

bus.write_byte_data (0x41, 0x03, 0xFF)

# Väljund ekraanile

print "Kõik tihvtide olekud on HIGH"

aeg. uni (0,5)

# PCA9536 aadress, 0x41 (65)

# Lugege andmeid tagasi alates 0x00 (00), 1 bait

andmed = bus.read_byte_data (0x41, 0x00)

# Teisendage andmed 4-bitisteks

andmed = (andmed & 0x0F)

i jaoks vahemikus (0, 4):

kui (andmed & (2 ** i)) == 0:

print "I/O Pin %d olek on LOW" %i

muidu:

print "I/O Pin %d olek on HIGH" %i

aeg. uni (0,5)

4. samm: rakendused:

PCA9536 saab kasutada I/O laiendajana. See pakub lihtsat lahendust, kui on vaja täiendavat sisendit/väljundit. Tavaliselt kasutatakse seda süsteemides, mis vajavad laiendamist ACPI toitelülititele, anduritele, nuppudele, LED -idele, ventilaatoritele jne.

Soovitan: