Агуулгын хүснэгт:

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 MCP23017 output demo 2024, Арваннэгдүгээр
Anonim
Image
Image

PCA9536 бол I2C-bus/SMBus програмуудад зориулагдсан 4 битийн ерөнхий зориулалттай зэрэгцээ оролт/гаралтын (GPIO) өргөтгөлийг хангадаг 8 зүүтэй CMOS төхөөрөмж юм. Энэ нь оролт эсвэл гаралтыг сонгох зорилгоор 4 битийн тохиргооны бүртгэл, 4 битийн оролтын портын бүртгэл, 4 битийн гаралтын портын бүртгэл, 4 битийн туйлшралын урвуу бүртгэлийн идэвхтэй HIGH буюу идэвхтэй LOW үйлдлээс бүрдэнэ. Python кодыг ашиглан бөөрөлзгөнө pi -тэй хийсэн жагсаал энд байна.

Алхам 1: Танд хэрэгтэй зүйл..

Чамд юу хэрэгтэй вэ..!!
Чамд юу хэрэгтэй вэ..!!

1. Raspberry Pi

2. PCA9536

3. I²C кабель

4. Raspberry Pi -ийн I²C бамбай

5. Ethernet кабель

Алхам 2: Холболтууд:

Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд
Холболтууд

Бөөрөлзгөнө pi -д зориулсан I2C бамбай аваад бөөрөлзгөнө pi -ийн gpio тээглүүрээр зөөлөн дарна уу.

Дараа нь I2C кабелийн нэг үзүүрийг PCA9536 мэдрэгч, нөгөө үзүүрийг I2C бамбай руу холбоно уу.

Мөн Ethernet кабелийг pi руу холбоно уу, эсвэл WiFi модулийг ашиглаж болно.

Холболтыг дээрх зураг дээр харуулав.

Алхам 3: Код:

Код
Код

PCA9536-ийн питон кодыг манай github репозитороос татаж авах боломжтой- DCUBE Дэлгүүр.

Энд линк байна

Бид SMBus номын санг python кодонд ашигласан бөгөөд бөөрөлзгөнө pi дээр SMBus суулгах алхамуудыг энд тайлбарласан болно.

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

Та мөн кодыг эндээс хуулж болно, үүнийг дараах байдлаар өгсөн болно.

# Чөлөөт зөвшөөрлийн лицензээр тараасан.

# Үүнийг холбогдох бүтээлүүдийнхээ лицензтэй тохирч байвал хүссэн хэлбэрээр ашиг, үнэгүй ашиглах боломжтой.

# PCA9536

# Энэ код нь PCA9536_I2CIO I2C Mini модультай ажиллахад зориулагдсан болно #

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 -ийг I/O өргөтгөгч болгон ашиглаж болно. Нэмэлт оролт/гаралт шаардлагатай үед энэ нь энгийн шийдлийг өгдөг. Ихэнхдээ үүнийг ACPI цахилгаан унтраалга, мэдрэгч, товчлуур, LED, сэнс гэх мэт өргөтгөл шаарддаг системд ашигладаг.

Зөвлөмж болгож буй: