فهرست مطالب:

Raspberry Pi - PCA9536 ورودی/خروجی آموزش توسعه دهنده پایتون: 4 مرحله
Raspberry Pi - PCA9536 ورودی/خروجی آموزش توسعه دهنده پایتون: 4 مرحله

تصویری: Raspberry Pi - PCA9536 ورودی/خروجی آموزش توسعه دهنده پایتون: 4 مرحله

تصویری: Raspberry Pi - PCA9536 ورودی/خروجی آموزش توسعه دهنده پایتون: 4 مرحله
تصویری: Building the IO Pi Plus 32 channel IO interface for the Raspberry Pi 2024, جولای
Anonim
Image
Image

PCA9536 یک دستگاه CMOS 8 پینی است که 4 بیت گسترش ورودی/خروجی موازی با هدف عمومی (GPIO) را برای برنامه های I2C-bus/SMBus فراهم می کند. این شامل یک ثبت پیکربندی 4 بیتی است که به منظور انتخاب ورودی یا خروجی ، ثبت پورت ورودی 4 بیتی ، ثبت پورت خروجی 4 بیتی و یک ثبت وارونگی قطبی 4 بیتی فعال در عملیات بالا یا فعال پایین است. در اینجا نمایش آن با تمشک pi با استفاده از کد پایتون است.

مرحله 1: آنچه شما نیاز دارید..

آنچه شما نیاز دارید.. !!
آنچه شما نیاز دارید.. !!

1. تمشک پای

2. PCA9536

3. کابل I²C

4. I²C Shield برای رزبری پای

5. کابل اترنت

مرحله 2: اتصالات:

اتصالات
اتصالات
اتصالات
اتصالات
اتصالات
اتصالات
اتصالات
اتصالات

یک سپر I2C برای تمشک pi بگیرید و آن را به آرامی روی پایه های gpio تمشک pi فشار دهید.

سپس یک سر کابل I2C را به سنسور PCA9536 و سر دیگر را به سپر I2C وصل کنید.

همچنین کابل اترنت را به pi وصل کنید یا می توانید از ماژول WiFi استفاده کنید.

اتصالات در تصویر بالا نشان داده شده است.

مرحله 3: کد:

کد
کد

کد پایتون برای PCA9536 را می توانید از مخزن github ما- فروشگاه DCUBE بارگیری کنید.

اینجا پیوند است

ما از کتابخانه SMBus برای کد پایتون استفاده کرده ایم ، مراحل نصب SMBus بر روی تمشک pi در اینجا شرح داده شده است:

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

همچنین می توانید کد را از اینجا کپی کنید ، به صورت زیر آمده است:

# توزیع شده با مجوز اراده آزاد.

# از آن به هر نحوی که می خواهید استفاده کنید ، سودمند یا رایگان ، مشروط بر اینکه در مجوز آثار مرتبط با آن متناسب باشد.

# PCA9536

# این کد برای کار با ماژول PCA9536_I2CIO I2C Mini # طراحی شده است

smbus وارد کنید

زمان واردات

# اتوبوس I2C بگیرید

bus = smbus. SMBus (1)

آدرس # PCA9536 ، 0x41 (65)

# ثبت پیکربندی را انتخاب کنید ، 0x03 (03)

# 0xFF (255) همه پین ها به عنوان ورودی پیکربندی شده اند

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

# خروجی به صفحه

print "All Pins State are HIGH"

زمان خواب (0.5)

آدرس # PCA9536 ، 0x41 (65)

# داده ها را از 0x00 (00) ، 1 بایت بخوانید

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

# داده ها را به 4 بیت تبدیل کنید

داده = (داده و 0x0F)

برای i در محدوده (0 ، 4):

if (داده & (2 ** i)) == 0:

print "I/O Pin٪ d State is LOW"٪ i

دیگری:

print "I/O Pin٪ d State is HIGH"٪ i

زمان خواب (0.5)

مرحله 4: برنامه های کاربردی:

PCA9536 را می توان به عنوان گسترش دهنده ورودی/خروجی استفاده کرد. در صورت نیاز به ورودی/خروجی اضافی ، یک راه حل ساده ارائه می دهد. معمولاً در سیستم هایی استفاده می شود که برای سوئیچ های قدرت ACPI ، سنسورها ، دکمه های فشار ، LED ها ، فن ها و غیره نیاز به توسعه دارند.

توصیه شده: