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

لعبة رد الفعل السريع: نسخة المسافة: 5 خطوات (بالصور)
لعبة رد الفعل السريع: نسخة المسافة: 5 خطوات (بالصور)

فيديو: لعبة رد الفعل السريع: نسخة المسافة: 5 خطوات (بالصور)

فيديو: لعبة رد الفعل السريع: نسخة المسافة: 5 خطوات (بالصور)
فيديو: مستحيل تصدق معنى حركة الإصبع الأوسط 😱 2024, يوليو
Anonim
لعبة رد الفعل السريع: نسخة المسافة
لعبة رد الفعل السريع: نسخة المسافة

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

مثل جميع مشاريع Arduino ، ستتطلب هذه اللعبة العديد من المكونات الكهربائية في دائرة Arduino. تشمل المكونات الرئيسية ، بخلاف الأسلاك و Arduino نفسها ، اللوح ومحرك مؤازر وشاشة LCD و RGB LED ومستشعر المسافة.

باستخدام https://abra-electronics.com ، يبلغ السعر باستثناء الأسلاك و Arduino 32.12 دولار كندي.

الخطوة 1: الخطوة 1: مستشعر المسافة

الخطوة 1: مستشعر المسافة
الخطوة 1: مستشعر المسافة

تتمثل الخطوة الأولى في إعداد مستشعر المسافة بالموجات فوق الصوتية على اللوح وتوصيله بـ Arduino. لا يهم الموضع الدقيق للمستشعر في الواقع ، ولكن من الناحية المثالية يكون قريبًا من الحافة بحيث يكون هناك مساحة للمكونات الأخرى ، كما هو موضح في الصورة أعلاه. هناك أربعة دبابيس على المستشعر ؛ GND و VCC و TRIG و ECHO. يجب توصيل GND و VCC في الأرض وقضبان الطاقة على التوالي ، والأسلاك في الدبابيس الأخرى في دبابيس على Arduino. كان الدبابيسان اللذان استخدمتهما 12 لـ ECHO و 11 لـ TRIG. استخدم سلكين آخرين لتشغيل سكة الطاقة وأرضي السكة الأرضية عن طريق توصيل سكة الطاقة بمسمار 5 فولت وسكة أرضية بمسمار GND.

الخطوة 2: الخطوة 2: محرك سيرفو

الخطوة 2: محرك سيرفو
الخطوة 2: محرك سيرفو

الخطوة التالية هي إعداد محرك سيرفو. في هذا المشروع ، يعمل المحرك المؤازر كمؤقت. سيبدأ عند درجة واحدة ، وعلى مدار الفترة الزمنية التي يتعين على المستخدم فيها إبعاد أيديهم ، سيتم تدويره إلى 180 درجة. لقد استخدمت ثانيتين عندما يكتشف المستخدم إلى أي مدى يتعين عليهم إبعاد أيديهم ، لذلك تدور المؤازرة 179 درجة خلال فترة 2 ثانية ، وتدور على فترات قصيرة. يحتوي محرك سيرفو على ثلاثة أسلاك ؛ عادة ما تكون صفراء وحمراء وبنية. يذهب اللون الأحمر إلى سكة الطاقة التي تم توصيلها بالفعل بجهد 5 فولت ، والأخرى ذات اللون البني تدخل في السكة الأرضية الموصولة بالفعل في GND. يتم توصيل السلك النهائي بمسمار Arduino. لقد اخترت رقم 9 لهذا واحد. بعد ذلك ، تحتاج إلى مكثف يربط نفس السكة التي بها طاقة محرك سيرفو وأسلاك أرضية متصلة ، كما هو موضح في الصورة أعلاه.

الخطوة 3: الخطوة 3: RGB LED

الخطوة 3: RGB LED
الخطوة 3: RGB LED

وظيفة LED في هذا هو العمل كمقياس للنتيجة. عندما تكون نتيجة اللاعب حوالي 0 ، سيكون مؤشر LED أبيض اللون ، وسيتحول إلى اللون الأحمر أكثر إذا انخفضت درجة اللاعب وأخضر إذا ارتفعت نقاط اللاعب. هذا الصمام لديه أربعة أرجل. ساق الضوء الأحمر ، والساق ذات الضوء الأزرق ، والساق ذات الضوء الأخضر ، والكاثود المشترك بين الأرجل الثلاثة الأخرى. يتم توصيل الكاثود المشترك ، وهو أطول ساق ، بسلك كهربائي بحيث يتلقى 5 فولت. قم بتوصيل 330 أوم مقاومات بأرجل الألوان الثلاثة الأخرى ، وقم بإرفاق الأطراف الأخرى لتلك المقاومات بدبابيس PWM الرقمية على Arduino. تلك التي استخدمتها كانت دبابيس رقمية 3 و 5 و 6 للأرجل الحمراء والخضراء والزرقاء على التوالي.

الخطوة 4: الخطوة 4: شاشة LCD

الخطوة 4: شاشة LCD
الخطوة 4: شاشة LCD

المكون الأخير هو شاشة LCD ، والتي تعني شاشة الكريستال السائل. الغرض من ذلك هو إخبار اللاعب بنتيجته الحالية بالإضافة إلى المسافة التي يحتاجها لوضع أيديهم بعيدًا عن المستشعر. هناك أربعة دبابيس هنا ؛ GND و VCC و SDA و SCL. سيتم توصيل GND و VCC في الأرض وقضبان الطاقة للوح التجارب على التوالي. يجب توصيل دبوس SDA بالدبوس التمثيلي A4 ، ويجب توصيل دبوس SCL بالدبوس التناظري A5. على عكس المكونات الأخرى ، يجب عليك توصيل دبابيس SDA و SCL بـ A4 و A5.

الخطوة 5: الخطوة 5: الكود

الآن بعد أن قمنا بتوصيل جميع المكونات ، يمكننا كتابة الكود. الجزء الأول من الكود هو استيراد المكتبات الضرورية والإعلان عن متغيراتنا وأي دبابيس يتم توصيل المكونات بها. نحتاج إلى استيراد مكتبات Wire و LiquidCrystal_I2C و Servo لهذا الرمز.

#يشمل

#يشمل

#يشمل

أجهزة myServo ؛

int const trigPin = 11 ؛

int const echoPin = 12 ؛

int redPin = 3 ؛

int greenPin = 5 ؛

كثافة العمليات bluePin = 6 ؛

درجة int = 0 ؛

int تيم = 500 ؛

تيار int = عشوائي (8 ، 16) ؛ // قيمة عشوائية حيث يتعين على المستخدم إبعاد يده عن المستشعر

LiquidCrystal_I2C lcd (0x27، 16، 2) ؛ // إعداد LCD

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

إعداد باطل () {myServo.attach (9) ؛ Serial.begin (9600) ؛ pinMode (trigPin ، الإخراج) ؛ pinMode (echoPin ، INPUT) ؛ pinMode pinMode (redPin ، الإخراج) ؛ pinMode (greenPin ، الإخراج) ؛ pinMode (bluePin ، الإخراج) ؛ lcd.init () ، اضاءه خلفيه ال سى دى()؛ lcd.begin (16 ، 2) ؛ lcd.clear () ؛ // إعداد LCD}

نحتاج الآن إلى إعداد كود RGB LED باستخدام وظيفة و PWM:

void setColor (int red، int green، int blue) {

أحمر = 255 - أحمر ؛

أخضر = 255 - أخضر ؛

أزرق = 255 - أزرق ؛

analogWrite (redPin ، أحمر) ؛

analogWrite (greenPin ، الأخضر) ؛

analogWrite (bluePin ، أزرق) ؛

}

الآن نحن بحاجة إلى إضافة الحلقة الفارغة (). هنا ، سنقوم بتوليد أعداد صحيحة عشوائية واستخدام سلسلة من عبارات if للتحكم في اللعبة للاعب. المتغير الحالي ، الإعداد أعلاه ، للمسافة الحالية يجب على اللاعب أن ينأى بنفسه عن المستشعر.

نظرًا لأن الشفرة في الحلقة الفارغة () طويلة جدًا ، سأقوم بلصق رابط إلى مستند يحتوي على هذا الرمز:

docs.google.com/document/d/1DufS0wuX0N6gpv…

أخيرًا ، نحتاج إلى إجراء الحسابات الفعلية لتحويل قيم مستشعر المسافة بالموجات فوق الصوتية إلى بوصات. لا يقيس مستشعر المسافة بالموجات فوق الصوتية المسافة مباشرة ؛ يصدر الصوت ويسجل الوقت الذي يستغرقه المستشعر لاستعادة الصوت من أي شيء يرتد منه.

ميكروثانية طويلة إلى بوصات (ميكرو ثانية طويلة) {

عودة ميكروثانية / 74/2 ؛

}

الآن نقوم بتوصيل Arduino السلكي بالكمبيوتر باستخدام الكود وإعداد المنافذ وتشغيله! هناك وضعان لهذه اللعبة. إما أنه يمكنك فقط استخدام شاشة LCD ، والمحرك المؤازر ، والمستشعر ، و RGB LED وأنت تعرف فقط المسافة التي يجب أن تكون من المستشعر ، وهو الوضع الأصعب. يتضمن الوضع الأسهل استخدام الشاشة التسلسلية في Tools> Serial Monitor ، والتي ستطلعك كل ثانية على بعدك عن المستشعر ، حتى تتمكن من إجراء التعديلات اللازمة.

شكرا للقراءة!

موصى به: