Inhoudsopgave:

Raspberry Pi - PCA9536 Input/output Expander Python-zelfstudie - Ajarnpa
Raspberry Pi - PCA9536 Input/output Expander Python-zelfstudie - Ajarnpa

Video: Raspberry Pi - PCA9536 Input/output Expander Python-zelfstudie - Ajarnpa

Video: Raspberry Pi - PCA9536 Input/output Expander Python-zelfstudie - Ajarnpa
Video: Install smbus for Python on Raspberry Pi 2024, November
Anonim
Image
Image

De PCA9536 is een 8-pins CMOS-apparaat dat 4 bits General Purpose parallelle Input/Output (GPIO)-uitbreiding biedt voor I2C-bus/SMBus-toepassingen. Het bestaat uit een 4-bits configuratieregister om de invoer- of uitvoerselectie te dienen, een 4-bits invoerpoortregister, een 4-bits uitvoerpoortregister en een 4-bit polariteitsinversieregister actief HOOG of actief LAAG. Hier is de demonstratie met de raspberry pi met behulp van python-code.

Stap 1: Wat je nodig hebt.

Wat je nodig hebt..!!
Wat je nodig hebt..!!

1. Raspberry Pi

2. PCA9536

3. I²C-kabel

4. I²C-schild voor Raspberry Pi

5. Ethernet-kabel

Stap 2: Aansluitingen:

Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen

Neem een I2C-schild voor Raspberry Pi en duw het voorzichtig over de gpio-pinnen van Raspberry Pi.

Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de PCA9536-sensor en het andere uiteinde op de I2C-afscherming.

Sluit ook de Ethernet-kabel aan op de pi of u kunt een WiFi-module gebruiken.

De aansluitingen zijn weergegeven in de afbeelding hierboven.

Stap 3: Coderen:

Code
Code

De python-code voor PCA9536 kan worden gedownload van onze github-repository - DCUBE Store.

Hier is de link

We hebben de SMBus-bibliotheek gebruikt voor python-code, de stappen om SMBus op raspberry pi te installeren worden hier beschreven:

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

U kunt de code ook hier kopiëren, deze wordt als volgt gegeven:

# Gedistribueerd met een vrije wilslicentie.

# Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken.

# PCA9536

# Deze code is ontworpen om te werken met de PCA9536_I2CIO I2C Mini Module #

import smbus

import tijd

# Krijg I2C-bus

bus = smbus. SMBus(1)

# PCA9536 adres, 0x41(65)

# Selecteer configuratieregister, 0x03(03)

# 0xFF(255) Alle pinnen geconfigureerd als ingangen

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

# Uitvoer naar scherm

print "Alle pinnen zijn HOOG"

tijd.slaap(0.5)

# PCA9536 adres, 0x41(65)

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

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

# Converteer de gegevens naar 4-bits

gegevens = (gegevens & 0x0F)

voor i binnen bereik (0, 4):

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

print "I/O Pin %d Status is LAAG" %i

anders:

print "I/O Pin %d Status is HOOG" %i

tijd.slaap(0.5)

Stap 4: Toepassingen:

PCA9536 kan worden gebruikt als I/O-uitbreiding. Het biedt een eenvoudige oplossing wanneer extra input/output nodig is. Meestal wordt het gebruikt in systemen die uitbreiding vereisen voor ACPI-stroomschakelaars, sensoren, drukknoppen, LED's, ventilatoren, enz.

Aanbevolen: