রাস্পবেরী পাই এর পিনের ভূমিকা
'জিপিওআই' শব্দটি (জেনারাল উদ্দেশ্য ইনপুট আউটপুট) রাস্পবেরী পাই থেকে একচেটিয়া নয়। ইনপুট এবং আউটপুট পিনগুলি বেশিরভাগ মাইক্রোকন্ট্রোলার যেমন Arduino, Beaglebone এবং আরও পাওয়া যেতে পারে।
আমরা যখন রাস্পবেরি পাই এর সাথে জিপিআইও সম্পর্কে কথা বলি, আমরা বোর্ডের উপরের বাম কোণে দীর্ঘ পিনের উল্লেখ করছি। পুরানো মডেলের 26 টি পিন ছিল, তবে আমাদের মধ্যে বেশিরভাগই 40 এর সাথে বর্তমান মডেল ব্যবহার করবে।
আপনি এই পিনগুলিতে উপাদানগুলি এবং অন্যান্য হার্ডওয়্যার ডিভাইসগুলি সংযুক্ত করতে পারেন এবং তারা কী করে তা নিয়ন্ত্রণ করতে কোড ব্যবহার করে। এটা রাস্পবেরী পাই এবং ইলেকট্রনিক্স সম্পর্কে শিখতে একটি দুর্দান্ত উপায় একটি গুরুত্বপূর্ণ অংশ।
কয়েকটি সফ্টওয়্যার প্রকল্পগুলির পরে, আপনি সম্ভবত এই পিনগুলির সাথে পরীক্ষা করে দেখতে পাবেন, যা আপনার কোডটিকে হার্ডওয়্যারের সাথে মেশাতে আগ্রহী, যা 'বাস্তব জীবনে' জিনিসগুলি ঘটতে পারে।
আপনি যদি দৃশ্যটিতে নতুন হন তবে এই প্রক্রিয়াটি হুমকির মুখে পড়তে পারে এবং এটি একটি মিথ্যা পদক্ষেপের কারণে আপনার রাস্পবেরী পাইকে ক্ষতি করতে পারে, এটি বোঝা যায় যে এটি নবীনদের অন্বেষণ করার জন্য একটি স্নায়বিক এলাকা।
এই প্রবন্ধটি কীভাবে GPIO পিনের প্রতিটি প্রকার এবং তাদের সীমাবদ্ধতাগুলি ব্যাখ্যা করবে তা ব্যাখ্যা করবে।
02 এর 02জিপিওআই
প্রথম, আসুন আমরা সম্পূর্ণরূপে জিপিআইওর দিকে নজর দিই। পিন একই চেহারা হতে পারে কিন্তু তারা সব বিভিন্ন ফাংশন আছে। উপরের চিত্রটি এই ফাংশনগুলিকে বিভিন্ন রংগুলিতে দেখায় যা আমরা নিম্নলিখিত পদক্ষেপগুলিতে ব্যাখ্যা করব।
প্রতিটি পিনটি নীচে বামে 1 থেকে 40 পর্যন্ত শুরু হয়। এইগুলি প্রকৃত পিন নাম্বার, তবে কোডিংয়ের সময় ব্যবহৃত 'বিসিএম' নাম্বারিং / লেবেলিং কনভেনশনগুলি রয়েছে।
03 এর 03ক্ষমতা স্থল
হাইলাইটেড লাল, 3.3V বা 5V এর জন্য '3' বা '5' লেবেলযুক্ত পাওয়ার পিনগুলি।
এই পিনগুলি আপনাকে কোনও কোডের প্রয়োজন ছাড়াই সরাসরি ডিভাইসে পাওয়ার পাঠাতে দেয়। উভয় বন্ধ এই বাঁক কোন উপায় নেই।
২ টি পাওয়ার রেলে রয়েছে - 3.3 ভোল্ট এবং 5 ভোল্ট। এই নিবন্ধ অনুসারে, 3.3 ভি রেল 50mA বর্তমান ড্র পর্যন্ত সীমাবদ্ধ, যখন 5 ভি রেল আপনার পাওয়ার সাপ্লাই থেকে যা অবশিষ্ট আছে তা সরবরাহ করতে পারে যা পাইটি প্রয়োজনীয়তার জন্য গ্রহণ করে।
হাইলাইট বাদামীস্থল পিনের (GND) হয়। এই পিন ঠিক তারা কি বলে - স্থল পিনের - যা কোনও ইলেকট্রনিক্স প্রকল্পের একটি অতীব গুরুত্বপূর্ণ অংশ।
(5 ভি জিপিওআই পিনগুলি শারীরিক সংখ্যা 2 এবং 4. 3.3 ভি জিপিওআই পিনগুলি প্রকৃত সংখ্যা 1 এবং 17. শারীরিক সংখ্যা জিপিআইও পিনগুলি 6, 9, 14, ২0, ২5, 30, 34 এবং 39) শারীরিক সংখ্যা।
09 এর 04ইনপুট / আউটপুট পিন
সবুজ পিনগুলি আমি 'জেনেরিক' ইনপুট / আউটপুট পিনগুলিকে কল করি। আইটি 2২, এসপিআই বা ইউআরএর মতো অন্যান্য ফাংশনগুলির সাথে সংঘর্ষের বিষয়ে কোন উদ্বেগ ছাড়াই ইনপুট বা আউটপুট হিসাবে এটি সহজেই ব্যবহার করা যেতে পারে।
এটি এমন পিন যা একটি LED, বুজার বা অন্যান্য উপাদানগুলিতে শক্তি প্রেরণ করতে পারে বা সেন্সর, সুইচ বা অন্যান্য ইনপুট ডিভাইস পড়তে একটি ইনপুট হিসাবে ব্যবহার করতে পারে।
এই পিনের আউটপুট ক্ষমতা 3.3 ভি। প্রতিটি পিন বর্তমানের 16 মিটার ছাড়িয়ে নাও, সঙ্কুচিত বা সোর্সিং করা উচিত এবং জিপিওআই পিনের পুরো সেটটি 50mA এর বেশি একর বেশি হওয়া উচিত নয়। এটি বিধিনিষেধযুক্ত হতে পারে, তাই আপনাকে কিছু প্রকল্পে সৃজনশীল হতে হবে।
(জেনেরিক জিপিওআই পিনগুলি 7, 11, 1২, 13, 15, 16, 18, ২২, ২9, 31, 32, 33, 35, 36, 37, 38 এবং 40)।
09 এর 05I2C পিনের
হলুদ, আমরা আই 22C পিন আছে। I2C একটি যোগাযোগ প্রোটোকল যা সাধারণ পদগুলিতে ডিভাইসগুলি রাস্পবেরী পাইয়ের সাথে যোগাযোগ করতে দেয়। এই পিনগুলি 'জেনেরিক' জিপিওআই পিন হিসাবেও ব্যবহার করা যেতে পারে।
I2C ব্যবহার করার একটি ভাল উদাহরণ হল খুব জনপ্রিয় MCP23017 পোর্ট এক্সপ্যান্ডার চিপ, যা আপনাকে এই I2C প্রোটোকলের মাধ্যমে আরও ইনপুট / আউটপুট পিন সরবরাহ করতে পারে।
(আইটিপি জিপিওআই পিনগুলি শারীরিক পিন সংখ্যা 3 এবং 5)
09 এর 06UART (সিরিয়াল) পিনের
ধূসর, UART পিন হয়। এই পিনগুলি হল আরেকটি যোগাযোগ প্রোটোকল যা সিরিয়াল সংযোগ সরবরাহ করে এবং এটি 'জেনেরিক' জিপিওআই ইনপুট / আউটপুট হিসাবেও ব্যবহার করা যেতে পারে।
ইউআরএএর জন্য আমার প্রিয় ব্যবহার হল আমার পাই থেকে আমার ল্যাপটপে একটি সিরিয়াল সংযোগ সক্ষম করা। এটি অ্যাড-অন বোর্ড বা সাধারণ তারের ব্যবহার করে অর্জন করা যেতে পারে এবং আপনার Pi অ্যাক্সেস করার জন্য স্ক্রীন বা ইন্টারনেট সংযোগের প্রয়োজনগুলি সরিয়ে ফেলা হয়।
(UART GPIO পিনগুলি শারীরিক পিন সংখ্যা 8 এবং 10)
09 এর 07এসপিআই পিনস
গোলাপী, আমরা এসপিআই পিন আছে। এসপিআই একটি ইন্টারফেস বাস যা পাই এবং অন্যান্য হার্ডওয়্যার / পেরিফেরালগুলির মধ্যে তথ্য পাঠায়। এটি সাধারণত একটি LED ম্যাট্রিক্স বা প্রদর্শন হিসাবে ডিভাইসের চেনাশোনা জন্য ব্যবহৃত হয়।
অন্যদের মত, এই পিনগুলি 'জেনেরিক' জিপিওআই ইনপুট / আউটপুট হিসাবেও ব্যবহার করা যেতে পারে।
(এসপিআই জিপিওআই পিনগুলি প্রকৃত পিন সংখ্যা 19, ২1, ২3, ২4 এবং ২6)
09 এর 08ডিএনসি পিন
অবশেষে নীলের দুটি পিন যা বর্তমানে, ডিএনসি হিসাবে লেবেলযুক্ত, যা 'ডোনেট নয়' এর জন্য দাঁড়িয়েছে। রাস্পবেরী পাই ফাউন্ডেশন বোর্ড / সফ্টওয়্যার পরিবর্তন করলে ভবিষ্যতে এটি পরিবর্তন হতে পারে।
(ডিএনসি জিপিওআই পিনগুলি শারীরিক পিন সংখ্যা 27 এবং ২8)
09 এর 09জিপিওআই সংখ্যায়ন কনভেনশন
জিপিআইওর সাথে কোডিং করার সময় আপনার কাছে জিপিআইও লাইব্রেরিকে দুটি উপায়ে আমদানি করতে পছন্দ করা হয় - বিসিএম বা বোর্ড।
আমি পছন্দ বিকল্পটি জিপিআইও বিসিএম হয়। এটি ব্রডকোম সংখ্যায়ন কনভেনশন এবং আমি এটি প্রকল্প এবং হার্ডওয়্যার অ্যাড-অন জুড়ে সাধারণভাবে ব্যবহার করা হয়।
দ্বিতীয় বিকল্প জিপিআইও বোর্ড। এই পদ্ধতিটি পরিবর্তে পিনের গণনা ব্যবহার করে, যা পিনগুলি গণনা করার সময় সহজ, কিন্তু আপনি এটি প্রকল্প উদাহরণগুলিতে কম ব্যবহার করতে পাবেন।
GPIO লাইব্রেরি আমদানি করার সময় জিপিআইও মোড সেট করা হয়:
বিসিএম হিসাবে আমদানি করতে:
জিপিওআই হিসাবে RPI.GPIO আমদানি করুন
GPIO.setmode (GPIO.BCM)
বোর্ড হিসাবে আমদানি করতে:
জিপিওআই হিসাবে RPI.GPIO আমদানি করুন
GPIO.setmode (GPIO.BOARD)
এই পদ্ধতির উভয় ঠিক একই কাজ, এটি শুধু সংখ্যক পছন্দ একটি ব্যাপার।
আমি নিয়মিত জিপিওআই লেবেল বোর্ড যেমন রাস্পো পোর্টসপ্লাস (চিত্রিত) ব্যবহার করি, যাতে আমি যে পিনগুলি সংযুক্ত করছি তার সাথে সংযোগ স্থাপন করি। এক দিকে বিসিএম সংখ্যায়ন কনভেনশন দেখায়, অন্য বোর্ড দেখায় - তাই আপনি যে কোনও প্রকল্পের জন্য আচ্ছাদিত হন।