Мазмуну:

Raspberry Pi - PCA9536 Киргизүү/чыгаруу Expander Python үйрөткүчү: 4 кадам
Raspberry Pi - PCA9536 Киргизүү/чыгаруу Expander Python үйрөткүчү: 4 кадам

Video: Raspberry Pi - PCA9536 Киргизүү/чыгаруу Expander Python үйрөткүчү: 4 кадам

Video: Raspberry Pi - PCA9536 Киргизүү/чыгаруу Expander Python үйрөткүчү: 4 кадам
Video: Raspberry Pi PCA9536 Temperature Sensor Java Tutorial 2024, Июль
Anonim
Image
Image

PCA9536 I2C-bus/SMBus тиркемелери үчүн Жалпы Максаттагы Параллель Киргизүү/Чыгуу (GPIO) кеңейтүүсүнүн 4 битин камсыз кылган 8 пиндүү CMOS түзмөгү. Бул 4-биттик Конфигурация реестринен турат, бул киргизүү же чыгаруу тандоо максатын тейлейт, 4-бит Киргизүү Порт реестри, 4-бит Чыгаруу Порт реестри жана 4-бит Полярдык Инверсия реестри активдүү HIGH же активдүү LOW операциясынан турат. Бул жерде python кодун колдонуп, малина pi менен анын көрсөтмөсү.

1 -кадам: Сизге эмне керек..

Сизге эмне керек.. !!
Сизге эмне керек.. !!

1. Raspberry Pi

2. PCA9536

3. I²C кабели

4. Raspberry Pi үчүн I²C Shield

5. Ethernet кабели

2 -кадам: Байланыштар:

Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар

Малина пи үчүн I2C калканчын алыңыз жана аны акырын малинанын пи gpio казыктарынын үстүнө басыңыз.

Андан кийин I2C кабелинин бир учун PCA9536 сенсоруна, экинчи башын I2C калканчына туташтырыңыз.

Ethernet кабелин пи -ге туташтырыңыз же WiFi модулун колдонсоңуз болот.

Байланыштар жогорудагы сүрөттө көрсөтүлгөн.

3 -кадам: Код:

Код
Код

PCA9536 үчүн питон кодун биздин github репозиторийибизден көчүрүп алсаңыз болот- DCUBE дүкөнү.

Мына шилтеме

Биз SMBus китепканасын python коду үчүн колдонгонбуз, малина пи боюнча SMBus орнотуу кадамдары бул жерде сүрөттөлгөн:

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

Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:

# Эркин лицензия менен бөлүштүрүлгөн.

# Аны каалагандай колдон, пайда же бекер, эгерде ал тиешелүү эмгектеринин лицензиясына туура келсе.

# PCA9536

# Бул код PCA9536_I2CIO I2C Mini Module менен иштөө үчүн иштелип чыккан #

smbus импорттоо

импорттоо убактысы

# I2C автобусун алыңыз

автобус = smbus. SMBus (1)

# PCA9536 дареги, 0x41 (65)

# Конфигурация реестрин тандоо, 0x03 (03)

# 0xFF (255) Бардык казыктар киргизүү катары конфигурацияланган

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

# Экранга чыгаруу

басып чыгаруу "Бардык Пинс штаттары ЖОГОРУ"

убакыт.уйку (0.5)

# PCA9536 дареги, 0x41 (65)

# 0x00 (00), 1 байттан кайра маалыматтарды окуу

маалыматтар = bus.read_byte_data (0x41, 0x00)

# Маалыматтарды 4-битке айландырыңыз

маалыматтар = (маалыматтар & 0x0F)

i үчүн диапазондо (0, 4):

эгер (маалыматтар & (2 ** i)) == 0:

басып чыгаруу "I/O Pin %d State LOW" %i

башка:

басып чыгаруу "I/O Pin %d State is HIGH" %i

убакыт.уйку (0.5)

4 -кадам: Тиркемелер:

PCA9536 I/O экспантери катары колдонулушу мүмкүн. Бул кошумча киргизүү/чыгаруу керек болгондо жөнөкөй чечимди камсыздайт. Адатта, ал ACPIдин өчүргүчтөрүн, сенсорлорду, баскычтарды, светодиоддорду, күйөрмандарды ж.

Сунушталууда: