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

اختبار Bare Arduino ، باستخدام برنامج الألعاب باستخدام الإدخال بالسعة ومؤشر LED: 4 خطوات
اختبار Bare Arduino ، باستخدام برنامج الألعاب باستخدام الإدخال بالسعة ومؤشر LED: 4 خطوات

فيديو: اختبار Bare Arduino ، باستخدام برنامج الألعاب باستخدام الإدخال بالسعة ومؤشر LED: 4 خطوات

فيديو: اختبار Bare Arduino ، باستخدام برنامج الألعاب باستخدام الإدخال بالسعة ومؤشر LED: 4 خطوات
فيديو: Sérigraphie - Spide la Pub à Perpignan dans les Pyrénées Orientales, 66 2024, يونيو
Anonim
اختبار Bare Arduino ، مع برنامج الألعاب باستخدام الإدخال بالسعة ومصباح LED
اختبار Bare Arduino ، مع برنامج الألعاب باستخدام الإدخال بالسعة ومصباح LED
اختبار Bare Arduino ، مع برنامج الألعاب باستخدام الإدخال بالسعة ومصباح LED
اختبار Bare Arduino ، مع برنامج الألعاب باستخدام الإدخال بالسعة ومصباح LED

لعبة تفاعلية "Push-It" باستخدام لوحة Arduino عارية ، ولا يلزم وجود أجزاء خارجية أو أسلاك (تستخدم إدخال "اللمس" السعوي). كما هو موضح أعلاه ، يوضح أنه يعمل على لوحين مختلفين.

Push-It لها غرضان.

  1. لإثبات / التحقق بسرعة من أن لوحة Arduino الخاصة بك تعمل وأنك تم إعدادك بشكل صحيح لتنزيل رسم رمز جديد عليه. ستتمكن من رؤية أنه يؤدي الإدخال والإخراج (استشعار مستوى الإدخال الرقمي ، الإخراج إلى مؤشر LED الموجود على اللوحة) ؛ تخزين واسترداد قيمة من ذاكرة EEPROM غير المتطايرة. كل ذلك بدون توصيل أي أسلاك أو أجهزة.
  2. قم بتوفير لعبة مسلية وصعبة تتفاعل مع لوحة Arduino.

يفترض هذا التوجيه أنك قمت بالفعل بتثبيت Arduino IDE وأنك على الأقل على دراية باستخدامه. إذا لم يكن الأمر كذلك ، فأنا أحيلك إلى هذه الروابط:

الشروع في العمل مع اردوينو

إضافة دعم Digispark (مع أداة تحميل التشغيل) إلى Arduino 1.6.x IDE الحالي

ستعمل Push-It مع معظم لوحات Arduino ، على سبيل المثال لوحة Nano أو Uno أو DigiSpark Attiny85 لقد اختبرتها باستخدام Nano 3.1 و DigiSpark ، وفي النص عندما أشير إلى أسماء / أرقام المسامير ، سيتم استخدامها على لوحة Nano (على عكس DigiSpark).

الخطوة 1: امتلاك الأشياء التي ستحتاجها

وهو ببساطة أي لوحة اردوينو أو لوحة مماثلة.

إذا لم يكن لديك بالفعل واحد ، فإنني أوصي بالبدء في DigiSpark Pro (حوالي 12 دولارًا) ، أو Nano 3.0 من eBay مقابل 3 دولارات تقريبًا (ولكن سيكون لديك أسبوع أو أسبوعين إضافيين لانتظار وصوله من الصين ؛ وستحتاج إلى تثبيت برنامج تشغيل CH340 USB). إن DigiSpark ~ 10 دولارات (غير Pro) مناسب تمامًا لهذه اللعبة "فيديو" بت واحد (هذه الوحدة المجردة ، التي تحتوي على 6 I / Os فقط ، أصعب قليلاً للتحميل عليها)

روابط للأجهزة المستخدمة هنا:

نانو V3.0 Atmega328P على موقع ئي باي

مجلس تطوير Digispark USB

الخطوة الثانية: إحضار الكود وتنزيله

إحضار الكود وتنزيله
إحضار الكود وتنزيله

انسخ الكود أدناه إلى ملف رسم اردوينو (على سبيل المثال … / Push_It / Push_It.ino) لقد حاولت التعليق عليه جيدًا. أتمنى أن تجد الرمز سهل الفهم. إن المنطق لتحديد متى يجب الزيادة والنقصان ومتى لا يتم التعقيد إلى حد ما ، ولكن هذا الجزء هو أيضًا رمز متخصص وليس له فائدة عامة. اردوينو IDE انظر:

إنشاء رسم اردوينو جديد

قم بتنزيل رسم "Push_It" في وحدة التحكم الدقيقة الخاصة بنا وفقًا لتعليمات Arduino IDE الخاصة باللوحة الخاصة بك.

الخطوة 3: اللعب

تلعب
تلعب

الهدف من اللعبة هو جعل مؤشر LED (على اللوحة) يومض لأكبر عدد ممكن من الوقت في مجموعة من الومضات التي تتكرر بعد ذلك

لعب اللعبة:

يبدأ Push-It بفلاش واحد ، ثم يتكرر. إذا لمست إصبعك بالقرب من دبوس الإدخال أثناء تشغيل مؤشر LED ، فستومض الدورة التالية مؤشر LED مرتين.

في كل مرة تضغط على الزر الزائف أثناء الوميض الأول لمجموعة من الومضات ، ستتم إضافة وميض آخر إلى تلك المجموعة. لا يهم بشكل عام متى ترفع / ترفع إصبعك.

ولكن إذا "دفعت" قبل أو بعد الفلاش الأول ، فسيتم تقليل عدد الومضات في مجموعة.

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

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

بمجرد أن تصل وحدتك إلى عدد الوميض العالي ، يمكنك نقلها (أو إرسالها بالبريد ، وهو ما يناسبه DigiSpark) إلى صديق ، حيث عند توصيلها سوف يرون مدى ارتفاع عدد الفلاش الذي حصلت عليه. إلى. لقد وجدت أنه من الصعب الإقلاع عن العمل للحصول على ما يصل إلى أكثر من 8. مع زر فعلي متصل ، تمكنت من الحصول عليه إلى أكثر من عشرة. للعودة إلى العد الأقل ، يمكنك الضغط عليه مرارًا وتكرارًا في أي وقت قبل أو بعد الفلاش الأول. أيضًا إذا قمت بربط دبوس الإدخال إلى الأرض أثناء زيادة الطاقة ، فسيتم إعادة تعيين العد إلى 1.

لاحظ أن لوحة DigiSpark الأصلية بها تأخير لمدة 10 ثوانٍ بعد التشغيل ، قبل أن تبدأ في أداء كود "Push-It" وتشغيل اللعبة. يستخدم هذا الوقت لمحاولة التحدث عبر دبابيس USB لتلقي تحديث رمز تنزيل جديد محتمل.

إذا كانت لوحة Arduino التي تستخدمها تحتوي على USB TX LED عليها ، فسيكون لهذا LED وميض صغير سريع عندما تقوم بـ "الضغط على الزر" بشكل فعال. سيكون هناك وميض أكثر أهمية لهذا LED عندما يتم تحديث قيمة العد في EEPROM بقيمة جديدة. يمكن أن تساعدك هذه التعليقات بشكل كبير في معرفة وقت تشغيل حدث "الزر المضغوط" بشكل فعال أو التأكد من ذلك. قد تحتاج إلى التأكد من أنك لا تلمس أرضية الدائرة (مثل المعدن الموجود حول موصل micro-USB) بحيث يتسبب الشكل الخاص بك بالفعل في إحداث ضوضاء على دبوس الإدخال المفتوح. ستتم إضافة تحديات غير متوقعة إلى حد ما بسبب حقيقة أن دبوس الإدخال يطفو (لا يتم سحبه لأعلى أو لأسفل بواسطة حمل موصل / مقاوم) وضوضاء الإشارة المتغيرة القادمة من إصبعك.

يتم إخراج موجة مربعة 250 هرتز إلى دبوس بجوار دبوس الإدخال مما يحسن إلى حد كبير من يقين إشارة الإدخال المحقونة عندما يغطي إصبعك كلا المسامير.

لقد وجدت أن استجابة لوحة DigiSpark يمكن التنبؤ بها بشكل ثابت إلى حد ما لضغط بسيط من الأصابع في زاوية اللوحة حيث توجد D3-D5.

عندما ألعب "Push-It" ، أود أن أفعل ذلك مع توصيل اللوحة بحزمة بطارية محمولة USB 5v (انظر الصور). يمكن العثور عليها عمومًا بشكل غير مكلف في صناديق بجانب تلك الموجودة في محولات USB AC ومحولات السيارات بجهد 12 فولت ؛ في معظم المتاجر الكبرى في قسم الإلكترونيات.

الخطوة 4: تجارب اختيارية مع مكونات خارجية

تجارب اختيارية مع مكونات خارجية
تجارب اختيارية مع مكونات خارجية

يرجى ملاحظة: إذا قمت بإرفاق زر حقيقي ، فهناك سطر واحد من التعليمات البرمجية يجب التعليق عليه ، كما هو مذكور في الكود.

باستخدام مكبر صوت ، جانب واحد على الأرض ، إذا لمست الطرف الآخر إلى D4 ، فسوف تسمع صوت موجة مربعة تبلغ 250 هرتز. في D3 توجد موجة مربعة 500 هرتز. إذا قمت بتوصيل مكبر الصوت بين D3 و D4 ، فسوف تسمع مركبًا من الإشارتين.

يعد توصيل مصباح LED بدلاً من مكبر الصوت كما هو موضح أعلاه أمرًا ممتعًا للغاية. لا داعي للقلق بشأن الجهد ، أو المستويات الحالية ، أو المقاومات ، أو حتى القطبية لهذه المسألة (الأسوأ من ذلك أنها لا تضيء ، ثم فقط اقلبها). حاول ، أولاً وقبل كل شيء ، مع السالب (الكاثود) المتصل بالأرض والآخر إما D3 أو D4. سوف يضيء مؤشر LED "نصف" ، بسبب الموجات المربعة. علاوة على ذلك ، لا يلزم إعادة التسجيل لأن إخراج MicroControllerUnits محدود حاليًا. لقد أجريت قياسات حالية أدت إلى 15ma و 20ma لوحدات Attiny85 و Atmega328 MCU على التوالي. هذه المستويات هي حوالي نصف القيمة الحالية المحدودة لهذه الأجزاء بسبب طبيعة دورة العمل بنسبة 50٪ لإشارات الموجة المربعة الدافعة. قراءات العداد هي في الواقع متوسط التيار عبر الدائرة المختبرة.

ومن المثير للاهتمام ، إذا قمت بالربط بين D3 و D4 باستخدام مؤشر LED (انظر الصورة أعلاه وإلى اليسار) ، فسوف يضيء في كلتا الحالتين ، وعند السطوع تقريبًا كما هو الحال مع جانب واحد متصل بالأرض. أدعوكم للتفكير في السبب.

موصى به: