جدول المحتويات:

MicroPython على لوحة مستشعر الفنون المعقدة: 3 خطوات
MicroPython على لوحة مستشعر الفنون المعقدة: 3 خطوات

فيديو: MicroPython على لوحة مستشعر الفنون المعقدة: 3 خطوات

فيديو: MicroPython على لوحة مستشعر الفنون المعقدة: 3 خطوات
فيديو: Learn Microbit Programming | تعلم برمجة المايكروبيت 2024, شهر نوفمبر
Anonim
MicroPython على لوحة حساس الفنون المعقدة
MicroPython على لوحة حساس الفنون المعقدة
MicroPython على لوحة حساس الفنون المعقدة
MicroPython على لوحة حساس الفنون المعقدة

أحد أكثر الجوانب المدهشة في متحكم ESP32 هو قدرته على تشغيل MicroPython. يمكن القيام بذلك بطريقتين: تشغيل برامج Python كاملة ، أو بشكل تفاعلي من خلال تطبيق وحدة التحكم. سيوضح هذا Instructable كيفية استخدام MicroPython في كلا الاتجاهين باستخدام لوحة مستشعر الفنون المعقدة. سنقوم أولاً بتشغيل تطبيق نموذجي يجمع بيانات مقياس التسارع من BNO_085 IMU ، ثم سنستخدم برنامجًا تسلسليًا لبرمجة تفاعلية في Python.

المستوى: يفترض هذا البرنامج التعليمي بعض المعرفة ببايثون ، وأن بايثون مثبتة. يفترض أيضًا معرفة أوامر المحطة الأساسية.

الأدوات: الأدوات الوحيدة التي سنحتاجها ستكون لوحة الاستشعار ، وبرنامج طرفي ، وبرنامج وحدة تحكم تسلسلي. على جهاز Mac ، يمكنك ببساطة استخدام Terminal. على جهاز يعمل بنظام Windows ، ستحتاج إلى تنزيل برنامج طرفي وتثبيته. لوحدة التحكم التسلسلية. المعجون هو دائما خيار جيد.

الخطوة 1: الحصول على البرامج الثابتة والمكتبات

للبدء ، سنحتاج إلى تنزيل البرامج الثابتة المخصصة التي توفرها Complex Arts ثم تحديثها إلى Sensor Board. يمكن العثور على البرنامج الثابت هنا:

قم بتنزيل ملف firmware.bin وضعه في المجلد الذي تختاره. ستحتاج أيضًا في النهاية إلى برنامج مثال الفنون المعقدة ، لذا قد تفعل ذلك الآن ؛ انتقل إلى: https://github.com/ComplexArts/SensorBoardPython و git clone أو قم بالتنزيل إلى الموقع الذي تختاره.

بمجرد حصولك على الملفات ، سنحتاج إلى بعض الحزم للتفاعل مع ESP32. الحزمة الأولى التي سنحتاجها هي esptool.py. لتثبيته ، ببساطة اكتب

نقطة تثبيت esptool

في المحطة.

بمجرد تثبيت esptool ، يمكننا مسح الشريحة ثم إعادة وميضها. للقيام بذلك ، أدخل

esptool.py --chip esp32 --port COM4 erase_flash

بالنسبة للمنفذ ، أدخل المنفذ التسلسلي الذي يتزامن مع لوحة الاستشعار. على جهاز Mac ، قد يبدو ذلك مثل --port / dev / ttyUSB0

بمجرد الانتهاء من ذلك ، سنومض الشريحة بـ:

esptool.py - رقاقة esp32 - المنفذ COM4 - باود 460800 write_flash -z 0x1000 firmware.bin

مرة أخرى ، قم بتغيير المنفذ وفقًا لذلك.

الخطوة 2: العمل مع MicroPython

العمل مع MicroPython
العمل مع MicroPython

إذا تحققنا من الإخراج التسلسلي للوحة الاستشعار في هذه المرحلة ، فسنرى Python REPL (حلقة read-Eval-print: >>>) للقيام بذلك ، سنحتاج إلى برنامج وحدة تحكم تسلسلي. يُعد المعجون خيارًا جيدًا لأنه يوفر خيارات لـ SSH و telnet ، ولكنه يوفر أيضًا اتصالًا تسلسليًا بسيطًا كما سنفعل هنا. putty.org. بمجرد تثبيت ذلك ، افتحه وحدد "Serial" ضمن "نوع الاتصال": ستحتاج إلى كتابة نفس اسم المنفذ التسلسلي الذي أدخلته للأداة esptool أعلاه ، ثم معدل باود 115200 للسرعة. انطلق وانقر على "فتح". وهناك بايثون!

الآن سنرغب في تحميل وتشغيل مثالنا الكود. للقيام بذلك ، انتقل إلى المجلد حيث قمت مسبقًا بحفظ أمثلة SensorBoardPython. سنحتاج إلى حزمة الأمبير الرائعة من Adafruit. يمكنك تثبيت ذلك باستخدام:

تثبيت النقطة adafruit-ampy = 0.6.3

بمجرد الحصول عليه ، استخدم ampy لتحميل مثال مقياس التسارع على اللوحة:

وضع ampy -p COM4 مقياس التسارع

(تغيير الميناء تبعا لذلك بالطبع). الآن أعد ضبط اللوحة الخاصة بك باستخدام زر إعادة الضبط. سنعود إلى المعجون في هذه المرحلة وعند >>> اكتب

استيراد التسارع

فيولا! أنت الآن تقوم بتشغيل كود التسارع. py على لوحة الاستشعار! سيتم تشغيل الرمز لمدة 20 ثانية ، ثم يتوقف. لاحظ أنه أثناء تشغيل رمز مقياس التسارع ، يومض مؤشر LED الأزرق الموجود على اللوحة. لمن هم أكثر دراية ببايثون ، ستلاحظ أن هذا يتم بدون خيوط وبدون تأخير (). ويرجع ذلك إلى استخدام مكتبة Python's asyncio ، والتي توفر طرقًا رائعة لتشغيل المهام في وقت واحد وهي مفيدة للغاية على الأنظمة الأساسية المضمنة مثل ESP32. إذا لم تكن معتادًا على ذلك ، فإنه يستحق المراجعة ؛ هناك برنامج تعليمي رائع هنا: https://github.com/peterhinch/micropython-async/b … (ولكن حذر من أنه شيء سريع بعض الشيء).

الخطوة 3: MicroPython على المسلسل

العودة إلى المهمة في متناول اليد! عندما يتوقف رمز مقياس التسارع ، سترى Python مرة أخرى >>>. الآن يمكننا البرمجة بشكل تفاعلي باستخدام Sensor Board كمترجم Python الخاص بنا. للقيام بذلك ، أدخل

>> س = 10

>> ص = 11

>> س + ص

21

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

لمزيد من المعلومات ، تحقق من هذه الموارد الأخرى:

complexarts.net/home/

complexarts.net/docs/bno085/

موصى به: