Sadržaj:

Raspberry Pi - PCA9536 Input/output Expander Python Vodič: 4 koraka
Raspberry Pi - PCA9536 Input/output Expander Python Vodič: 4 koraka

Video: Raspberry Pi - PCA9536 Input/output Expander Python Vodič: 4 koraka

Video: Raspberry Pi - PCA9536 Input/output Expander Python Vodič: 4 koraka
Video: Raspberry Pi PCA9536 Digital I/O Buzzer Python Tutorial 2024, Novembar
Anonim
Image
Image

PCA9536 je 8-pinski CMOS uređaj koji pruža 4 bita paralelnog ulaza/izlaza (GPIO) proširenja opće namjene za aplikacije I2C-sabirnice/SMBus. Sastoji se od 4-bitnog registra konfiguracije koji služi u svrhu izbora ulaza ili izlaza, 4-bitnog registra ulaznog porta, 4-bitnog registra izlaznog porta i 4-bitnog registra za pretvaranje polariteta u aktivnu aktivnost HIGH ili LOW. Evo njegove demonstracije s malinom pi pomoću python koda.

Korak 1: Šta vam treba..

Sta ti treba..!!
Sta ti treba..!!

1. Malina Pi

2. PCA9536

3. I²C kabel

4. I²C štit za Raspberry Pi

5. Ethernet kabel

Korak 2: Veze:

Veze
Veze
Veze
Veze
Veze
Veze
Veze
Veze

Uzmite I2C štit za malinu pi i nježno je gurnite preko gpio igle maline pi.

Zatim spojite jedan kraj I2C kabela na senzor PCA9536, a drugi kraj na I2C štit.

Također priključite Ethernet kabel na pi ili možete koristiti WiFi modul.

Veze su prikazane na gornjoj slici.

Korak 3: Kod:

Šifra
Šifra

Python kod za PCA9536 može se preuzeti sa našeg github spremišta- DCUBE Store.

Evo linka

Koristili smo SMBus biblioteku za python kod, koraci za instaliranje SMBus -a na malinu pi opisani su ovdje:

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

Kôd možete i kopirati odavde, dat je na sljedeći način:

# Distribuirano s licencom za slobodnu volju.

# Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.

# PCA9536

# Ovaj kôd je dizajniran za rad s PCA9536_I2CIO I2C mini modulom #

import smbus

vreme uvoza

# Nabavite I2C autobus

sabirnica = smbus. SMBus (1)

# PCA9536 adresa, 0x41 (65)

# Odaberite registar konfiguracije, 0x03 (03)

# 0xFF (255) Svi pinovi konfigurirani kao ulazi

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

# Izlaz na ekran

ispiši "Svi pinovi su visoki"

vrijeme.spavanje (0,5)

# PCA9536 adresa, 0x41 (65)

# Očitavanje podataka unazad od 0x00 (00), 1 bajt

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

# Pretvorite podatke u 4-bitne

podatak = (podaci & 0x0F)

za i u rasponu (0, 4):

if (podaci & (2 ** i)) == 0:

ispisati "U/I pin %d stanje je NISKO" %i

drugo:

ispis "U/I pin %d stanje je VISOKO" %i

vrijeme.spavanje (0,5)

Korak 4: Aplikacije:

PCA9536 se može koristiti kao I/O proširivač. Pruža jednostavno rješenje kada je potreban dodatni ulaz/izlaz. Obično se koristi u sistemima koji zahtijevaju proširenje za ACPI prekidače za napajanje, senzore, tipke, LED diode, ventilatore itd.

Preporučuje se: