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

CircuitPython مع Itsybitsy M4 Express 1: الإعداد: 9 خطوات
CircuitPython مع Itsybitsy M4 Express 1: الإعداد: 9 خطوات

فيديو: CircuitPython مع Itsybitsy M4 Express 1: الإعداد: 9 خطوات

فيديو: CircuitPython مع Itsybitsy M4 Express 1: الإعداد: 9 خطوات
فيديو: CircuitPython vs MicroPython: Key Differences 2024, شهر نوفمبر
Anonim
CircuitPython مع Itsybitsy M4 Express 1: الإعداد
CircuitPython مع Itsybitsy M4 Express 1: الإعداد

جديد في البرمجة؟ هل تستخدم Scratch فقط وتريد الانتقال إلى لغة نصية توفر وصولاً سهلاً إلى الحوسبة المادية باستخدام مصابيح LED ومفاتيح وشاشات وأجهزة استشعار؟ ثم قد يكون هذا لك.

لقد لاحظت أن هذا الموقع يحتوي على العديد من التعليمات حول الترميز باستخدام Arduinos باستخدام Arduino IDE ولكن القليل جدًا عن Python. لقد قمت بتدريس الترميز منذ عام 1968. (في ذلك الوقت أطلقنا عليها اسم البرمجة واستخدمنا FORTRAN IV مع بطاقات Hollerith للإدخال!) منذ تلك الأيام الأولى ، استخدمت العديد من اللغات المختلفة مع الطلاب (11 عامًا للبالغين) بما في ذلك LISP و Pascal والعديد من إصدارات مختلفة على BASIC.

في الآونة الأخيرة ، بدأت العديد من المدارس في المملكة المتحدة في استخدام Python في دروسها حيث ينتقل الطلاب من الترميز "block" باستخدام Scratch أو ما شابه ذلك من العبارات النصية. ربما تكون Python خطوة أسهل من استخدام Arduino IDE. يمكن تنفيذ كود CircuitPython ببساطة عن طريق حفظ الكود في لوحة التطوير كما لو كان محرك أقراص USB. لقد نجحت في استخدام Python للحوسبة الفيزيائية مع أطفال تتراوح أعمارهم من 8 إلى 11 عامًا في نادي الترميز بالمدرسة الابتدائية لحفيدتي.

لقد قررت استخدام Adafruit's Itsybitsy M4 Express لهذه التعليمات للأسباب التالية:

  • غير مكلف - أقل من 15 دولارًا (15 جنيهًا إسترلينيًا)
  • سهل الإعداد والبرمجة باستخدام CircuitPython (نسخة من Python مثالية لأولئك الجدد في مجال البرمجة)
  • دبابيس الإدخال / الإخراج الرقمي - من الممتع اللعب مع Blinkies
  • دبابيس تناظرية - 12 بت ADC و DAC - دقة عالية
  • مصابيح LED حمراء و RGB DotStar مدمجة
  • محركات Neopixels مباشرة
  • دعم I2C و SPI - لأجهزة الاستشعار والشاشات
  • مجموعة كبيرة من السائقين في المكتبة الواسعة
  • سريع وقوي - معالج ATSAMD51 Cortex M4 فائق السرعة يعمل بسرعة 120 ميجاهرتز
  • الكثير من الذاكرة - 2 ميجا بايت من ذاكرة فلاش SPI لرمز CircuitPython أو ملفات البيانات
  • دعم كبير من Adafruit مع التوثيق الكامل والأدلة ومنتدى المساعدة عبر الإنترنت
  • يحتاج فقط إلى كمبيوتر محمول أو كمبيوتر قديم - لا توجد شاشة مخصصة أو لوحة مفاتيح أو مزود طاقة أو ماوس.
  • يمكن للمستخدم التحويل إلى Arduino IDE ، على نفس اللوحة ، بمجرد اكتساب الخبرة مع Python.

يشرح Instructable الأول كيفية إعداد لوحك وتشغيل البرامج النصية الأولى.

الخطوة 1: ما تحتاجه لتبدأ

ما تحتاجه للبدء
ما تحتاجه للبدء

المعدات:

  • Itsybitsy M4 Express (adafruit.com ، Pimoroni.com)
  • كابل microUSB
  • الكمبيوتر - الكمبيوتر المحمول القديم سيفي بالغرض
  • لحام حديد
  • جندى
  • اللوح
  • شريط رأس أنثى (اختياري)

برمجة:

محرر Mu

قم بتنزيل محرر Mu من

قم بتثبيته على جهاز الكمبيوتر الخاص بك. سهل جدا مع تعليمات كاملة على الموقع.

الخطوة 2: تحقق من تثبيت برنامج CircuitPython

تحقق من أن CircuitPython مثبت
تحقق من أن CircuitPython مثبت

افتح مستكشف الملفات على جهاز الكمبيوتر الخاص بك.

قم بتوصيل الطرف الصغير من كبل USB بالموصل الموجود على جهاز Itsybitsy.

قم بتوصيل الطرف الآخر من الكبل بمنفذ USB على جهاز الكمبيوتر الخاص بك.

يجب أن ترى محرك أقراص جديد يظهر يسمى CIRCUITPY. (إذا لم يكن كذلك ، فانتقل إلى صفحة التحديث.)

انقر نقرًا مزدوجًا فوق boot_out وستظهر لك رسالة مثل هذه:

حلبة AdafruitPython 3.1.1 في 2018-11-02 ؛ Adafruit ItsyBitsy M4 Express مع samd51g19

يوضح هذا أن لديك إصدارًا أقدم من CircuitPython حيث إننا حاليًا في الإصدار 4. سيكون هذا جيدًا في الوقت الحالي ، وسنقوم بتحديث الإصدار لاحقًا. تعمل Adafruit بشكل متكرر على تحسين CircuitPython وتنشر التحديثات. هذه التحديثات سهلة التثبيت للغاية.

انتقل إلى مجلد المستندات الخاص بك وأنشئ مجلدًا جديدًا يسمى Code-with-Mu بداخله.

ابدأ تشغيل محرر Mu

الخطوة 3: استخدام محرر Mu لبرنامجك الأول

استخدام محرر Mu لبرنامجك الأول
استخدام محرر Mu لبرنامجك الأول

انقر فوق رمز المسلسل أعلى المحرر. يجب أن يفتح هذا نافذة REPL في أسفل الشاشة. في الزاوية اليسرى السفلية يجب أن تقول Adafruit. أدرك Mu أن لوحة CircuitPython متصلة بالكمبيوتر.

يمكننا الآن كتابة أول برنامج أو نص. انقر بالماوس في النافذة العلوية واكتب:

طباعة ("Hello، World!")

انقر فوق أيقونة حفظ. حدد محرك CIRCUITPY. اكتب main.py في مربع العنوان وانقر على زر حفظ.

هذا يفعل الكثير. يتم حفظ البرنامج النصي الخاص بك في Itsybitsy باسم "main.py". يتم تنفيذ أي ملف بهذا الاسم على الفور بواسطة اللوحة. يظهر ناتج بيان الطباعة في نافذة REPL السفلية.

قم بتحرير سطر البرنامج إلى:

اطبع ("\ n Hello، coder!") وانقر على أيقونة Save.

حاول إضافة بعض عبارات الطباعة المتشابهة وتشغيل الكود الجديد.

شاهد Itsybitsey أثناء تحميل نص. يتحول لون DotStar الأخضر الوامض إلى اللون الأحمر بينما يتم حفظ النص ويعود إلى اللون الأخضر.

دعونا نخطئ لنرى ماذا سيحدث. ما عليك سوى حذف حرف الاقتباس النهائي وتشغيل البرنامج النصي مرة أخرى. يشير المحرر إلى الخطأ ويشير الإخراج إلى نوع الخطأ - البنية - ورقم السطر - لمساعدتك في تصحيح الخطأ. يشير DotStar إلى الخطأ عن طريق تغيير اللون. المزيد عن هذا في قسم لاحق.

صحح الخطأ وقم بتشغيل البرنامج النصي مرة أخرى.

نحتاج الآن إلى حفظ البرنامج النصي الخاص بنا في مكان آمن حتى نتمكن من استخدامه لاحقًا.

انقر نقرًا مزدوجًا فوق علامة التبويب أعلى البرنامج النصي الخاص بك. انتقل إلى مجلد المستندات Code-with-Mu واحفظ البرنامج النصي الخاص بك هناك باسم ملف مفيد مثل FirstProg.py. لاحظ أن اسم الملف والمسار يومضان في الجزء السفلي من المحرر.

الخطوة 4: البرنامج النصي الثاني - وميض

السيناريو الثاني الخاص بك - طرفة
السيناريو الثاني الخاص بك - طرفة

اكتب البرنامج النصي ، واحفظه في CIRCUITPY كـ main.py وانقر فوق نعم لاستبدال main.py السابقة.

(استخدم دائمًا اسم الملف main.py للنص البرمجي عند الحفظ في ItsyBitsy. ثم يقوم CircuitPython بتشغيل البرنامج النصي الجديد على الفور.)

ماذا يفعل البرنامج النصي:

  • مكتبات الاستيراد لأسماء الدبوس على اللوحة ، ووقت التحكم في التأخيرات والتحكم في المسامير الرقمية ،
  • قم بإعداد الدبوس 13 لإخراج الفولتية إلى مؤشر LED الأحمر الموجود على اللوحة
  • يدير حلقة لا نهاية لها لتشغيل وإيقاف تشغيل LED
  • تنتظر فترات تأخير قصيرة حتى يومض مؤشر LED.

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

  1. حاول تغيير القيم في عبارات النوم ().
  2. احتفظ بمصباح LED مضاءً مرتين طالما أنه مطفأ.
  3. ماذا يحدث إذا كانت التأخيرات قصيرة جدًا؟ (0.001 ثانية)

انقر نقرًا مزدوجًا فوق علامة التبويب الموجودة أعلى البرنامج النصي واحفظ الاسم Blink.py في مجلد Code-with-Mu.

الخطوة 5: تحديث إصدار CircuitPython الخاص بك

تحديث إصدارك من CircuitPython
تحديث إصدارك من CircuitPython

انتقل إلى https://circuitpython.org/downloads على الإنترنت. انقر على صورة Itsybitsy M4 Express (وليس نسخة M0).

انقر فوق الزر الأرجواني لتنزيل ملف. UF2.

ابدأ تشغيل مستكشف الملفات وحدد موقع ملف. UF2

قم بتوصيل جهاز Itsybitsy M4 Express بمنفذ USB وحدد موقع محرك الأقراص الخاص به - CIRCUITPY

انقر نقرًا مزدوجًا فوق زر إعادة الضبط الصغير ويجب أن يتغير اسم الملف إلى ITSYM4BOOT من CIRCUITPY. تحتاج إلى النقر المزدوج بسرعة كبيرة.

اسحب ملف UF2 وأسقطه على محرك ITSYM4BOOT. سيتم نسخ ملف UF2 إلى لوحة IBM4 وسيعود اسم محرك الأقراص إلى CIRCUITPY.

حدد محرك CIRCUITPY وانقر نقرًا مزدوجًا فوق ملف boot_out.

يمكنك قراءة رقم الإصدار الجديد للتحقق من تحديثه.

قم بإنشاء مجلد جديد على محرك الأقراص CIRCUITPY يسمى lib. سنحتاج إلى هذا في Instructables اللاحقة لحمل برامج تشغيل أجهزة الاستشعار والشاشات.

أعد تشغيل محرر Mu. قم بتحميل ملف main.py من IBM4 واحفظه مرة أخرى في IBM4. يجب أن يبدأ مؤشر LED الأحمر في الوميض.

إذا نقرت مرة واحدة على زر إعادة الضبط ، فسيتم إعادة تشغيل البرنامج النصي main.py الذي تم تحميله.

الخطوة 6: ملف REPL

إن REPL
إن REPL

تعد النافذة الموجودة في الجزء السفلي من المحرر ، والتي يتم تشغيلها وإيقاف تشغيلها باستخدام رمز المسلسل ، أكثر من مجرد نافذة طباعة.

"حلقة القراءة - EVAL - الطباعة (REPL) ، والتي يطلق عليها أيضًا المستوى الأعلى التفاعلي أو غلاف اللغة ، هي بيئة برمجة كمبيوتر تفاعلية بسيطة تأخذ مدخلات مستخدم واحد (مثل التعبيرات الفردية) ، وتقييمها ، وإرجاع النتيجة للمستخدم ؛ يتم تنفيذ برنامج مكتوب في بيئة REPL بشكل متعدد ". (متصفح الجوجل)

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

انقر بالماوس في نافذة REPL.

أثناء تشغيل البرنامج النصي الخاص بك ، استمر في الضغط على المفتاح وانقر فوق (CTRL-C). هذا يوقف السيناريو الخاص بك.

انقر فوق أي مفتاح لإدخال REPL وستظهر مطالبة ">>>".

اكتب في الطباعة (4 + 100)

على الفور تأتي الإجابة 104

انظر إلى الصورة وجرب القليل منك. (جرب + ، - ، * ، / ، // و٪)

جرب هذا:

>> مجلس الاستيراد

>> دير (لوحة)

['_class_'، 'A0'، 'A1'، 'A2'، 'A3'، 'A4'، 'A5'، 'APA102_MOSI'، 'APA102_SCK'، 'D0'، 'D1'، 'D10'، ' D11 '،' D12 '،' D13 '،' D2 '،' D3 '،' D4 '،' D5 '،' D7 '،' D9 '،' I2C '،' MISO '،' MOSI '،' RX ' ، "SCK" ، "SCL" ، "SDA" ، "SPI" ، "TX" ، "UART"]

>>

هذه قائمة بأسماء الدبوس المتوفرة على لوحة IBM4

للعودة إلى الوضع الطبيعي مع إعادة تشغيل بسيطة ، فقط اكتب CTRL-D وإعادة تشغيل main.py.

فصل اللوح الخاص بك

قم دائمًا بإخراج محرك الأقراص CIRCUITPY قبل قطع الاتصال بالكمبيوتر. لا تسحبها أبدًا أثناء نقل البيانات.

الخطوة 7: ارتداء الساقين

ارتداء على الساقين
ارتداء على الساقين
ارتداء على الساقين
ارتداء على الساقين

رؤوس الذكور طويلة جدًا بالنسبة للوحة ، لذا قم بتقطيع / قص 2 منهم بالطول الصحيح.

ادفعهم إلى لوح التجارب ، وضع IBM4 في الأعلى وقم بلحامهم. تأكد من أن السبورة هي الطريق الصحيح! (رقاقة في الأعلى)

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

لحام على المسامير ليس بالأمر الصعب. انظر إلى دورات Arduino و Electronics إذا لم تكن قد استخدمت مكواة لحام من قبل. تعني القدرة على اللحام أنه يمكنك إنشاء إصدارات طويلة الأمد لمشاريعك على لوحة الشريط ثم إعادة استخدام اللوح.

للمساعدة في منع ارتفاع درجة حرارة السبورة ، أقترح ألا تقوم بلحام جانب واحد ثم رفع الجانب الآخر. اترك الفجوات واملأها لاحقًا. على سبيل المثال ، دبابيس 10 ، RX ، 2 ، A3 ، RS ، BAT ، 9 ، MI … إلخ

الخطوة 8: مصباح الحالة CircuitPython RGB - لمساعدتك في العثور على الأخطاء

CircuitPython RGB Status Light - لمساعدتك في العثور على الأخطاء
CircuitPython RGB Status Light - لمساعدتك في العثور على الأخطاء

إن ItyBitsy M4 Express والعديد من لوحات M0 و M4 الأخرى تحتوي جميعها على NeoPixel أو DotStar RGB LED على اللوحة التي تشير إلى حالة CircuitPython. ها هو بين (C) والدبوس A0.

إليك ما تعنيه الألوان والوميض:

  • أخضر ثابت: code.py (أو code.txt أو main.py أو main.txt) قيد التشغيل
  • أخضر نابض: انتهى code.py (وما إلى ذلك) أو لم يعد موجودًا
  • ثابت أصفر عند بدء التشغيل: (4.0.0-alpha.5 وأحدث) ينتظر CircuitPython إعادة التعيين للإشارة إلى أنه يجب أن يبدأ في الوضع الآمن
  • أصفر نابض: دائرة Python في الوضع الآمن: تعطلت وأعيد تشغيلها
  • أبيض ثابت: REPL قيد التشغيل
  • ثابت الأزرق: boot.py قيد التشغيل

تشير الألوان ذات الومضات المتعددة التالية إلى استثناء Python ثم تشير إلى رقم سطر الخطأ. يشير لون الفلاش الأول إلى نوع الخطأ:

  • الأخضر: خطأ مسافة بادئة
  • CYAN: خطأ نحوي
  • الأبيض: خطأ في الاسم
  • ORANGE: خطأ في نظام التشغيل
  • الأرجواني: خطأ في القيمة
  • الأصفر: خطأ آخر

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

هذه صعبة العد. قم دائمًا بفتح نافذة REPL عند تطوير برنامج نصي وستظهر رسائل الخطأ باللغة الإنجليزية هناك.

الخطوة 9: التطلع إلى الأمام - إليك

التطلع إلى الأمام - إليك
التطلع إلى الأمام - إليك

عندما بدأت هذا Instructable ، توقعت أن يكون الأول من سلسلة تستكشف CircuitPython والحوسبة الفيزيائية. خطتي في المرحلة التالية هي تغطية المدخلات والمخرجات الأساسية بالحسابات ، ومصابيح LED ، والمفاتيح ، ومقاييس الجهد ، وبيانات الإدخال. سيغطي أيضًا طرق التكرار والقوائم (المصفوفات).

قبل أن أكتبها ، أطلب بعض التعليقات ، حتى أتمكن من تكييفها للجمهور.

نوع الأشياء التي أود أن أعرفها هي:

  • هل الوتيرة على ما يرام؟
  • هل التفاصيل كثيرة جدًا أم قليلة جدًا أم أنها صحيحة؟
  • هل تريد بعض التدريبات؟

انتهى اليك.

موصى به: