Spisu treści:

Raspberry Pi - PCA9536 Ekspander wejść/wyjść Python Samouczek: 4 kroki
Raspberry Pi - PCA9536 Ekspander wejść/wyjść Python Samouczek: 4 kroki

Wideo: Raspberry Pi - PCA9536 Ekspander wejść/wyjść Python Samouczek: 4 kroki

Wideo: Raspberry Pi - PCA9536 Ekspander wejść/wyjść Python Samouczek: 4 kroki
Wideo: Raspberry Pi PCA9536 Digital I/O Buzzer Java Tutorial 2024, Lipiec
Anonim
Image
Image

PCA9536 to 8-pinowe urządzenie CMOS, które zapewnia 4-bitowe rozszerzenie równoległego wejścia/wyjścia (GPIO) ogólnego przeznaczenia dla aplikacji I2C-bus/SMBus. Składa się z 4-bitowego rejestru konfiguracyjnego służącego do wyboru wejścia lub wyjścia, 4-bitowego rejestru portu wejściowego, 4-bitowego rejestru portu wyjściowego i 4-bitowego rejestru odwrócenia polaryzacji aktywnej operacji HIGH lub aktywnej LOW. Oto jego demonstracja z raspberry pi przy użyciu kodu Pythona.

Krok 1: Czego potrzebujesz.

Czego potrzebujesz..!!
Czego potrzebujesz..!!

1. Raspberry Pi

2. PCA9536

3. Kabel I²C

4. Osłona I²C dla Raspberry Pi

5. Kabel Ethernet

Krok 2: Połączenia:

Znajomości
Znajomości
Znajomości
Znajomości
Znajomości
Znajomości
Znajomości
Znajomości

Weź nakładkę I2C dla raspberry pi i delikatnie nałóż ją na piny gpio raspberry pi.

Następnie podłącz jeden koniec kabla I2C do czujnika PCA9536, a drugi koniec do ekranu I2C.

Podłącz również kabel Ethernet do pi lub możesz użyć modułu WiFi.

Połączenia prezentuje powyższy obrazek.

Krok 3: Kod:

Kod
Kod

Kod Pythona dla PCA9536 można pobrać z naszego repozytorium github - DCUBE Store.

Tutaj jest link

Użyliśmy biblioteki SMBus do kodu Pythona, kroki instalacji SMBus na raspberry pi są opisane tutaj:

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

Możesz również skopiować kod stąd, jest on podany w następujący sposób:

# Rozprowadzany z wolną licencją.

# Używaj go w dowolny sposób, z zyskiem lub za darmo, pod warunkiem, że pasuje do licencji powiązanych z nim utworów.

# PCA9536

# Ten kod jest przeznaczony do pracy z minimodułem PCA9536_I2CIO I2C #

importuj smbus

czas importu

# Uzyskaj magistralę I2C

autobus = smbus. SMBus(1)

# Adres PCA9536, 0x41(65)

# Wybierz rejestr konfiguracji, 0x03(03)

# 0xFF(255) Wszystkie piny skonfigurowane jako wejścia

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

# Wyjście na ekran

print "Wszystkie szpilki są WYSOKIE"

czas.sen(0.5)

# Adres PCA9536, 0x41(65)

# Odczytaj dane z powrotem z 0x00(00), 1 bajt

dane = magistrala.odczyt_bajtów_danych (0x41, 0x00)

# Konwertuj dane na 4-bity

dane = (dane i 0x0F)

dla i w zakresie (0, 4):

jeśli (dane & (2 ** i)) == 0:

print "I/O Pin %d Stan jest NISKI" %i

w przeciwnym razie:

print "I/O Pin %d Stan jest WYSOKI" %i

czas.sen(0.5)

Krok 4: Aplikacje:

PCA9536 może być wykorzystany jako ekspander we/wy. Zapewnia proste rozwiązanie, gdy wymagane są dodatkowe wejścia/wyjścia. Zwykle jest stosowany w systemach wymagających rozbudowy o wyłączniki zasilania ACPI, czujniki, przyciski, diody LED, wentylatory itp.

Zalecana: