مقدمة إلى أقطاب دخل الراسبيري باي وخرجها ذات الاستخدام العام

مقدمة إلى أقطاب دخل الراسبيري باي وخرجها ذات الاستخدام العام

ما الذي يميز ألواح الراسبيري باي؟

عادةً ما يطرح النَّاسُ هذا السؤالَ، وجوابُه غالباً يكون نفسه كلّ مرة. بالطبع ما يميز ألواح الراسبيري باي هو الأقطابُ في عامةِ الاستخدام الموجودة فيها، وهي الأقطاب المدببة الموجودة على طول اللوحِ والتي تسمح بتوصيل الـ buzzers والحسّاسات والعتاد المركب أعلى اللوح (Hardware Attached on Top أو HAT اختصاراً).

في أوَّل نموذجين من الراسبيري باي وُجد عليها 26 قطباً فقط. ولكن سَرعان ما أصبح واضحاً أنه كلما ازداد هذا العدد؛ كان أفضلَ. ولذلك، منذ أنْ طُرِحَ إصدارُ B+ من لوح الراسبيري باي في تموز\يوليو عام 2014 أصبح عددُ الأقطاب في عامةِ الاستخدام 40 قطباً على كلٍّ من الإصدارين A وB. وما يزال الاصدارُ Zero يحتوي على أربعين قطباً يمكن استخدامُها، ولكنها بدون نقاطِ توصيل وهو ما يعني أننا نستطيع القيامَ بتلحيم القطع مباشَرة على الأقطاب أو يمكننا أن نلحم نقاطَ التّوصيل التي نفضلها [وهو أمرٌ أبسط ممّا يبدو عليه، ويمكن أن يكون ممتعاً أيضاً].

Raspberry Pi Zero W
Raspberry Pi Zero W (مصدر الصورة: موقع thepihut)

ولكن ما الذي يجعل هذه الأقطاب مميزةً إلى هذا الحدّ؟

تسمى هذه الأقطاب اصطلاحاً أقطابَ الدخل والخرج، في عامة الاستخدام (General Purpose Input-Output pins).

وإذا أردنا استخدامَ لغة يسيرة؛ نقول إنَّها أقطاب يمكن استخدامُها دخلاً يتلقى البيانات أو خرجاً يستجيبُ للبيانات. يمكن أن يكون الدخل مفتاحاً أو حسّاساً، في حين، ربما يكون الخرج buzzer أو ديوداً ضوئياً (LED ليد).

وهذا يعني أنه بإمكاننا إنجاز مشاريع محوسبة ملموسة مثيرة للاهتمام يمكنها التّفاعل مع الوسط المحيط بدلاً من كتابة النُّصوص البرمجيّة على الحاسوب فقط دون تطبيقها.

ويجب الأخذ بالحسبان، بأننا لا نستطيع التَّحكم وبرمجة كامل الاقطاب الأربعين، بل يمكن أن نتحكم في ستة وعشرين قطباً فقط. والأقطاب الباقية تخدم أهدافاً أُخر مهمّة أيضاً.

يمكن الحصولُ على فكرة أوَّلية عن الأقطاب التي يمكن برمجُتها (الأقطاب باللون الأصفر) حين نلقي نظرة على مخطط الأقطاب الذي نشرته مؤسسة Raspberry Pi، كما يوجّهُ المخططُ السَّابق الضوءَ إلي بعض المعلومات المتعلقة بالأقطاب الباقية أيضاً. يفترض المخطط أن القطب ذا الرَّقْم 21 هو القطب الأقرب إلى المداخل التَّسلسلية العامة (USB).

 

الأقطاب التي يمكن برمجُتها
الأقطاب التي يمكن برمجُتها (مصدر الصورة: موقع thepihut)

أوَّل قطبين من الزاوية العليا اليسرى هما قطبا جهدِ التَّغذية 5v، وإذا كنا نستخدم مكونات تحتاج إلى جهد تغذيةٍ، فعندَئذٍ يمكن وصلُها بجهد 5v. كذلك الأمرُ فإذا كان العنصر المرادُ تركيبُه يحتاج إلى تغذيةٍ قليلة؛ يمكن وصلُه بأحدِ أقطاب الجهد 3.3v، ويعدُّ هذان القطبان طريقة جيّدة لاختبار الليدات (LED). وذلك بتوصيلها مباشَرة إلى تغذية 3.3v وقطب أرضي (عبر مقاومة طبعاً).

إن التَّوصيل المباشرَ بقطب التغذية يعني أن الليد في وضع التّشغيل الدائم، فإذا لم يعملِ الليد عندَ اختباره بهذه الطريقة؛ فغالباً يحتاج إلى تبديلٍ. ويوجد أيضاً ثمانية أقطاب للأرضي. وكما نعلم أنه لإكمالِ أيّ دارة كهربائية يجب توصيلُها بطرف سالب أو أرضيّ، ويمكن للعناصر الموصولة بنفسِ الدارة أن تتشارك بالطرف الأرضيّ، وذاك هو الحالُ عند استخدام ألواح الاختبار، حيث يمكننا أن نستخدم صفّاً أو عموداً كاملاً كأرضي مشترك بدلاً من وصل كلّ عنصر بقطب أرضي.

وأخيراً، يوجد قطبان لهما تسمية ID EEPROM ولا داعيَ للقلق بشأنهما، فليس من المهمِّ أن نعلم الكثير عنها، كونها متعلقةً بالألواح الإضافية (Add-on) وألواح العتاد المركب أعلى اللوح (HAT). وأهمّ ما يجب معرفته عنهما هو ألّا نقوم بوصل أيّ عناصر بهما.

ماهي ألواح العتاد المركب أعلى اللوح (Hardware Attached on Top (HAT؟

أهمُّ ما يميز الراسبيري باي هو وجودُ العديد من الشّركات التي تطور منتجات مثيرة يمكن وصلها بسهولة بهذه اللوحة، كما أن أحدَ الأسباب التي أدت إلى وجود أربعين قطباً على اللوح هو تسهيل تصنيعِ ألواح العتاد المركّب أعلى اللوح HAT من قبل الشركات. ووجود القطبين اللذين يحملان مسمى EEPROM يسهل توصيل العتاد ودمجه مع مكونات الراسبيري باي.

يشير الاختصارُ (HAT) إلى Hardware Attached on Top أو العتاد المركب أعلى اللوح (*وهي ألواح إضافية يتم تثبيتها على لوح الراسبيري باي بحيثُ تتصل أقطابها بالأقطابِ العامّة للراسبيري باي بشكل مباشر) وقد قُدِمَ للمرّة الأولى في عام 2014. ثمّةَ سلسلةٌ من القواعد التي يجب أن يمتثل لها أيُّ لوح إضافي حتّى يطلق عليه هذا المسمى بشكل رسمي (وإلا فهو مجردُ لوح إضافي عادي).

تتميز هذه الألواحُ بدعمها لأعدادٍ كبيرة من المَزِيَّات كالأتمتة المنزلية وغيرها، كما يوجد عددٌ كبير من هذه الألواح في الأسواق وتقدم مَزِيِّات هائلة. ومن أمثلتها: اللوحُ المسمى Sense Hat .

لوح Sense Hat مركب على لوح راسبيري باي.
لوح Sense Hat مركب على لوح راسبيري باي. (مصدر الصورة: موقع thepihut)

صنع مطورون يافعون لوحَ Sense Hat، حيث يوجد منه حالياً وحدتان على متن محطة الفضاء الدولية يعملان بكودٍ برمجي من كتابة مطورين يافعين وذلك كجزء من المنافسة التي تجريها Astro Pi.

العدد الكبيرُ من الحسّاسات المضمنة على لوح Sense Hat هو أهمّ ما يميزه. ومن بين تلك الحّساسات “جايروسكوب” (جهاز تحديد الاتجاه) ومقياس تسارعها، وبوصلة. بالإضافة إلى حسّاسات حرارة ورطوبة وضغط، كما يحتوي اللوح على مصفوفة Neopixel بقياس 8×8 وعصا تحكّمٍ، ويمكن استخدامُهما في عددٍ كبير من التطبيقات حيث يشكلان أداةً رائعة إذا كنا نرغب في برمجة لعبة أفعى سريعة على شاشةِ العرض.

ماذا عن ترقيم الأقطاب؟

يبدو ترقيم الأقطاب محيراً قليلاً، فبعضُ الأقطاب تتبع ترتيباً رقميّاً يكون في أغلب الأحيان عشوائيّاً، إذْ يمكن ملاحظة أنَّ ترقيمَ الأقطاب لا يتبع أيَّ ترتيب منطقي.

من الجديرِ بالذكر أنَّ الأقطابَ قد ترقم ترقيماً يختلف عمّا هو موضح في المخطط المذكور (الشكل 2)، ولكن نظام الترقيم الأكثر شيوعاً هو الموضح سابقاً والمعروفُ بنظام (برودكوم) للتّرقيم.

يمكن لبعض الأشخاص اعتمادُ آلية ترقيم آخرة كالتّرقيم الفيزيائي أو ترقيمِ اللوح وهو ما يعني القيام بعدَ الأقطاب فقط وثمّ تعيين رقم لكل قطب، ولكن نظام التّرقيم المذكور أكثر شيوعاً وهو ما سنحتاجُ إليه إذا كنا سنستخدمُ لغة Scratch أو إحدى مكتبات لغة البايثون وتحديداً مكتبات (gpiozero, rpi.gpio).

يُستَخدَم غالباً لوحُ PortPlus (الشكل 4) الذي يتوضع فوق الأقطاب مباشَرة ويسمي كل قطب بشكل واضح ( وهو متوفر أيضاً بشكل مسطرة تحتوي على تلميحاتٍ مهمّة بلغة البايثون. تكمن الفكرة في إضافة هذا اللوح الذي يمكن أن يوضعَ تحت مكونات المشروع ويشكل مرجعاً سريعاً للأقطاب.

لوح PortPlus مركب على الأقطاب
لوح PortPlus مركب على الأقطاب (مصدر الصورة: موقع thepihut)

كيف نطبق هذه المعلوماتِ عمليّاً؟

لنلقِ نظرةً على دارة ليد بسيطة باستخدام لوح اختبار (الشكل 5). سنلاحظ أن السّلكَ الأزرق موصول بالقطب الموجود في أسفل مخطط الأقطاب من جهة اليمين. وهو ما يعني أننا وصّلنا -كامل العمود في لوح الاختبار -بالقطب الأرضي. وأيّ عنصر نوصلْه بأيّ نقطة من هذا السّلك؛ سيكن موصولاً بالأرضي.

(مصدر الصورة: موقع thepihut)

يصل السلك الأحمر بين الطرف الموجب إلى ليد والقطب الأعلى من جهة اليمين، وهو القطب رقْم 21. يمكننا أن نكتب برنامجاً يجعل الليد يومض. سنفعل ذلك ببرنامجين: الأوَّلُ بلغة سكراتش (Scratch) والآخر بلغةِ بايثون (Python):

(مصدر الصورة: موقع thepihut)

في هذا الكود استخدمنا المربعات الرماديّة “set gpio” والتي يــمــكــن أن نجدها في قــائـمـة “more blocks” في الإصدار 2.0 من لغة سكراتش على الراسبيري باي. سنرى الرَّقْم 21 في لافتة “gpio” ومن ثم نضع إمَّا “output high” وإمَّا “output low” لكي نضيءَ الليدَ ونطفئه. ونعلم من توصيل الدارة أن الرقم 21 هو رقْم القطب الذي وصّلنا الطرفَ الموجب لليد به.

أمّا باستخدام لغة بايثون ، فلكي نجعل الليد يومض، سنحتاجُ إلى تعيين متغير لرقْم القطب المناسب. في هذه الحالة وفي السّطر 4 عيَّنا متغيراً باسم “light” كـــ ـليد على القطب 21، فعندما نكتب “()light.on” في السّطر 7 يعلم البرنامج أنه يجبُ أن يضيء الليد الموصول بالقطب 21. وفي حال وصلّنا الليدَ بقطب عام آخر أو أردنا إضافة المزيد من الليدات إلى أقطاب مختلفة، فيجب أن نغير الرَّقْم الموجود بين قوسين إلى الرقْم الموافقِ للقطب المأخوذ من نظام التّرقيم.

(مصدر الصورة: موقع thepihut)

نرجو أن يكونَ هذا المقال قد ساعدَ على فهمِ أقطاب الراسبيري باي في عامةِ الاستخدام. ولمعلومات إضافية عن هذه الأقطاب يمكنُ زيارة  Pinout.xyzحيث يعد دليلاً مرجعيّاً سريعاً عنها.


المصدر: هنا

ترجمة:لؤي ديب, مراجعة: محمد مرتكوش, تدقيق لغوي: محمد بابكر, تصميم: علي العلي, تحرير: قحطان غانم.

Leave a Reply

Your email address will not be published. Required fields are marked *