Talaan ng mga Nilalaman:

Raspberry Pi - PCA9536 Input / output Expander Python Tutorial: 4 na Hakbang
Raspberry Pi - PCA9536 Input / output Expander Python Tutorial: 4 na Hakbang

Video: Raspberry Pi - PCA9536 Input / output Expander Python Tutorial: 4 na Hakbang

Video: Raspberry Pi - PCA9536 Input / output Expander Python Tutorial: 4 na Hakbang
Video: Install smbus for Python on Raspberry Pi 2024, Hulyo
Anonim
Image
Image

Ang PCA9536 ay isang 8-pin na aparato ng CMOS na nagbibigay ng 4 na piraso ng pangkalahatang Pakay na parallel na Input / Output (GPIO) na pagpapalawak para sa mga aplikasyon ng I2C-bus / SMBus. Binubuo ito ng isang 4-bit na pagrehistro ng Configuration upang maihatid ang layunin ng pag-input o pagpili ng output, rehistro ng 4-bit na Input Port, rehistro ng 4-bit na Output Port at isang 4-bit na Pagrehistro ng Polarity Inversion na aktibo MATAAS o aktibong LOW na operasyon. Narito ang pagpapakita nito gamit ang raspberry pi gamit ang python code.

Hakbang 1: Ano ang Kailangan Mo.. !

Ang iyong kailangan..!!
Ang iyong kailangan..!!

1. Raspberry Pi

2. PCA9536

3. I²C Cable

4. I²C Shield para sa Raspberry Pi

5. Ethernet Cable

Hakbang 2: Mga Koneksyon:

Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon
Mga koneksyon

Kumuha ng isang kalasag I2C para sa raspberry pi at dahan-dahang itulak ito sa mga gpio pin ng raspberry pi.

Pagkatapos ikonekta ang isang dulo ng I2C cable sa PCA9536 sensor at ang iba pang mga dulo sa I2C kalasag.

Ikonekta din ang Ethernet cable sa pi o maaari kang gumamit ng isang module ng WiFi.

Ang mga koneksyon ay ipinapakita sa larawan sa itaas.

Hakbang 3: Code:

Code
Code

Ang python code para sa PCA9536 ay maaaring ma-download mula sa aming github repository- DCUBE Store.

Nandito ang link

Gumamit kami ng SMBus library para sa python code, ang mga hakbang upang mai-install ang SMBus sa raspberry pi ay inilarawan dito:

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

Maaari mo ring kopyahin ang code mula dito, ibinibigay ito tulad ng sumusunod:

# Ipinamamahagi ng isang lisensyang malaya ang kalooban.

# Gamitin ito sa anumang paraan na nais mo, kumita o libre, sa kondisyon na umaangkop ito sa mga lisensya ng mga nauugnay na gawa nito.

# PCA9536

# Ang code na ito ay dinisenyo upang gumana sa PCA9536_I2CIO I2C Mini Module #

import smbus

oras ng pag-import

# Kumuha ng I2C bus

bus = smbus. SMBus (1)

# PCA9536 address, 0x41 (65)

# Piliin ang rehistro ng pagsasaayos, 0x03 (03)

# 0xFF (255) Ang lahat ng mga pin ay naka-configure bilang mga input

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

# Output sa screen

i-print ang "Lahat ng Pins State ay HIGH"

oras. pagtulog (0.5)

# PCA9536 address, 0x41 (65)

# Basahin ang data pabalik mula sa 0x00 (00), 1 byte

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

# I-convert ang data sa 4-bit

data = (data at 0x0F)

para sa saklaw ko (0, 4):

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

i-print ang "I / O Pin% d Estado ay Mababa"% i

iba pa:

i-print ang "I / O Pin% d Estado ay MAS mataas"% i

oras. pagtulog (0.5)

Hakbang 4: Mga Aplikasyon:

Maaaring gamitin ang PCA9536 bilang isang expander ng I / O. Nagbibigay ito ng isang simpleng solusyon kapag kinakailangan ng karagdagang input / output. Karaniwan itong ginagamit sa mga system na nangangailangan ng pagpapalawak para sa mga switch ng kuryente ng ACPI, sensor, push button, LEDs, fan, atbp.

Inirerekumendang: