Mündəricat:

Raspberry Pi - PCA9536 Giriş/çıxış Expander Python Dərsliyi: 4 addım
Raspberry Pi - PCA9536 Giriş/çıxış Expander Python Dərsliyi: 4 addım

Video: Raspberry Pi - PCA9536 Giriş/çıxış Expander Python Dərsliyi: 4 addım

Video: Raspberry Pi - PCA9536 Giriş/çıxış Expander Python Dərsliyi: 4 addım
Video: Raspberry Pi PCA9536 Temperature Sensor Java Tutorial 2024, Noyabr
Anonim
Image
Image

PCA9536, I2C-bus/SMBus tətbiqləri üçün 4 bit Ümumi Məqsədli paralel Giriş/Çıxış (GPIO) genişləndirməsini təmin edən 8 pinli CMOS cihazıdır. Giriş və ya çıxış seçimi məqsədinə xidmət etmək üçün 4-bitlik Konfiqurasiya reyestrindən, 4-bit Giriş Port qeydindən, 4-bit Çıxış Portu registrindən və 4-bit Polarite İnversiyası reyestrindən aktiv HIGH və ya aktiv LOW əməliyyatından ibarətdir. Python kodu istifadə edərək moruq pi ilə nümayişidir.

Addım 1: Nə Lazımdır..

Nə Lazımdır.. !!
Nə Lazımdır.. !!

1. Moruq Pi

2. PCA9536

3. I²C Kabel

4. Raspberry Pi üçün I²C Qalxanı

5. Ethernet Kabeli

Addım 2: Bağlantılar:

Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr

Moruq pi üçün bir I2C qalxanı götürün və moruq pi gpio sancaqlarının üzərinə yumşaq bir şəkildə itələyin.

Sonra I2C kabelinin bir ucunu PCA9536 sensoruna, digər ucunu isə I2C ekranına bağlayın.

Ayrıca Ethernet kabelini pi -yə qoşun və ya WiFi modulundan istifadə edə bilərsiniz.

Bağlantılar yuxarıdakı şəkildə göstərilmişdir.

Addım 3: Kod:

Kod
Kod

PCA9536 üçün python kodu github depomuzdan- DCUBE Mağazasından yükləyə bilərsiniz.

İşdə link

Python kodu üçün SMBus kitabxanasından istifadə etmişik, moruq pi üzərində SMBus quraşdırma addımları burada təsvir edilmişdir:

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

Kodu buradan da kopyalaya bilərsiniz, belə verilir:

# Sərbəst iradə lisenziyası ilə paylandı.

# Əlaqədar əsərlərinin lisenziyalarına uyğun olması şərtilə, mənfəət və ya pulsuz olaraq istədiyiniz şəkildə istifadə edin.

# PCA9536

# Bu kod PCA9536_I2CIO I2C Mini Modulu ilə işləmək üçün nəzərdə tutulmuşdur #

smbus idxal edin

idxal vaxtı

# I2C avtobusu alın

avtobus = smbus. SMBus (1)

# PCA9536 ünvanı, 0x41 (65)

# Konfiqurasiya qeydini seçin, 0x03 (03)

# 0xFF (255) Bütün pinlər giriş kimi konfiqurasiya edilmişdir

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

# Ekrana çıxış

çap et "Bütün Pins Əyaləti YÜKSEKdir"

vaxt.yuxu (0.5)

# PCA9536 ünvanı, 0x41 (65)

# 0x00 (00), 1 baytdan məlumatları geri oxuyun

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

# Məlumatı 4 bitə çevirin

data = (data & 0x0F)

i üçündür (0, 4):

əgər (data & (2 ** i)) == 0:

çap "I/O Pin %d State LOW" %i

başqa:

çap "I/O Pin %d State HIGH" %i

vaxt.yuxu (0.5)

Addım 4: Tətbiqlər:

PCA9536 I/O genişləndiricisi kimi istifadə edilə bilər. Əlavə giriş/çıxış lazım olduqda sadə bir həll təmin edir. Adətən ACPI güc açarları, sensorlar, düymələr, LEDlər, fanatlar və s.

Tövsiyə: