كيفية برمجة والتحكم في Arduino باستخدام Python

كيفية برمجة والتحكم في Arduino باستخدام Python

اقتحمت بايثون عالم الترميز. إلى جانب ظهور هذه اللغة الجديدة ، ازدهر مشهد الإلكترونيات اليدوية أيضًا. لوحات تطوير وأجهزة كمبيوتر أحادية اللوحة من شركات مثل اردوينو و Raspberry Pi غيّروا طريقة صنع الناس للإلكترونيات المنزلية. ألن يكون رائعًا إذا كان بإمكانك برمجة Arduino باستخدام Python؟





ماذا تفعل بجهاز كمبيوتر جديد

لا يوجد شعور أفضل من الجمع بين شيئين رائعين. للأسف ، من المستحيل برمجة Arduino مع Python مباشرة ، حيث لا يوجد لدى المجالس خيار للترجمة الفورية للغة. لكن ما هو ممكن هو التحكم المباشر في USB باستخدام برنامج Python.





ستوضح لك هذه المقالة كيفية إعداد Arduino UNO (على الرغم من أن أي لوحة متوافقة مع Arduino يمكن أن تعمل هنا) ليتم برمجتها والتحكم فيها من سطر الأوامر باستخدام برامج Python. هذا البرنامج التعليمي مكتوب لنظام التشغيل Windows 10 ، ولكنه يعمل أيضًا مع نظامي التشغيل Mac و Linux. يمكنك حتى استخدام سير العمل هذا للتحكم في Arduino مباشرة من Raspberry Pi للحصول على تجربة DIY المزدوجة.





إعداد Arduino الخاص بك لبايثون

بالنسبة لمشروع اليوم ، سنستخدم Arduino Uno ، جنبًا إلى جنب مع واجهة pyFirmata لـ Python. يمكنك استخدام أي لوحة متوافقة مع Arduino تقريبًا لهذا الغرض ، على الرغم من أنه في وقت كتابة هذا التقرير ، يتم دعم Arduino Uno و Mega و Due و Nano فقط بواسطة واجهة pyFfirmata. إذا كنت معلم لغة Python بالفعل ، فيمكنك إضافة دعم اللوحة الخاصة بك إلى pyFirmata - تأكد من تحديث GitHub إذا قمت بذلك!

إذا لم تكن قد قمت بالفعل بتثبيت Arduino IDE. إذا كنت جديدًا تمامًا في عالم المتحكمات الدقيقة ، فإن دليل المبتدئين لاردوينو سوف تساعدك على وضع كل شيء في مكانه الصحيح.



قم بتوصيل لوحة Arduino الخاصة بك ، وافتح IDE. تأكد من تحديد اللوحة والمنفذ الصحيحين في ملف أدوات قائمة. قم بتحميل ملف قياسي مثال رسم وتحميله على السبورة. سيسمح لك ذلك بالتحكم في Arduino مباشرة طالما أنه متصل بالكمبيوتر عبر USB. شريطة أن يتم تحميل الرسم التخطيطي إلى لوحك دون أي أخطاء ، فأنت جاهز للمضي قدمًا.

التحكم في Python و Command Line

سنستخدم Python 3.4 للتحكم في Arduino ، حيث تحدد الوحدة التي ستقوم بتثبيتها هذا كأحدث إصدار متوافق. يجب أن يعمل أي إصدار قبل ذلك بشكل جيد ، وقد تم الإبلاغ عن عمل الإصدارات الأحدث. يمكنك تنزيل Python 3.4 لنظام التشغيل Windows 10 من ملف مؤسسة برمجيات بايثون موقع. إذا كنت ترغب في تشغيل إصدار متعدد من Python ، فسيكون دليلنا إلى بيئات Python الافتراضية قادرًا على مساعدتك.





بمجرد تثبيت Python ، نريد إضافته إلى متغير PATH لنظامك. سيسمح لنا هذا بتشغيل كود Python مباشرة من سطر الأوامر دون الحاجة إلى أن نكون في الدليل الذي تم تثبيته فيه. يمكنك القيام بذلك عن طريق فتح لوحة التحكم ، البحث عن بيئة وانقر فوق قم بتحرير متغيرات بيئة النظام . في الجزء السفلي من النافذة حدد متغيرات البيئة . سيؤدي ذلك إلى إظهار هذه النافذة:

إذا كنت ترى بالفعل طريق في القائمة ، انقر فوق تحرير ، وأضف ملف بايثون و بايثون / مخطوطات الدليل. إذا لم يكن لديك متغير PATH ، فانقر فوق جديد وأضفه. لاحظ أنه تم تثبيت Python مباشرة في ملف ج: هنا. إذا قمت بتثبيته في مكان آخر ، فستحتاج إلى تعديله ليعكس ذلك. انقر فوق موافق للخلف أسفل سلسلة النوافذ ، وستكون جاهزًا تقريبًا للتحكم في Arduino باستخدام Python!





الشحم السحري

ستحتاج إلى قطعة أخيرة من اللغز لتجعل بايثون تتحدث بلطف مع Arduino. يأتي هذا في شكل واجهة Python تسمى pyFirmata . هذه الواجهة التي أنشأتها Tino de Bruijn هي متاح للتنزيل من github ، على الرغم من أنه يمكنك تثبيته مباشرة من سطر الأوامر عن طريق كتابة:

pip install pyfirmata

كل شيء على ما يرام ، يجب أن يتم تثبيته ويبدو كما يلي:

إذا فشلت ، فانتقل إلى إضافة Python إلى ملف متغيرات البيئة وتأكد من أنك أعطيت المسار الصحيح إلى دليل بايثون الخاص بك.

جعلها تحدث

الآن تم إعداد كل شيء ، ويمكنك إنشاء برنامج Python لـ Arduino لاختباره. افتح IDE من اختيارك. سوف نستخدم كسوف اليوم ، ولكن يمكنك بسهولة استخدام أي محرر نصوص ، أو حتى IDE في السحابة.

قم بإنشاء نص جديد ، وحفظه باسم blink.py . كسر التقاليد مع برنامج LED الوامض القياسي ، ستنشئ برنامجًا يطالب المستخدم بعدد المرات التي يريد فيها وميض LED قبل تنفيذه. إنه برنامج قصير يمكنك القيام به حمل هنا إذا كنت ترغب في الوصول إليها مباشرة ، ولكن دعنا نقسمها.

أولاً ، سترغب في استيراد ما تحتاجه من ملف pyFirmata الوحدة النمطية ، جنبًا إلى جنب مع لغة Python القياسية زمن وحدة.

كيفية الوصول إلى رسائل instagram على الكمبيوتر
from pyfirmata import Arduino, util
import time

الآن سترغب في إعداد لوحة Arduino. تفترض هذه المقالة أنك تستخدم ملف اردوينو أونو على الرغم من دعم العديد من لوحات Arduino الأخرى. ارجع إلى pyFirmata github للحصول على تفاصيل حول دعم اللوحة.

تحقق من منفذ COM الذي تستخدمه في Arduino IDE ، وأدخله في الكود الخاص بك كمتغير مجلس .

board = Arduino('COM3')

الآن ستقوم بإعداد موجه المستخدم. أولئك الذين يعرفون بايثون سيتعرفون على كل شيء هنا. يمكنك طباعة سؤال على الشاشة باستخدام ملف إدخال وظيفة ، وتخزين الإجابة كمتغير. بمجرد أن يقدم المستخدم رقمًا ، يقوم البرنامج بإبلاغ عدد المرات التي سيومض فيها مؤشر LED.

loopTimes = input('How many times would you like the LED to blink: ')
print('Blinking ' + loopTimes + ' times.')

لجعل مؤشر LED يومض بالعدد المناسب من المرات ، يمكنك استخدام ملف لحلقة . إذا كنت كذلك جديد في بايثون ، احذر من المسافة البادئة ، فخلافًا للغات الأخرى ، تعد المسافات جزءًا من بناء الجملة. لاحظ أن الدبوس 13 هو مؤشر LED على اللوحة لـ Arduino Uno ، ستحتاج إلى تعديل هذا إذا كانت اللوحة الخاصة بك مختلفة.

for x in range(int(loopTimes)):
board.digital[13].write(1)
time.sleep(0.2)
board.digital[13].write(0)
time.sleep(0.2)

سوف يلقي loopTimes متغير إلى عدد صحيح هنا ، حيث سيتم تخزين المدخلات من المستخدم تلقائيًا كسلسلة. في هذا العرض التوضيحي البسيط ، نفترض أن المستخدم سيدخل قيمة عددية. أي إدخال آخر مثل 'ثمانية' سيؤدي إلى حدوث خطأ.

احفظ البرنامج النصي الخاص بك ، وافتح ملف موجه الأمر .

وميض الأضواء وكشوف أخرى

كل شيء جاهز للعمل ، كل ما عليك فعله هو الانتقال إلى مكان وجود البرنامج النصي وتشغيله. افعل ذلك عن طريق الكتابة cd [مسار دليل البرنامج النصي] ثم الكتابة وميض الثعبان .

كل شيء على ما يرام ، سيبدأ برنامجك بتأخير طفيف حيث يبدأ Arduino في التهيئة ، ويطلب منك رقمًا ، ثم وميضه عدة مرات باستخدام مؤشر LED الموجود على اللوحة.

يجب أن يبدو إخراج البرنامج كما يلي:

بمجرد الضغط على إدخال بعد عدد الومضات الذي اخترته ، يجب أن ينفذ Arduino أوامرك.

بدايات صغيرة

كان هذا المشروع بمثابة بداية مجردة للتواصل بين Python ولوحة Arduino. يختلف هذا النهج كثيرًا عن سير العمل المعتاد لتحميل البرامج النصية على Arduino نفسه ، لكنه يفتح طريقة جديدة تمامًا للعمل مع النظام الأساسي ، خاصةً إذا كنت تحب لغة برمجة Python.

إذا كنت تستخدم ملف خادم Linux في المنزل ، يمكن أن تؤدي طريقة الاتصال هذه مع لوحات Arduino إلى توسيع هذا الخادم إلى نظام DIY Home Automation كامل. من خلال الجمع بين نصوص Python التي تتحكم في المتحكم الدقيق مع دائرة أتمتة DIY ، يمكن أن يأخذ صندوق تخزين NAS الخاص بك مجموعة جديدة كاملة من الوظائف المفيدة.

كيفية صنع مكيف هواء منزلي

لجعلها تجربة DIY النهائية ، لماذا لا قم ببناء صندوق NAS الخاص بك واستخدامه للتحكم في أجهزتك أيضًا؟ تخيل كم سيكون من الرائع الضغط على 'تشغيل' على خادم Plex وإطفاء الأنوار تلقائيًا!

هل تتحكم بالفعل في Arduino باستخدام Python؟ هل هناك حلول مدهشة لا نعرف عنها حتى الآن؟ أخبرنا في قسم التعليقات أدناه!

يشارك يشارك سقسقة بريد الالكتروني 5 نصائح لزيادة كفاءة أجهزة VirtualBox Linux الخاصة بك

هل سئمت من الأداء الضعيف الذي تقدمه الأجهزة الافتراضية؟ إليك ما يجب عليك فعله لتعزيز أداء VirtualBox الخاص بك.

اقرأ التالي
مواضيع ذات صلة
  • افعلها بنفسك
  • برمجة
  • اردوينو
  • أتمتة المنزل
  • بايثون
نبذة عن الكاتب إيان باكلي(216 مقالة منشورة)

إيان باكلي صحفي مستقل وموسيقي وفنان ومنتج فيديو يعيش في برلين بألمانيا. عندما لا يكتب أو على خشبة المسرح ، فإنه يعبث بإلكترونيات أو أكواد DIY على أمل أن يصبح عالمًا مجنونًا.

المزيد من Ian Buckley

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك