- المتطلبات المسبقة:
- تثبيت VPython على جهاز الكمبيوتر الخاص بك:
- برمجة VPython:
- تجهيز Arduino الخاص بك:
- العمل:
في البرنامج التعليمي السابق ، تعلمنا كيفية تثبيت python على جهاز windows الخاص بنا وكيفية ربط Arduino مع python باستخدام مشروع تحكم LED بسيط. إذا كنت جديدًا ، فإنني أوصيك بشدة بالرجوع إلى البرنامج التعليمي السابق لأن هذا البرنامج التعليمي هو استمرار لنفسه.
ربما تكون قد بدأت بالفعل في التساؤل عن سبب احتياجنا إلى Python مع Arduino إذا كان كل ما يمكنه فعله هو التواصل عبر المنفذ التسلسلي. لكن Python عبارة عن منصة تطوير قوية جدًا يمكن من خلالها دمج الكثير من التطبيقات الرائعة التي يمكن دمج التعلم الآلي ورؤية الكمبيوتر وغير ذلك الكثير. في هذا البرنامج التعليمي سوف نتعلم كيف يمكننا إنشاء واجهة رسومية صغيرة باستخدام بايثون. للقيام بذلك ، سنحتاج إلى وحدة تسمى Vpython. البرنامج التعليمي التالي ينطبق فقط على مستخدمي windows لأن الإجراء مختلف بالنسبة لمستخدمي Mac أو Linux.
في نهاية هذا البرنامج التعليمي سوف نتعلم كيف يمكننا إنشاء واجهة مستخدم رسومية بسيطة باستخدام Python. سنقوم بعمل رسم متحرك صغير يستجيب لقيمة حساس الموجات فوق الصوتية المرفق بـ Arduino. يتتبع هذا التطبيق الكائن باستخدام مستشعر الموجات فوق الصوتية ويعرضه في شكل رسومية على الكمبيوتر باستخدام VPython. أثناء قيامنا بتحريك الكائن ، يستشعر مستشعر الموجات فوق الصوتية المسافة ويرسل هذه المعلومات إلى برنامج Python باستخدام Arduino وسيحرك الكائن في الكمبيوتر أيضًا. تبدو مثيرة للاهتمام حق! لذلك دعونا نبدأ…
المتطلبات المسبقة:
- Arduino (أي إصدار)
- جهاز استشعار بالموجات فوق الصوتية HC-SR04
- توصيل الأسلاك
- كمبيوتر مع بايثون
- المعرفة في البرنامج التعليمي السابق
تثبيت VPython على جهاز الكمبيوتر الخاص بك:
في برنامجنا التعليمي السابق ، تعلمنا بالفعل كيفية تثبيت python على جهازك وكيفية التنقل فيه وإنشاء برنامج بسيط باستخدام Arduino. الآن قمنا بتثبيت Visual Python (VPython) فوق هذا حتى نتمكن من إنشاء رسومات رائعة باستخدام Python لـ Arduino. للحصول على الخطوات البسيطة أدناه لبدء استخدام VPython
الخطوة 1. تأكد من تثبيت Python بالفعل وفقًا لإرشادات البرنامج التعليمي السابقة.
الخطوة 2. انقر فوق VPython لتنزيل ملف exe لبرنامج Visual Python. لا تختار تثبيت إصدار 64 بت حتى إذا كان جهازك يعمل على 64 بت. فقط اتبع الرابط المعطى.
الخطوة 3. قم بتشغيل ملف exe واتبع الإعداد. لا تقم بتغيير مسار الدليل الافتراضي وتأكد من تحديد "التثبيت الكامل".
الخطوة 4. بمجرد التثبيت ، يجب أن تجد تطبيقًا جديدًا باسم "VIDLE (VPython)" على سطح المكتب أو لوحة التطبيق كما هو موضح أدناه.
الخطوة الخامسة. قم بتشغيل التطبيق وستحصل على نافذة كما هو موضح أدناه.
الخطوة 6. هذه هي النافذة حيث سنكتب في برنامج VPython. ولكن ، في الوقت الحالي ، دعونا نتحقق مما إذا كان Vpython يعمل عن طريق فتح مثال على البرنامج. للقيام بذلك حدد ملف-> فتح-> ترتد
الخطوة 7. يجب أن تحصل على مثال برنامج مفتوح. حاول تشغيل البرنامج باستخدام Run -> Run Module . إذا كان كل شيء يعمل كما هو متوقع ، يجب أن تحصل على الشاشة التالية.
يجب أن ترى نافذة شل (على اليسار) مع اثنين >>> تشير إلى التجميع الناجح والنافذة الفعلية (الأمامية) التي تظهر كرة ترتد.
الخطوة 8. يمكنك أيضًا تجربة برامج أمثلة أخرى لاكتشاف قوة VPython ، على سبيل المثال البرنامج الذي يسمى "محرك كهربائي" سوف يذهلك بالشاشة التالية.
الخطوة التاسعة: هذا يعني أن VPython جاهز للاستخدام ويمكنك الرجوع إلى موضوع " Programming your Vpython ".
الخطوة 10. وإلا إذا كنت مثل واحد من بين الكثيرين الذين حصلوا على "خطأ مفكوك" ، فلا تفقد الأمل لأننا سنحل هذه المشكلة في خطوات أخرى
الخطوة 11. افتح جهاز الكمبيوتر الخاص بي -> محرك الأقراص C -> Python 27 -> البرامج النصية -> local.bat . سيؤدي هذا إلى تشغيل موجه الأوامر كما هو موضح أدناه
الخطوة 12. الآن اكتب "pip install --upgrade numpy" واضغط على Enter. يجب تثبيت الإصدار الجديد من Numpy على جهازك. قد تضطر إلى الانتظار لبعض الوقت إذا كان اتصالك بالإنترنت بطيئًا.
الخطوة 13. بمجرد الانتهاء من ذلك ، يمكنك الرجوع إلى الخطوة رقم 4 وتجربة برنامج كمثال ويجب أن تكون قادرًا على تشغيله.
برمجة VPython:
بعد ذلك نبدأ البرمجة في نافذة VPython الخاصة بنا. في هذا البرنامج ، سنقوم بإنشاء كائنين مستطيلات ثلاثية الأبعاد ، سيتم وضع أحدهما في وسط شاشة الإشارة إلى مستشعر الموجات فوق الصوتية الثابت والآخر سيكون في موقع ديناميكي بناءً على المسافة بين مستشعر الولايات المتحدة والكائن (ورقة).
ل كود بايثون الكامل يمكن العثور في نهاية هذه الصفحة. علاوة على ذلك ، قمت بشرح كود الثعبان هذا عن طريق تقسيمهم إلى خردة صغيرة ذات معنى.
سيكون السطر الأول هو استيراد المكتبة المرئية حتى نتمكن من إنشاء كائنات ثلاثية الأبعاد. السطر أدناه يفعل نفس الشيء.
من الاستيراد المرئي *
يجب أن تكون على دراية بالأسطر الأربعة التالية ، لأننا استخدمناها بالفعل في برنامجنا التعليمي السابق. يتم استخدامها لاستيراد مكتبة المسلسل والوقت وأيضًا إنشاء اتصال تسلسلي مع Arduino في COM18 مع 9600 كمعدل باود
استيراد المسلسل #Serial تم استيراده لوقت استيراد الاتصالات التسلسلية # مطلوب لاستخدام وظائف التأخير ArduinoSerial = serial.Serial ('com18'، 9600) #Create Serial port object المسمى arduinoSerialData time.sleep (2) #wait for 2 seconds للاتصال بـ تأسيسها
الآن ، حان الوقت لإنشاء الأشياء. لقد قمت بإنشاء مستطيلين ثلاثي الأبعاد باسم obj و wall. و wallL هو جدار ثابتة في لون سماوي وضعت في وسط الشاشة و الكائنات هو كائن متحرك في اللون الأبيض. لقد قمت أيضًا بوضع نص "جهاز استشعار أمريكي" بالقرب من كائن الحائط.
obj = box (pos = (- 5،0،0)، الحجم = (0.1،4،4)، color = color.white) wallL = box (pos = (- 1،0،0)، size = (0.2) ، 12،12)، color = color.cyan) text (text = 'US sensor'، المحور = (0،1،0)، pos = (- 2، -6،0)، العمق = -0.3، color = اللون. سماوي)
أنا متأكد من أن الأسطر الثلاثة أعلاه كانت ستظهر باليونانية واللاتينية لمعظم القراء لأول مرة ، لكن مع مرور الوقت ستتمكن من فهمها. كل ما هو مذكور داخل الأقواس هو إحداثيات (x ، y ، z). وهذه الإحداثيات تشبه إلى حد كبير تلك التي نجدها في فصل الهندسة بالمدرسة الثانوية كما هو موضح أدناه.
الآن ، أصبح منفذ الرسومات والمنفذ التسلسلي جاهزين ، فكل ما علينا فعله هو قراءة البيانات ووضع "obj" (مستطيل أبيض) في مكان وفقًا للبيانات الواردة من Arduino. يمكن القيام بذلك عن طريق الأسطر التالية ، حيث يتحكم obj.pos.x في موضع إحداثيات X للكائن (مستطيل أبيض).
t = int (ArduinoSerial.readline ()) # اقرأ البيانات التسلسلية واطبعها كخط t = t * 0.05 obj.pos.x = t
تجهيز Arduino الخاص بك:
نص Python جاهز للاستماع إلى القيم من منفذ COM وتحريك الرسومات وفقًا لذلك ، لكن Arduino ليس جاهزًا بعد. أولاً ، يتعين علينا توصيل مستشعر الموجات فوق الصوتية بـ Arduino وفقًا لمخطط الدائرة التالي. إذا كنت جديدًا تمامًا على المستشعر الأمريكي و Arduino ، فعليك الرجوع إلى البرنامج التعليمي لقياس المسافة على أساس مستشعر Arduino & Ultrasonic.
ثم قم بتحميل برنامج Arduino الوارد في نهاية هذه الصفحة. شرح البرنامج ذاتيًا باستخدام سطور التعليق. نحن نعلم أن المستشعر بالموجات فوق الصوتية يعمل عن طريق حساب الوقت الذي تستغرقه النبضة في اصطدام الجسم والعودة مرة أخرى. يتم حساب هذه القيمة باستخدام وظيفة PulseIn في Arduino. في وقت لاحق يتم تحويل الوقت المستغرق إلى مسافة باستخدام الخط أدناه.
dist = (timetaken / 2) / 2.91 ؛
هنا يتم حساب المسافة من حيث المليمترات (مم).
العمل:
عمل المشروع بسيط. قم بتشغيل برنامج Python وضع كائنًا أمام المستشعر الأمريكي كما هو موضح أدناه:
قم الآن بتشغيل برنامج python وستكون قادرًا على ملاحظة تحرك المستطيل الأبيض جنبًا إلى جنب مع ورقتك ، كما سيتم عرض المسافة بين الورق والمستشعر في نافذة الغلاف كما هو موضح في الصورة أدناه.
هذه هي الطريقة التي يمكننا بها تتبع حركة الجسم باستخدام مستشعر الموجات فوق الصوتية و Python مع Arduino.
آمل أن تكون قد فهمت المشروع واستمتعت ببناء واحد. هذه مجرد خطوة واحدة خفية نحو بايثون ولكن يمكنك بناء أشياء أكثر إبداعًا باستخدام هذا. إذا كان لديك أي فكرة عما يجب إنشاؤه باستخدام هذا المنشور ، في قسم التعليقات واستخدم المنتديات للحصول على المساعدة الفنية. نراكم مع مشروع بيثون آخر مثير للاهتمام.