Mundarija:

Raspberry Pi - PCA9536 Kirish/chiqish Expander Python qo'llanmasi: 4 qadam
Raspberry Pi - PCA9536 Kirish/chiqish Expander Python qo'llanmasi: 4 qadam

Video: Raspberry Pi - PCA9536 Kirish/chiqish Expander Python qo'llanmasi: 4 qadam

Video: Raspberry Pi - PCA9536 Kirish/chiqish Expander Python qo'llanmasi: 4 qadam
Video: Raspberry Pi PCA9536 Temperature Sensor Java Tutorial 2024, Iyul
Anonim
Image
Image

PCA9536-bu 8-pinli CMOS qurilmasi bo'lib, u I2C-bus/SMBus ilovalari uchun umumiy maqsadli parallel kirish/chiqish (GPIO) ning 4 bitini ta'minlaydi. U 4-bitli Konfiguratsiya registri, kirish yoki chiqishni tanlash maqsadiga xizmat qiladi, 4-bitli kirish porti registri, 4-bitli chiqish portining registri va 4-bitli qutbli teskari registrni faol HIGH yoki faol LOW operatsiyasidan iborat. Python kodi yordamida malina pi bilan uning namoyishi.

1 -qadam: Sizga nima kerak.. !

Sizga nima kerak.. !!
Sizga nima kerak.. !!

1. Raspberry Pi

2. PCA9536

3. I²C kabeli

4. Raspberry Pi uchun I²C qalqoni

5. Ethernet kabeli

2 -qadam: Ulanishlar:

Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar
Ulanishlar

Malinali pi uchun I2C qalqonini oling va uni malina pi gpio pimlariga sekin suring.

Keyin I2C kabelining bir uchini PCA9536 sensoriga, ikkinchi uchini esa I2C ekraniga ulang.

Ethernet kabelini pi -ga ulang yoki WiFi modulidan foydalanishingiz mumkin.

Ulanishlar yuqoridagi rasmda ko'rsatilgan.

3 -qadam: Kod:

Kod
Kod

PCA9536 uchun python kodini bizning github omboridan- DCUBE do'konidan yuklab olish mumkin.

Mana havola

Biz python kodi uchun SMBus kutubxonasidan foydalandik, malina pi ga SMBus o'rnatish bosqichlari bu erda tasvirlangan:

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

Siz bu erdan kodni nusxalashingiz mumkin, u quyidagicha berilgan:

# Ixtiyoriy litsenziya bilan tarqatilgan.

# Agar xohlasang, foyda yoki tekin, agar u tegishli ish litsenziyalariga mos keladigan bo'lsa, ishlat.

# PCA9536

# Bu kod PCA9536_I2CIO I2C Mini moduli bilan ishlash uchun mo'ljallangan #

smbus import qilish

import vaqti

# I2C avtobusini oling

avtobus = smbus. SMBus (1)

# PCA9536 manzili, 0x41 (65)

# Konfiguratsiya registrini tanlang, 0x03 (03)

# 0xFF (255) Barcha pinlar kirish sifatida sozlangan

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

# Ekranga chiqish

chop etish "Barcha pinlar holati yuqori"

vaqt uyqu (0,5)

# PCA9536 manzili, 0x41 (65)

# Ma'lumotni 0x00 (00), 1 baytdan qaytarib o'qing

ma'lumotlar = bus.read_byte_data (0x41, 0x00)

# Ma'lumotni 4 bitga aylantiring

ma'lumotlar = (ma'lumotlar va 0x0F)

i uchun (0, 4):

agar (ma'lumotlar va (2 ** i)) == 0:

chop etish "I/U pin %d holati past" %i

boshqa:

chop etish "I/U pin %d holati yuqori" %i

vaqt uyqu (0,5)

4 -qadam: Ilovalar:

PCA9536 kirish -chiqish kengaytiruvchisi sifatida ishlatilishi mumkin. Qo'shimcha kirish/chiqish zarur bo'lganda, u oddiy echimni beradi. Odatda u ACPI quvvat kalitlari, sensorlar, tugmalar, LEDlar, fanatlar va boshqalarni kengaytirishni talab qiladigan tizimlarda qo'llaniladi.

Tavsiya: