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

قم بإنشاء مستوى روح كهربائي: 15 خطوة
قم بإنشاء مستوى روح كهربائي: 15 خطوة

فيديو: قم بإنشاء مستوى روح كهربائي: 15 خطوة

فيديو: قم بإنشاء مستوى روح كهربائي: 15 خطوة
فيديو: برمجه منظم طاقه شمسية | شرح مفصل لمنظم شحن الطاقة الشمسية او دارة الفصل 2024, يوليو
Anonim
قم بإنشاء مستوى روح كهربائي
قم بإنشاء مستوى روح كهربائي

استخدم مستوى الروح هذا لعرض ميل أي كائن متصل بسرعة وسهولة!

تم إنشاؤها بواسطة Kaitlyn من مؤسسة رافلز.

الخطوة 1: الأهداف

تعلم كيفية قراءة الإمالة باستخدام مقياس التسارع المدمج في micro: bit.

تعلم كيفية العمل مع شاشة LED مقاس 5 × 5 من نوع micro: bit!

الخطوة 2: المواد

1 × بي بي سي ميكرو: بت

1 × كابل Micro USB

عدد 2 بطاريات AA

1 × حزمة بطارية AA مزدوجة

الخطوة 3: التشفير المسبق: قم بتوصيل Micro: Bit

  1. قم بتوصيل BBC micro: bit بجهاز الكمبيوتر الخاص بك باستخدام كابل micro USB.
  2. قم بالوصول إلى محرر جافا سكريبت لـ micro: bit على makecode.microbit.org.

الخطوة 4: الخطوة 0: تدفق التعليمات البرمجية

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

بالنسبة لمستوى الروح الكهربائية ، فإن الخطوات التي سنتخذها في الكود الخاص بكل حلقة هي:

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

بعض الوظائف الإضافية التي نحتاج إلى تضمينها هي:

  • معايرة لوضعية الإمالة الأولية.
  • العودة إلى معايرة الإمالة الافتراضية.

الخطوة 5: الخطوة 1: تحديد المتغيرات

نبدأ بتحديد المتغيرات المطلوبة كما هو موضح. تفصيل بعض المتغيرات هي:

  • tiltList: صفيف يخزن مدى الإمالة من القيم 0-4 بالترتيب [Left، Right، Forward، Backward]
  • tiltBoundary: حدود مستوى الإمالة الأول بين 0 (بدون إمالة) و 1 (إمالة طفيفة)
  • prevState: مصفوفة تخزن قيم إمالة micro: bit من حلقة سابقة بنفس تنسيق tiltList ، وتستخدم للتحقق من حدوث تغيير في الإمالة بين التكرارات
  • ledPlotList: رسم مصفوفات إحداثيات بقيادة مؤامرة في الشكل (x، y). لتحديد مصفوفة ، نستخدم رقم النوع للإشارة إلى مصفوفة متداخلة من المتغيرات من النوع: رقم.

الخطوة 6: الخطوة 2: تحويل قيم الإمالة إلى مستويات

نظرًا لأن مصفوفة LED 5 × 5 يمكنها فقط عرض الكثير من المعلومات ، فلن تكون قيم الإمالة الفعلية مفيدة للعرض.

بدلاً من ذلك ، تأخذ الدالة tiltExtent () المعلمة num ، والتي تشير إلى قيمة الإمالة من مقياس التسارع ، وتحول قيم الإمالة (num) إلى مستويات الإمالة من 0 إلى 4.

يشير 0 إلى عدم وجود إمالة في الاتجاه المحدد و 4 يشير إلى إمالة كبيرة جدًا ، بينما يتم إرجاع -1 عند وجود خطأ.

هنا ، يتم استخدام tiltBoundary و tiltSensitivity كقيم حدودية بين مستويات الإمالة.

الخطوة 7: الخطوة 3: تجميع مستويات الإمالة

تكتب الوظيفتان checkRoll () و checkPitch () مستويات الإمالة التي تم الحصول عليها من tiltExtent () إلى tiltList للفة (يسار - يمين) ومحور خطوة (للأمام - للخلف) على التوالي.

قبل استخدام قيم الإمالة ، نقوم بمعايرتها باستخدام قيمة صفرية لكل من درجة الصوت (صفر درجة) واللف (لفة صفرية) التي تم الحصول عليها من وظيفة معايرة مكتوبة لاحقًا.

نظرًا لأن قراءات مقياس التسارع سالبة لكل من الإمالة إلى اليسار والأمام ، فنحن بحاجة إلى استخدام الدالة Math.abs () للحصول على معامل القيمة السالبة التي تُعطى لوظيفة tiltExtent () كمعامل لهذين الاتجاهين.

الخطوة 8: الخطوة 4: اكتب وظائف LEDPlotList

بعد الحصول على مستويات الإمالة في tiltList ، يمكننا الآن كتابة وظائف الرسم بقيادة الولايات المتحدة للحالات المختلفة التي يمكن أن تنشأ ، وهي

  • plotSingle (): إمالة في اتجاه واحد فقط ، مع الأخذ في الاعتبار مدى الميل في اتجاه معين كمعامل.
  • مؤامرة قطرية (): إمالة في اتجاهين من نفس الحجم ، مع الأخذ في الاعتبار مدى الميل في أي من الاتجاهين كمعامل.
  • مؤامرة غير متساوية (): إمالة في اتجاهين بأحجام مختلفة ، مع الأخذ في الاعتبار مدى الميل في كل اتجاه كمعامل. يستخدم plotDiagonal () أولاً ويضيف إلى مجموعة ledPlotList بعد ذلك.

تكتب وظائف التخطيط هذه مجموعة من إحداثيات led إلى ledPlotList ليتم رسمها لاحقًا.

الخطوة 9: الخطوة 5: ارسم مصفوفة LED لكل حالة

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

تحتوي PlotResult () على عدة شروط إذا كانت تتحقق من نوع الإمالة وترسم مصفوفة LED وفقًا لذلك باستخدام مخطط led.plot (x ، y). المجموعات الممكنة للإمالة هي:

اتجاه واحد: يسار فقط أو يمين فقط

اتجاه واحد: للأمام فقط أو للخلف فقط

اتجاهان: الأمام - اليسار أو الخلف - اليسار

اتجاهان: الأمام-اليمين أو الخلف-اليمين

ملاحظة: بالنسبة للإمالة في اتجاهين ، يمكن أن يكون لكل مجموعة نفس الحجم أو حجم مختلف (يتم التحقق منه بمقارنة maxX و maxY) ، ومن ثم يتم رسمها باستخدام plotDiagonal () أو plotUnequal () على التوالي.

الخطوة 10: الخطوة 6: اكتب وظائف المعايرة

بعد إكمال الجزء الأكبر من الكود ، نضيف الآن وظيفتي calibTilt () و resetTilt ().

يسمح calibTilt () للمستخدمين بتحريك الإمالة إلى الصفر في الموضع الحالي لـ micro: bit

resetTilt () يعيد ضبط معايرة اللوحة إلى حالتها الأصلية.

الخطوة 11: الخطوة 7: اكتب وظيفة الحالة

نضيف دالة checkState () بسيطة للتحقق مما إذا كانت مستويات الإمالة قد تغيرت عن التكرار السابق.

إذا لم يكن هناك تغيير في مستويات الإمالة من التكرار السابق ، أي stateChange == 0 ، فيمكننا الانتقال مباشرة إلى التكرار التالي وتخطي تخطيط مصفوفة LED ، مما يقلل من الحساب المطلوب.

الخطوة 12: الخطوة 8: وضع كل ذلك معًا الجزء 1

الآن يمكننا أخيرًا وضع جميع الوظائف الضرورية في حلقة micro: bit اللانهائية لتشغيلها بشكل متكرر.

أولاً ، قمنا بتعيين الزر A و B على micro: bit على وظائف calibTilt () و resetTilt () على التوالي باستخدام الإدخال. onButtonPressed () ، ورسم علامة على مصفوفة LED عند اكتمال المعايرة.

الخطوة 13: الخطوة 9: وضع كل ذلك معًا الجزء 2

بعد ذلك ، قم بتشغيل الوظائف الضرورية وفقًا لتدفق الكود الخاص بنا في الخطوة 0 وتحقق من تغيير الحالة (بمعنى أن هناك تغييرًا في إمالة micro: bit منذ التكرار الأخير).

إذا كان هناك تغيير في مستويات الإمالة ، أي stateChange == 1 ، فسيتم تحديث الكود prevState إلى مستويات الإمالة الجديدة وتعيين الحالة مرة أخرى إلى 0 للتكرار التالي ، ورسم مستويات الإمالة المحدثة على مصفوفة LED باستخدام PlotResult ().

الخطوة 14: الخطوة 10: التجميع

قم بتفليش الكود المكتمل إلى micro: bit الخاص بك.

قم بتوصيل micro: bit وحزمة البطارية بأمان بأي شيء وهو جاهز للاستخدام!

مذهل

استمتع بمستوى روحك الكهربائية! وأثناء وجودك فيه ، لماذا لا تحاول توسيع إمكانيات مستشعر الإمالة أو حتى تحويله إلى لعبة؟

هذا المقال من TINKERCADEMY.

الخطوة 15: المصدر

هذه المقالة من:

إذا كان لديك أي أسئلة ، يمكنك التواصل مع : [email protected].

موصى به: