সুচিপত্র:

রাস্পবেরি পাই - PCA9536 ইনপুট/আউটপুট এক্সপেন্ডার পাইথন টিউটোরিয়াল: 4 টি ধাপ
রাস্পবেরি পাই - PCA9536 ইনপুট/আউটপুট এক্সপেন্ডার পাইথন টিউটোরিয়াল: 4 টি ধাপ

ভিডিও: রাস্পবেরি পাই - PCA9536 ইনপুট/আউটপুট এক্সপেন্ডার পাইথন টিউটোরিয়াল: 4 টি ধাপ

ভিডিও: রাস্পবেরি পাই - PCA9536 ইনপুট/আউটপুট এক্সপেন্ডার পাইথন টিউটোরিয়াল: 4 টি ধাপ
ভিডিও: Raspberry pi Home Server | রাস্পবেরি পাই হোম সার্ভার। 2024, নভেম্বর
Anonim
Image
Image

PCA9536 হল একটি 8-পিন CMOS ডিভাইস যা I2C-bus/SMBus অ্যাপ্লিকেশনের জন্য সাধারণ উদ্দেশ্য সমান্তরাল ইনপুট/আউটপুট (GPIO) সম্প্রসারণের 4 বিট প্রদান করে। এটি ইনপুট বা আউটপুট নির্বাচনের উদ্দেশ্যে 4-বিট কনফিগারেশন রেজিস্টার, 4-বিট ইনপুট পোর্ট রেজিস্টার, 4-বিট আউটপুট পোর্ট রেজিস্টার এবং 4-বিট পোলারিটি ইনভার্সন রেজিস্টার সক্রিয় উচ্চ বা সক্রিয় কম অপারেশন নিয়ে গঠিত। পাইথন কোড ব্যবহার করে রাস্পবেরি পাই দিয়ে এর প্রদর্শন।

ধাপ 1: আপনার যা প্রয়োজন..

তুমি কি চাও..!!
তুমি কি চাও..!!

1. রাস্পবেরি পাই

2. PCA9536

3. I²C কেবল

4. রাস্পবেরি পাই এর জন্য I²C শিল্ড

5. ইথারনেট কেবল

ধাপ 2: সংযোগ:

সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ
সংযোগ

রাস্পবেরি পাই এর জন্য একটি I2C ieldাল নিন এবং রাস্পবেরি পাই এর জিপিও পিনের উপর আলতো করে চাপ দিন।

তারপর I2C তারের এক প্রান্তকে PCA9536 সেন্সর এবং অন্য প্রান্তটি I2C ieldালের সাথে সংযুক্ত করুন।

এছাড়াও ইথারনেট কেবল কে পাই এর সাথে সংযুক্ত করুন অথবা আপনি একটি ওয়াইফাই মডিউল ব্যবহার করতে পারেন।

উপরের ছবিতে কানেকশন দেখানো হয়েছে।

ধাপ 3: কোড:

কোড
কোড

PCA9536 এর পাইথন কোডটি আমাদের গিটহাব রিপোজিটরি- DCUBE স্টোর থেকে ডাউনলোড করা যাবে।

এখানে লিঙ্ক আছে

আমরা পাইথন কোডের জন্য SMBus লাইব্রেরি ব্যবহার করেছি, রাস্পবেরি পাইতে SMBus ইনস্টল করার ধাপগুলি এখানে বর্ণনা করা হয়েছে:

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

আপনি এখান থেকে কোডটি অনুলিপি করতে পারেন, এটি নিম্নরূপ দেওয়া হয়েছে:

# একটি স্বাধীন ইচ্ছা লাইসেন্স দিয়ে বিতরণ করা হয়েছে।

# আপনি যেভাবেই চান, মুনাফা বা বিনামূল্যে ব্যবহার করুন, যদি এটি তার সংশ্লিষ্ট কাজের লাইসেন্সের সাথে খাপ খায়।

# PCA9536

# এই কোডটি PCA9536_I2CIO I2C মিনি মডিউলের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে #

এসএমবিএস আমদানি করুন

আমদানির সময়

# 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 বাইট থেকে ফিরে তথ্য পড়ুন

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

# ডেটাকে 4-বিটে রূপান্তর করুন

ডেটা = (ডেটা এবং 0x0F)

আমি পরিসরে (0, 4):

যদি (ডেটা এবং (2 ** i)) == 0:

"I/O পিন %d স্টেট কম" %i মুদ্রণ করুন

অন্য:

প্রিন্ট করুন "I/O Pin %d State is high" %i

সময় ঘুম (0.5)

ধাপ 4: অ্যাপ্লিকেশন:

PCA9536 একটি I/O সম্প্রসারণকারী হিসাবে নিযুক্ত করা যেতে পারে। অতিরিক্ত ইনপুট/আউটপুট প্রয়োজন হলে এটি একটি সহজ সমাধান প্রদান করে। সাধারণত এটি এমন সিস্টেমে নিযুক্ত হয় যার জন্য ACPI পাওয়ার সুইচ, সেন্সর, পুশ বোতাম, এলইডি, ফ্যান ইত্যাদির সম্প্রসারণ প্রয়োজন।

প্রস্তাবিত: