Raspberry Pi هو لوحة قائمة على معالج معماري ARM مصممة لمهندسي الإلكترونية والهواة. يعد PI أحد أكثر منصات تطوير المشاريع الموثوقة الموجودة حاليًا. بفضل سرعة المعالج العالية وذاكرة الوصول العشوائي (RAM) التي تبلغ 1 جيجابايت ، يمكن استخدام PI للعديد من المشاريع البارزة مثل معالجة الصور وإنترنت الأشياء.
للقيام بأي من المشاريع البارزة ، يحتاج المرء إلى فهم الوظائف الأساسية لـ PI. لهذا السبب نحن هنا ، سنغطي جميع الوظائف الأساسية لـ Raspberry Pi في هذه الدروس. في كل سلسلة دروس سنناقش إحدى وظائف PI. بحلول نهاية سلسلة البرامج التعليمية ، ستكون قادرًا على القيام بمشاريع رفيعة المستوى بنفسك. تحقق من بدء استخدام Raspberry Pi و Raspberry Pi Configuration.
يعد إنشاء الاتصال بين PI والمستخدم مهمًا جدًا لتصميم المشاريع على PI. بالنسبة للاتصال ، يجب أن يأخذ PI المدخلات من المستخدم. في هذا البرنامج التعليمي الثاني من سلسلة PI ، سنقوم بتوصيل زر إلى Raspberry Pi ، لأخذ INPUTS من المستخدم.
سنقوم هنا بتوصيل زر واحد إلى GPIO Pin ومصباح LED بدبوس GPIO آخر لـ Raspberry Pi. سنكتب برنامجًا في PYTHON ، ليومض مؤشر LED باستمرار ، عند الضغط على الزر من قبل المستخدم. يومض مؤشر LED من خلال تشغيل وإيقاف GPIO.
قبل الانتقال إلى البرمجة ، دعنا نتحدث قليلاً عن LINUX و PYHTON.
لينوكس:
LINUX هو نظام تشغيل مثل Windows. إنه يؤدي جميع الوظائف الأساسية التي يمكن أن يقوم بها نظام التشغيل Windows. الاختلاف الرئيسي بينهما هو أن Linux هو برنامج مفتوح المصدر بينما Windows ليس كذلك. ما يعنيه بشكل أساسي هو أن Linux مجاني بينما Windows ليس كذلك. يمكن تنزيل Linux OS وتشغيله مجانًا ، ولكن لتنزيل نظام تشغيل Windows أصلي ، عليك دفع المال.
والفرق الرئيسي الآخر بينهما هو أنه يمكن "تعديل" نظام التشغيل Linux عن طريق التغيير والتبديل في الكود ، ولكن لا يمكن تعديل نظام التشغيل Windows ، سيؤدي القيام بذلك إلى تعقيدات قانونية. لذلك يمكن لأي شخص استخدام نظام التشغيل Linux OS ، ويمكن تعديله وفقًا لمتطلباته من أجل إنشاء نظام التشغيل الخاص به. لكن لا يمكننا القيام بذلك في Windows ، يتم تزويد نظام التشغيل Windows بقيود لمنعك من تحرير نظام التشغيل.
نحن هنا نتحدث عن Linux لأن JESSIE LITE (Raspberry Pi OS) هو نظام تشغيل قائم على LINUX ، والذي قمنا بتثبيته في جزء مقدمة Raspberry Pi. يتم إنشاء PI OS على أساس LINUX ، لذلك علينا أن نعرف القليل عن أوامر تشغيل LINUX. سنناقش حول أوامر Linux هذه في البرامج التعليمية التالية.
بايثون:
على عكس LINUX ، فإن PYTHON هي لغة برمجة مثل C و C ++ و JAVA إلخ. تستخدم هذه اللغات لتطوير التطبيقات. تذكر أن لغات البرمجة تعمل على نظام التشغيل. لا يمكنك تشغيل لغة برمجة بدون نظام تشغيل. لذا فإن نظام التشغيل مستقل بينما تعتمد لغات البرمجة. يمكنك تشغيل PYTHON و C و C ++ و JAVA على كل من Linux و Windows.
يمكن أن تكون التطبيقات التي طورتها لغات البرمجة هذه ألعابًا ومتصفحات وتطبيقات وما إلى ذلك. سنستخدم لغة البرمجة PYTHON على PI لتصميم المشاريع والتلاعب في GPIO.
سنناقش قليلاً حول PI GPIO قبل المضي قدمًا ،
دبابيس GPIO:
كما هو مبين في الشكل أعلاه ، هناك 40 دبابيس إخراج لـ PI. ولكن عندما تنظر إلى الشكل الثاني ، يمكنك أن ترى أنه لا يمكن برمجة كل 40 دبوسًا لاستخدامنا. هذه فقط 26 دبوس GPIO يمكن برمجتها. تنتقل هذه المسامير من GPIO2 إلى GPIO27.
هذه 26 دبابيس GPIO يمكن برمجتها وفقا للحاجة. تؤدي بعض هذه المسامير أيضًا بعض الوظائف الخاصة ، وسنناقش ذلك لاحقًا. مع وضع GPIO الخاص جانباً ، يتبقى لدينا 17 GPIO (دائرة خضراء فاتحة).
يمكن لكل من دبابيس GPIO الـ 17 هذه توصيل تيار 15mA كحد أقصى. ولا يمكن أن يتجاوز مجموع التيارات من كل GPIO 50 مللي أمبير. لذلك يمكننا رسم متوسط 3 مللي أمبير بحد أقصى من كل من دبابيس GPIO هذه. لذلك لا ينبغي لأحد أن يعبث بهذه الأشياء إلا إذا كنت تعرف ما تفعله.
المكونات المطلوبة:
نحن هنا نستخدم Raspberry Pi 2 Model B مع نظام التشغيل Raspbian Jessie OS. تمت مناقشة جميع متطلبات الأجهزة والبرامج الأساسية مسبقًا ، يمكنك البحث عنها في مقدمة Raspberry Pi ، بخلاف ما نحتاج إليه:
- ربط دبابيس
- 220Ω أو 1KΩ المقاوم
- يؤدى
- زر
- مجلس الخبز
شرح الدائرة:
كما هو موضح في الرسم البياني للدائرة ، سنقوم بتوصيل مؤشر LED بـ PIN35 (GPIO19) وزر بـ PIN37 (GPIO26). كما ذكرنا سابقًا ، لا يمكننا سحب أكثر من 15 مللي أمبير من أي من هذه المسامير ، لذلك للحد من التيار ، نقوم بتوصيل المقاوم 220Ω أو 1KΩ في سلسلة مع LED.
شرح العمل:
بمجرد توصيل كل شيء ، يمكننا تشغيل Raspberry Pi لكتابة البرنامج في PYHTON وتنفيذه. (لمعرفة كيفية استخدام PYTHON ، انتقل إلى PI BLINKY).
سنتحدث عن بعض الأوامر التي سنستخدمها في برنامج PYHTON.
سنقوم باستيراد ملف GPIO من المكتبة ، وتمكننا الوظيفة أدناه من برمجة دبابيس GPIO في PI. نقوم أيضًا بإعادة تسمية "GPIO" إلى "IO" ، لذلك في البرنامج عندما نريد الإشارة إلى دبابيس GPIO ، سنستخدم كلمة "IO".
استيراد RPi.GPIO كـ IO
في بعض الأحيان ، عندما تقوم دبابيس GPIO ، التي نحاول استخدامها ، ببعض الوظائف الأخرى. في هذه الحالة ، سوف نتلقى تحذيرات أثناء تنفيذ البرنامج. يخبر الأمر أدناه PI بتجاهل التحذيرات ومتابعة البرنامج.
تحذيرات IO.set (خطأ)
يمكننا إحالة دبابيس GPIO الخاصة بـ PI ، إما عن طريق رقم التعريف الشخصي على اللوحة أو عن طريق رقم وظيفتها. في الرسم التخطيطي ، يمكنك رؤية "PIN 37" على السبورة هو "GPIO26". لذلك نقول هنا إما أننا سنمثل الدبوس هنا بـ "37" أو "26".
IO.setmode (IO.BCM)
نحن نضع GPIO26 (أو PIN37) كدبوس إدخال. سنكتشف الضغط على الزر بواسطة هذا الدبوس.
IO.setup (26، IO.IN)
بينما 1: يستخدم للحلقة اللانهائية. باستخدام هذا الأمر ، سيتم تنفيذ التعليمات الموجودة داخل هذه الحلقة بشكل مستمر.
بمجرد تنفيذ البرنامج ، يومض مؤشر LED المتصل بـ GPIO19 (PIN35) كلما تم الضغط على الزر. عند تحرير مؤشر LED ، سوف ينتقل إلى حالة إيقاف التشغيل مرة أخرى.