Բովանդակություն:

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- ը 8-փին CMOS սարք է, որն ապահովում է 4 բիթ ընդհանուր նշանակության զուգահեռ մուտքի/ելքի (GPIO) ընդլայնում I2C-bus/SMBus ծրագրերի համար: Այն բաղկացած է 4-բիթ կազմաձևման ռեգիստրից, որը կծառայի մուտքի կամ ելքի ընտրության նպատակին, 4-բիթանոց մուտքային պորտ գրանցամատյան, 4-բիթանոց ելքային պորտ գրանցամատյան և 4-բիթանոց Բևեռայնության շրջման գրանցամատյան, որը գործում է բարձր կամ ակտիվ OWԱՐ: Ահա դրա ցուցադրումը ազնվամորու pi- ի միջոցով `օգտագործելով պիթոնի ծածկագիրը:

Քայլ 1: Այն, ինչ ձեզ հարկավոր է..

Այն, ինչ ձեզ պետք է.. !!
Այն, ինչ ձեզ պետք է.. !!

1. Ազնվամորի Պի

2. PCA9536

3. I²C մալուխ

4. I²C Shield ազնվամորի Pi- ի համար

5. Ethernet մալուխ

Քայլ 2: Միացումներ

Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ
Միացումներ

Վերցրեք I2C վահան ազնվամորու pi- ի համար և նրբորեն մղեք այն ազնվամորի pi- ի gpio կապանքների վրա:

Այնուհետև I2C մալուխի մի ծայրը միացրեք PCA9536 սենսորին, իսկ մյուս ծայրը ՝ I2C վահանին:

Միացրեք Ethernet մալուխը pi- ին կամ կարող եք օգտագործել WiFi մոդուլ:

Կապերը ցուցադրվում են վերևի նկարում:

Քայլ 3: Կոդ

Կոդ
Կոդ

PCA9536- ի Python ծածկագիրը կարելի է ներբեռնել մեր github պահոցից ՝ DCUBE Store:

Ահա հղումը

Մենք օգտագործել ենք SMBus գրադարանը python կոդի համար, ազնվամորի pi- ի վրա SMBus տեղադրելու քայլերը նկարագրված են այստեղ.

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)

# Ելք էկրանին

տպել "Բոլոր կապերի վիճակը բարձր է"

ժամանակ. քուն (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 is LOW" %i

այլ:

տպել "I/O Pin %d State is HIGH" %i

ժամանակ. քուն (0.5)

Քայլ 4: Դիմումներ

PCA9536- ը կարող է օգտագործվել որպես մուտքի/ելքի ընդլայնիչ: Այն տալիս է պարզ լուծում, երբ լրացուցիչ մուտքագրում/ելք է պահանջվում: Սովորաբար այն օգտագործվում է այն համակարգերում, որոնք պահանջում են ընդլայնում ACPI հոսանքի անջատիչների, սենսորների, սեղմման կոճակների, LED- ների, օդափոխիչների և այլն:

Խորհուրդ ենք տալիս: