- المتطلبات
- تثبيت PyFirmata في Arduino باستخدام Raspberry Pi
- شرح الكود
- يتلاشى LED على Arduino باستخدام pyFirmata
على الرغم من أن Raspberry Pi و Arduino هما جهازان مختلفان من حيث تطبيقاتهما وهيكلهما ، إلا أنهما يعتبران منصتين متنافستين للأجهزة مفتوحة المصدر. كلاهما يتمتعان بمجتمع ودعم قويين للغاية. سنقوم اليوم بتغيير الأشياء قليلاً ، ونوضح لك كيف يمكننا الاستفادة من كليهما. إذا كان لديك كل من لوحتي Arduino و Raspberry pi ، فستوضح لك هذه المقالة كيفية استخدام Raspberry pi و Python للتحكم في Arduino.
سوف نستخدم PyFirmata الثابتة لإعطاء الأوامر لاردوينو باستخدام توت العليق بي النصي الثعبان. PyFirmata عبارة عن حزمة مكتبة تم إنشاؤها مسبقًا من برنامج python والتي يمكن تثبيتها في Arduino للسماح بالاتصال التسلسلي بين برنامج نصي من Python على أي جهاز كمبيوتر و Arduino. يمكن أن تتيح حزمة python هذه الوصول لقراءة وكتابة أي دبوس على Arduino. لذلك سنقوم هنا بتشغيل برنامج python على Arduino باستخدام Raspberry pi.
لذلك في هذا البرنامج التعليمي ، سوف نستفيد من هذه المكتبة وسنستخدمها في لوحة Arduino للتحكم في Arduino باستخدام Raspberry Pi.
المتطلبات
- Raspberry Pi مثبت عليه نظام التشغيل Raspbian OS
- Arduino Uno أو أي لوحة Arduino أخرى
- كابل يو اس بي اردوينو
- يؤدى
في هذا البرنامج التعليمي ، أستخدم مراقب خارجي باستخدام كابل HDMI للاتصال بـ Raspberry Pi. إذا لم يكن لديك شاشة ، يمكنك استخدام عميل SSH (معجون) أو خادم VNC للاتصال بـ Raspberry pi باستخدام الكمبيوتر المحمول أو الكمبيوتر. إذا وجدت أي صعوبة ، فاتبع دليل Raspberry Pi الخاص بنا.
تثبيت PyFirmata في Arduino باستخدام Raspberry Pi
لتحميل برنامج PyFirmata الثابت في Arduino ، يتعين علينا تثبيت Arduino IDE في Raspberry Pi. اتبع هذه الخطوات للتثبيت:
الخطوة 1: - قم بتوصيل Raspberry Pi بالإنترنت. افتح محطة الأوامر واكتب الأمر التالي واضغط على Enter
sudo apt - get - y install arduino python - المسلسل الزئبقي
انتظر بضع دقائق ، سيستغرق الأمر بعض الوقت. سيقوم هذا الأمر بتثبيت Arduino IDE في Raspberry Pi الخاص بك.
الخطوة 2: - الآن ، سنقوم بتثبيت ملفات pyFirmata باستخدام جيثب المحدد:
استنساخ بوابة https://github.com/tino/pyFirmata
ثم قم بتشغيل الأمر التالي:
cd pyFirmata sudo python setup.py install
الخطوة 3: - لقد قمنا بتثبيت جميع الملفات والإعدادات المطلوبة.
الآن ، قم بتوصيل لوحة Arduino الخاصة بك بـ Raspberry Pi باستخدام كابل USB وتشغيل Arduino IDE عن طريق كتابة arduino في نافذة المحطة.
الخطوة 4: - ثم اكتب الأمر lsusb للتحقق مما إذا كان Arduino متصلًا بـ raspberry pi.
في Arduino IDE ، انتقل إلى الأدوات واختر اللوحة والمنفذ التسلسلي.
الخطوة 5: - قم بتحميل برنامج PyFirmata الثابت على Arduino بالنقر فوق ملف -> أمثلة -> Firmata -> Standard Firmata ثم انقر فوق زر التحميل. كما هو مبين أدناه.
لقد نجحنا في تثبيت البرامج الثابتة pyFirmata في لوحة Arduino. الآن ، يمكننا التحكم في Arduino باستخدام Raspberry Pi.
لمظاهرة سنقوم ميض وتتلاشى وLED على اردوينو من خلال كتابة رموز الثعبان في بي توت العليق.
شرح الكود
بالنسبة لجزء الترميز ، يجب قراءة توثيق pyFirmata لفهم أفضل. سنستخدم وظائف pyFirmata لكتابة التعليمات البرمجية الخاصة بنا. يمكنك العثور على وثائق pyFirmata باتباع الرابط.
لذلك دعونا نبدأ في كتابة الكود
افتح محرر النصوص المفضل لديك على Raspberry Pi واستورد مكتبة pyFirmata.
استيراد pyfirmata
حدد دبوسًا على Arduino لتوصيل LED
led_pin = 9
الآن ، يتعين علينا كتابة اسم المنفذ التسلسلي الذي تتصل به لوحة Arduino باستخدام وظيفة pyfirmata.Arduino () ثم إنشاء مثيل عن طريق تعيين منفذ في متغير اللوحة .
board = pyfirmata.Arduino ("/ dev / ttyACM0") طباعة "الرمز قيد التشغيل"
في حلقة while ، اجعل دبوس LED مرتفعًا ومنخفضًا باستخدام وظيفة board.digital.write () وإعطاء تأخير باستخدام وظيفة board.pass_time () .
بينما صحيح: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
الكود الخاص بنا جاهز ، احفظ هذا الكود بوضع ملحق .py على اسم الملف.
افتح محطة الأوامر واكتب python blink.py لتشغيل الكود على لوحة Arduino. تأكد من توصيل لوحة Arduino بلوحة Raspberry Pi باستخدام كابل USB.
الآن ، يمكنك رؤية Blinking LED على لوحة Arduino.
يتم تقديم رمز كامل لوميض LED باستخدام pyFirmata في النهاية.
يتلاشى LED على Arduino باستخدام pyFirmata
الآن ، سنكتب رمزًا لتلاشي مؤشر LED لنجعلك أكثر دراية بوظائف pyFirmata. هذا الرمز سهل مثل الرمز السابق. يجب عليك استخدام حلقتين من أجل ، واحدة لزيادة السطوع والأخرى لتقليل السطوع.
في هذا الكود ، قمنا بتعريف المسامير بطريقة مختلفة مثل led = board.get_pin ('d: 9: p') حيث تعني d الدبوس الرقمي . هذه وظيفة من مكتبة pyFirmata. اقرأ الوثائق لمزيد من التفاصيل.
تم تقديم رمز كامل لـ Fading LED باستخدام pyFirmata في النهاية.
الآن ، يمكنك إضافة المزيد من المستشعرات إلى نظامك وجعله أكثر روعة ، والتحقق من مشاريع Arduino الأخرى الخاصة بنا ومحاولة بنائها باستخدام Raspberry pi و python script.