Съдържание:

Raspberry Pi - PCA9536 Вход/изход Expander Python Урок: 4 стъпки
Raspberry Pi - PCA9536 Вход/изход Expander Python Урок: 4 стъпки

Видео: Raspberry Pi - PCA9536 Вход/изход Expander Python Урок: 4 стъпки

Видео: Raspberry Pi - PCA9536 Вход/изход Expander Python Урок: 4 стъпки
Видео: Raspberry Pi PCA9536 Temperature Sensor Java Tutorial 2024, Юли
Anonim
Image
Image

PCA9536 е 8-пиново CMOS устройство, което осигурява 4 бита разширение за паралелен вход/изход (GPIO) за общо предназначение за приложения на I2C-шина/SMBus. Състои се от 4-битов регистър за конфигуриране, който служи за целите на избора на вход или изход, 4-битов регистър на входния порт, 4-битов регистър на изходния порт и 4-битов регистър за инверсия на полярността, активна HIGH или активна LOW операция. Ето неговата демонстрация с малиново пи, използващо код на python.

Стъпка 1: Какво ви трябва..

От какво имаш нужда..!!
От какво имаш нужда..!!

1. Малина Пи

2. PCA9536

3. Кабел I²C

4. I²C щит за Raspberry Pi

5. Ethernet кабел

Стъпка 2: Връзки:

Връзки
Връзки
Връзки
Връзки
Връзки
Връзки
Връзки
Връзки

Вземете I2C щит за малиново пи и внимателно го натиснете върху щифтовете на gpio на малиново пи.

След това свържете единия край на I2C кабела към сензора PCA9536, а другия край към I2C щита.

Свържете също Ethernet кабела към pi или можете да използвате WiFi модул.

Връзките са показани на снимката по -горе.

Стъпка 3: Код:

Код
Код

Кодът на python за PCA9536 може да бъде изтеглен от нашето хранилище на github- DCUBE Store.

Ето линка

Използвахме библиотека SMBus за код на python, стъпките за инсталиране на SMBus на raspberry pi са описани тук:

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

Можете също да копирате кода от тук, той е даден, както следва:

# Разпространява се с лиценз за свободна воля.

# Използвайте го по какъвто начин искате, печалба или безплатно, при условие че се вписва в лицензите на свързаните с него произведения.

# PCA9536

# Този код е проектиран да работи с PCA9536_I2CIO I2C мини модул #

внос smbus

време за импортиране

# Вземете I2C автобус

шина = smbus. SMBus (1)

# Адрес PCA9536, 0x41 (65)

# Изберете конфигурационен регистър, 0x03 (03)

# 0xFF (255) Всички пинове, конфигурирани като входове

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

# Изход на екран

отпечатайте "All Pins State are HIGH"

time.sleep (0.5)

# Адрес PCA9536, 0x41 (65)

# Прочетете данните обратно от 0x00 (00), 1 байт

данни = bus.read_byte_data (0x41, 0x00)

# Конвертирайте данните в 4-бита

данни = (данни & 0x0F)

за i в обхват (0, 4):

if (данни & (2 ** i)) == 0:

отпечатайте "I/O Pin %d State is LOW" %i

иначе:

отпечатайте "I/O Pin %d State is HIGH" %i

time.sleep (0.5)

Стъпка 4: Приложения:

PCA9536 може да се използва като I/O разширител. Той осигурява просто решение, когато се изисква допълнителен вход/изход. Обикновено се използва в системи, които изискват разширение за ACPI превключватели на захранването, сензори, бутони, светодиоди, вентилатори и др.

Препоръчано: