Sommario:

Raspberry Pi - Tutorial Python per espansione input/output PCA9536: 4 passaggi
Raspberry Pi - Tutorial Python per espansione input/output PCA9536: 4 passaggi

Video: Raspberry Pi - Tutorial Python per espansione input/output PCA9536: 4 passaggi

Video: Raspberry Pi - Tutorial Python per espansione input/output PCA9536: 4 passaggi
Video: Raspberry Pi PCA9536 Temperature Sensor Python Tutorial 2024, Dicembre
Anonim
Image
Image

Il PCA9536 è un dispositivo CMOS a 8 pin che fornisce 4 bit di espansione GPIO (General Purpose Parallel Input/Output) per applicazioni I2C-bus/SMBus. Consiste in un registro di configurazione a 4 bit per la selezione dell'ingresso o dell'uscita, un registro della porta di ingresso a 4 bit, un registro della porta di uscita a 4 bit e un registro di inversione della polarità a 4 bit attivo ALTO o attivo BASSO. Ecco la sua dimostrazione con il raspberry pi usando il codice python.

Passaggio 1: ciò di cui hai bisogno.

Quello di cui hai bisogno..!!
Quello di cui hai bisogno..!!

1. Lampone Pi

2. PCA9536

3. Cavo I²C

4. Scudo I²C per Raspberry Pi

5. Cavo Ethernet

Passaggio 2: connessioni:

Connessioni
Connessioni
Connessioni
Connessioni
Connessioni
Connessioni
Connessioni
Connessioni

Prendi uno scudo I2C per lampone pi e spingilo delicatamente sui pin gpio di lampone pi.

Quindi collegare un'estremità del cavo I2C al sensore PCA9536 e l'altra estremità allo schermo I2C.

Collega anche il cavo Ethernet al pi oppure puoi utilizzare un modulo WiFi.

I collegamenti sono mostrati nell'immagine sopra.

Passaggio 3: codice:

Codice
Codice

Il codice Python per PCA9536 può essere scaricato dal nostro repository github - DCUBE Store.

Ecco il link

Abbiamo utilizzato la libreria SMBus per il codice Python, i passaggi per installare SMBus su raspberry pi sono descritti qui:

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

Puoi anche copiare il codice da qui, è fornito come segue:

# Distribuito con una licenza libera.

# Usalo come preferisci, a scopo di lucro o gratuito, a condizione che si adatti alle licenze delle opere associate.

# PCA9536

# Questo codice è progettato per funzionare con il Mini Modulo I2C PCA9536_I2CIO #

import smbus

tempo di importazione

# Ottieni l'autobus I2C

bus = smbus. SMBus(1)

# indirizzo PCA9536, 0x41(65)

# Seleziona il registro di configurazione, 0x03(03)

# 0xFF(255) Tutti i pin configurati come ingressi

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

# Uscita sullo schermo

print "Tutti gli stati dei pin sono ALTI"

tempo.sonno(0.5)

# indirizzo PCA9536, 0x41(65)

# Rilegge i dati da 0x00(00), 1 byte

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

# Converti i dati in 4-bit

dati = (dati & 0x0F)

per i nell'intervallo (0, 4):

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

print "Lo stato del pin I/O %d è BASSO" %i

altro:

print "Lo stato del pin I/O %d è ALTO" %i

tempo.sonno(0.5)

Passaggio 4: applicazioni:

PCA9536 può essere impiegato come espansore I/O. Fornisce una soluzione semplice quando sono richiesti input/output aggiuntivi. Solitamente viene impiegato in sistemi che richiedono espansione per interruttori di alimentazione ACPI, sensori, pulsanti, LED, ventole, ecc.

Consigliato: