INHOUDSOPGAWE:

Raspberry Pi - PCA9536 Input/output Expander Python Tutoriaal: 4 stappe
Raspberry Pi - PCA9536 Input/output Expander Python Tutoriaal: 4 stappe

Video: Raspberry Pi - PCA9536 Input/output Expander Python Tutoriaal: 4 stappe

Video: Raspberry Pi - PCA9536 Input/output Expander Python Tutoriaal: 4 stappe
Video: Install smbus for Python on Raspberry Pi 2024, Julie
Anonim
Image
Image

Die PCA9536 is 'n 8-pins CMOS-toestel wat 4 bisse algemene invoer/uitvoer (GPIO) uitbreiding vir algemene doeleindes bied vir I2C-bus/SMBus-toepassings. Dit bestaan uit 'n 4-bis konfigurasie register om die doel van invoer of uitset seleksie te dien, 4-bis Invoerpoort register, 4-bis Uitvoerpoort register en 'n 4-bis Polariteit Inversie register aktiewe HOOG of aktiewe LOW operasie. Hier is 'n demonstrasie van die framboos -pi met behulp van python -kode.

Stap 1: wat u nodig het..

Wat jy nodig het..!!
Wat jy nodig het..!!

1. Framboos Pi

2. PCA9536

3. I²C -kabel

4. I²C -skild vir Framboos Pi

5. Ethernet -kabel

Stap 2: Verbindings:

Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings
Verbindings

Neem 'n I2C skild vir framboos pi en druk dit liggies oor die gpio penne van framboos pi.

Koppel dan die een kant van die I2C -kabel aan die PCA9536 -sensor en die ander kant aan die I2C -skild.

Koppel ook die Ethernet -kabel aan die pi, of u kan 'n WiFi -module gebruik.

Verbindings word op die foto hierbo getoon.

Stap 3: Kode:

Kode
Kode

Die python-kode vir PCA9536 kan afgelaai word vanaf ons github repository- DCUBE Store.

Hier is die skakel

Ons het SMBus -biblioteek gebruik vir python -kode, die stappe om SMBus op framboos pi te installeer word hier beskryf:

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

U kan die kode ook hiervandaan kopieer; dit word soos volg gegee:

# Versprei met 'n vrywillige lisensie.

# Gebruik dit soos u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas.

# PCA9536

# Hierdie kode is ontwerp om te werk met die PCA9536_I2CIO I2C Mini Module #

invoer smbus

invoer tyd

# Kry I2C -bus

bus = smbus. SMBus (1)

# PCA9536 adres, 0x41 (65)

# Kies konfigurasieregister, 0x03 (03)

# 0xFF (255) Alle penne is as insette gekonfigureer

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

# Uitvoer na die skerm

druk "Alle penne is hoog"

tyd. slaap (0,5)

# PCA9536 adres, 0x41 (65)

# Lees data terug van 0x00 (00), 1 byte

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

# Skakel die data om na 4-bisse

data = (data & 0x0F)

vir i in reeks (0, 4):

as (data & (2 ** i)) == 0:

druk "I/O Pin %d Staat is laag" %i

anders:

druk "I/O Pin %d Staat is HOOG" %i

tyd. slaap (0,5)

Stap 4: Aansoeke:

PCA9536 kan gebruik word as 'n I/O -uitbreider. Dit bied 'n eenvoudige oplossing as ekstra invoer/uitset benodig word. Gewoonlik word dit gebruik in stelsels wat uitbreiding benodig vir ACPI -skakelaars, sensors, drukknoppies, LED's, waaiers, ens.

Aanbeveel: