جدول المحتويات:
- الخطوة 1: ربط أزرار التحكم في Arduino
- الخطوة الثانية: ترميز Arduino Leonardo:
- الخطوه 3:
- الخطوة الرابعة:
- الخطوة الخامسة:
- الخطوة السادسة:
- الخطوة السابعة:
- الخطوة الثامنة: حركة الترميز في الوحدة:
- الخطوة 9:
- الخطوة 10:
- الخطوة 11:
- الخطوة 12:
- الخطوة 13:
- الخطوة 14: توصيل الأضواء إلى Arduino
- الخطوة 15: ترميز Arduino Uno
- الخطوة 16:
- الخطوة 17:
- الخطوة 18: جانب الوحدة لأضواء التشفير:
- الخطوة 19:
- الخطوة 20:
- الخطوة 21:
- الخطوة 22:
- الخطوة 23:
- الخطوة 24:
فيديو: ذراع تحكم لعبة اردوينو مع أضواء تستجيب للعبة الوحدة الخاصة بك :: 24 خطوة
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
بادئ ذي بدء ، كتبت هذا الشيء بالكلمة. هذه هي المرة الأولى التي أستخدم فيها التعليمات ، لذا كلما قلت: اكتب رمزًا مثل ، فاعلم أنني أشير إلى الصورة في الجزء العلوي من تلك الخطوة.
في هذا المشروع ، أستخدم 2 اردوينو لتشغيل بتتين منفصلتين من التعليمات البرمجية نظرًا لأنني واجهت بعض الصعوبات في تشغيلها باستخدام جزء واحد فقط
هؤلاء هم أونو وليوناردو
إجمالاً ، هذا ما ستحتاجه لتلائم هذا المشروع.
· 7 أزرار ضغط
· 23 سلك توصيل
· 1 اردوينو ليوناردو + كابل يو اس بي
· 4 مقاومات · 4 ليد
· 1 اردوينو أونو + كابل يو اس بي
· 2 لوح
الخطوة 1: ربط أزرار التحكم في Arduino
ما ستحتاجه لتوصيل هذا الجزء:
· 7 أزرار ضغط
· 14 سلك توصيل
· 1 اردوينو ليوناردو + كابل يو اس بي
· اللوح
الأزرار بسيطة جدًا للربط ولكن يمكن أن تتحول بسرعة إلى فوضى لعرضها في شكل صورة.
· أولاً وضع الأزرار الانضغاطية في المواضع التي حددتها في الصورة أعلاه.
· ثانيًا ، تريد توصيل وصلة عبور من الفتحة الأرضية على اردوينو ليوناردو في الصف الناقص من لوح التجارب.
الآن يمكنك توصيل وصلات العبور من أي مكان في الصف الناقص إلى الصف الذي يتماشى مع الدبوس الأيمن لزر الضغط. هذا سوف يغذي القوة.
· بعد ذلك ، تريد توصيل سلك توصيل من صف يتماشى مع الدبوس الأيسر لزر الضغط الخاص بك إلى فتحات الإدخال الرقمية ليوناردو. بالنسبة للأزرار هنا ، استخدمت الفتحة 2 - 3 - 4 - 5 - 6 - 7 - 8
لقد أظهرت فقط أن السلك يدخل 8 في الصورة لأنه يصبح صورة فوضوية للغاية لتظهر لك جميع الأسلاك التي تتقاطع مع بعضها البعض.
الخطوة الثانية: ترميز Arduino Leonardo:
لذا لأخبرك سبب استخدامي ليوناردو لهذا الغرض. لأن لديها شريحة معينة لا يمتلكها Uno مما يجعل الكمبيوتر يتعرف عليها كجهاز إدخال USB. يشبه إلى حد كبير لوحة المفاتيح. مما يتيح لنا القيام بشيء يجعل حياتنا كمبرمجين لهذا المشروع أسهل بكثير. مضاهاة لوحة المفاتيح. سنخدع الكمبيوتر ليدفعه إلى التفكير في أننا نضغط على مفاتيح معينة على لوحة المفاتيح عندما نضغط في الواقع على الأزرار الموجودة على وحدة التحكم الخاصة بنا.
سأقوم الآن بإرشادك إلى التفكير في الكود خطوة بخطوة.
أولاً على طول الطريق في الجزء العلوي ، نقوم بتضمين Keyboard.h. سيسمح لنا ذلك باستخدام وظائف لوحة المفاتيح التي سنستخدمها في الكود الخاص بنا.
الخطوه 3:
ثم نحتاج إلى تحديد فتحات الإدخال الرقمية التي سنستخدمها في
ليوناردو لكل زر.
لقد قمت أيضًا بتسمية كل واحد منهم بعد المفتاح الذي سأقوم بمحاكاته.
الخطوة الرابعة:
من هناك ندخل في وظيفة الإعداد. هذا يخبر
اردوينو ما يفعله عند بدء التشغيل.
نكتب أولاً Serial.begin الذي سيفتح المنفذ التسلسلي ويضبط معدل البيانات على 9600 بت في الثانية
ونحدد جميع المسامير المسماة لتكون مدخلات.
الخطوة الخامسة:
وأخيرًا نكتب دالة الحلقة التي ستتحقق مما إذا كان
يتم الضغط على الأزرار وإخبار اردوينو بكيفية الرد على ذلك.
نكتب أولاً Keyboard.begin والذي سيخبر اردوينو أنه يحتاج إلى البحث عنا باستخدام وظائف لوحة المفاتيح
الخطوة السادسة:
ثم نكتب لكل زر عبارة if / else التي تسير على هذا النحو
إذن ما قلته لاردوينو هنا هو: إذا تم الضغط على الزر الأيسر على وحدة التحكم ، فاجعل الكمبيوتر يعتقد أننا نضغط على المفتاح "a" وإذا لم يكن الأمر كذلك ، فاجعله يعتقد أننا تركنا المفتاح.
تقوم بشكل أساسي بتكرار كتلة التعليمات البرمجية هذه لكل زر على وحدة التحكم الخاصة بك. مع التغييرات لكل متغير والمفاتيح التي يحتاج المتغير إلى محاكاتها
الخطوة السابعة:
المفاتيح التي أخبرنا الكمبيوتر بضربها هنا هي W - A - S - D والتي
هي إلى حد كبير معيار الحركة في ألعاب الكمبيوتر و E - Q - ومفتاح المسافة الذي يتم التعرف عليه في هذا الرمز على أنه "" وهي الأزرار التي أستخدمها لالتقاط - رفض وإطلاق النار في لعبتي. لا تتردد في تغيير هذه المفاتيح إلى أي مفاتيح تشعر أنها تعمل بشكل أفضل للعبة / وحدة التحكم الخاصة بك.
ثم أخيرًا أخبرنا اردوينو بإيقاف التحقق من لوحة المفاتيح
الخطوة الثامنة: حركة الترميز في الوحدة:
أولاً ، دعني أخبرك أنني أصنع هذا للعبة ثنائية الأبعاد
الأمثلة التي ستشاهدها مصممة لذلك. تعني بشكل أساسي المكان الذي أستخدم فيه Vector2 إذا كنت تعمل في صورة ثلاثية الأبعاد ، فستستخدم Vector3. لأنك قد تحتاج إلى القلق بشأن أبعاد إضافية للحركة ثلاثية الأبعاد.
الآن السبب في استخدام محاكاة لوحة المفاتيح على جانب اردوينو هو أن الوحدة لديها شيء مبني للتعرف على المفاتيح الموجودة على لوحة المفاتيح والتي يمكننا استخدامها.
إذا فتحت مشروعك في الوحدة ، فانتقل إلى تحرير -> إعدادات المشروع -> إدخال. يمكنك أن ترى في المفتش الخاص بك أنه يقوم بتشغيل مدير الإدخال. حيث إذا قمت بالنقر فوق Axes ، يمكنك رؤية مجموعة كاملة من أسماء الإدخال مفتوحة والتي تُستخدم عادةً لوحدات التحكم في الكمبيوتر مثل تلك التي نصنعها الآن. المدخلان اللذان سنستخدمهما هما أفقيان وعموديان يتحققان من تخمينك W-A-S-D.
أولاً ، تريد أن تصنع شيئًا في التسلسل الهرمي لمشاهد الوحدة الخاصة بك والذي سيكون لاعبك. في حالتي كوني هذا الرجل الصغير الممتع. يمكن أن يكون هذا كل ما تريده ولكن لغرض لعبتي صنعت هذا الرجل.
الخطوة 9:
تريد أن تعطي هذا اللاعب شيئين. مصادم الصندوق 2D و
a Rigidbody 2d وقم بتحريرها لتكون مثل الصورة أعلاه.
الخطوة 10:
ثم تريد الانتقال إلى مجلد مشاريعك وإنشاء ملف
نص C #. الذي سميته PlayerMovement.
ستحدد في هذا النص البرمجي متغيرين. عوامة عامة أسميها moveSpeed. الذي سيحدد مدى السرعة التي تذهب إليها. و Rigidbody2D خاص أسميه RigidPlayer. الذي سيبحث عن لاعبيك جسدًا صلبًا.
لا تنس أن تصل إلى محرر الوحدة الخاص بك ، انقر على المشغل الخاص بك ، أضف هذا البرنامج النصي الجديد عن طريق سحبه إلى المفتش وتعيين قيمة رقمية لـ moveSpeed.
الخطوة 11:
الآن في Start () لديك تريد أن تفعل شيئًا واحدًا وهو أن
تأكد من أن RigidPlayer الخاص بك يمكنه العثور على جسم الدافع الخاص بك 2d. يمكنك القيام بذلك باستخدام سطر التعليمات البرمجية التالي:
الخطوة 12:
ثم ننتقل إلى التحديث (). هنا حيث نحن ذاهبون
لجعل اللاعب يتحرك.
نفعل ذلك بعبارة بسيطة جدًا إذا كانت ستنظر إلى المفاتيح السلبية والإيجابية من الأفقي (AD) والعمودي (SW) ونطبق ذلك كرقم لإجبارنا على وضع جسمنا الصلب 2d لدفع لاعبنا إلى الداخل اتجاه. سيتم ضرب هذا الرقم في متغير moveSpeed.
الخطوة 13:
أخيرًا ، تريد التأكد من توقف لاعبك عن الحركة عندما
لا تضغط على أي شيء. هذا ما تفعله هكذا:
الآن إذا كنت تريد استخدام الأزرار الثلاثة الأخرى الخاصة بك لأي شيء تفعله باستخدام عبارة if هذه: if (Input. GetKeyDown (Keycode. Space))
بالنسبة إلى شريط المسافة وبدلاً من وضع حرف المفاتيح الأخرى التي اخترتها لاستخدامها للمفاتيح الأخرى ، بدلاً من المساحة.
الخطوة 14: توصيل الأضواء إلى Arduino
·
ما ستحتاجه لتوصيل هذا الجزء:
· 9 أسلاك توصيل
· 4 مقاومات
· 4 ليد
· 1 اردوينو أونو + كابل يو اس بي
· اللوح
سيتم ربط الأضواء من خلال Uno.
سينتهي به الأمر مثل هذه الصورة أعلاه:
تقوم بتوصيل المقاومات بالجانب الطويل من مصابيح LED. ثم تقوم بتوصيل وصلة مرور من رقم دبوس رقمي على uno إلى المقاومات. في هذه الحالة ، استخدمت فتحات الدبوس الرقمية 9-10-11-12 ، ستكون هذه الأرقام ذات صلة عندما نصل إلى رمز الأضواء.
من هناك ، تريد توصيل وصلة عبور من الفتحة الأرضية في اردوينو أونو إلى البقعة الموجودة على لوحتك كما هو موضح بالسلك الأسود في الصورة أعلاه.
ثم تريد أن يكون لديك 4 وصلات عبور تؤدي جميعها إلى النهاية القصيرة لكل LED
الخطوة 15: ترميز Arduino Uno
حسنًا ، سنقوم أولاً بتعريف متغيراتنا مرة أخرى
لذلك أولاً ما هي المدخلات الرقمية التي نستخدمها لأضواءنا. وسنقوم بعمل حرف يسمى myCol [20]
الخطوة 16:
ثم في الإعداد نريد أن نفعل Serial.begin مرة أخرى. ضع كل مصابيح LED الخاصة بنا على Output وأوقف تشغيلها جميعًا عند بدء التشغيل.
الخطوة 17:
وأخيرًا تريد كتابة دالة الحلقة الخاصة بك.
سيؤدي هذا إلى قراءة Arduino في أي بيانات واردة من خلال المسلسل حتى يحدث أحد حدثين. إما أن يتم الكشف عن حرف تغذية السطر ؛ يتم تحديد هذا بواسطة lf الذي تم تعيينه على 10 وهو الوسيطة الأولى أو تمت قراءة قدر معين من البايت. هذه هي الوسيطة الثالثة وفي هذا المثال تم تعيينها على بايت واحد فقط. يتم تخزين البيانات في المتغير myCol ، والذي تم تعيينه على char وبحد 20. في readBytes حتى تكون هذه هي الوسيطة الثانية. أو طريقة أخرى لتفسيرها هي Serial.readBytesUntil (terminatorCharacter، buffer، byteLimit) ؛
وستتأكد عبارات if من تشغيل بعض الأضواء عندما تعطي الوحدة الإشارة. في هذه الحالة ، حصلت على 4 مصابيح ملونة مختلفة ، لذا أقوم بإرسال الوحدة g حتى يتم تشغيل مؤشر LED الأخضر ، و b لتشغيل المصباح الأزرق ، و r لكي يتم تشغيل مؤشر LED الأحمر و y لتشغيل مؤشر LED الأصفر.
الخطوة 18: جانب الوحدة لأضواء التشفير:
حسنًا ، أولًا شيئين قبل أن ندخل في هذا الأمر.
1. في برنامج ترميز arduino الخاص بك ، انتقل إلى Tool -> Port -> وتحقق لي من COM الذي يعمل به uno. في حالتي ، COM3 الخاص به (سيكون هذا مهمًا في الكود)
2. في الوحدة ، انتقل إلى تحرير -> إعدادات المشروع -> المشغل ، ثم انقر فوق الإعدادات الأخرى في المفتش ، انتقل إلى مستوى توافق Api وقم بتبديله من الشبكة الفرعية. NET 2.0 إلى. NET 2.0 فقط
حسنًا ، لقد تم ذلك. دعونا ندخله.
انقر بزر الماوس الأيمن فوق التسلسل الهرمي الخاص بك وانقر فوق إنشاء فارغ.
سيكون هذا كائن لعبة فارغًا سيكون موجودًا في لعبتك ليحمل نصًا واحدًا لنا. لقد استدعت هذا الكائن Init.
الخطوة 19:
ثم انتقل إلى علامة تبويب المشاريع الخاصة بك وقم بإنشاء برنامج نصي C # جديد
ونسميها إرسال.
أول شيء تفعله هو كتابة هذه الأسطر في أقسام استخدام التعليمات البرمجية الخاصة بك:
باستخدام System. IO. Ports ؛
باستخدام System. Threading.
هذا يجعله حتى نتمكن من استخدام متغير SerialPort
الخطوة 20:
في هذا البرنامج النصي سنقوم بعمل المتغيرات التالية. الآن لاحظ أنني حصلت على COM3 هناك ، قد يكون هذا مختلفًا بالنسبة لك كما ناقشنا في بداية هذه الخطوة. إذا تم استبدال الرقم 3 بالرقم الذي قاله لك.
الخطوة 21:
في البداية نطلب من البرنامج النصي أن يستخدم OpenConnection
الوظيفة التي سنكتبها قليلاً
التحديث هو اختبار ثم أي شيء ولكن إذا كنت ترغب في إدراجه ، فإنه لاختبار الرسائل التي يتم إرسالها إلى الوحدة. يمكنك تجاهلها بصدق.
الخطوة 22:
Oke الآن لوظيفة OpenConnection هذه. هذا مجرد كبير
عبارة if / else التي تحافظ على الاتصال مفتوحًا فقط انسخها كما هي مكتوبة ويجب أن تكون بخير.
الخطوة 23:
تذكر الآن من كود اردوينو الذي جعلته يتحقق
يشير إلى أن الوحدة سترسل إليها.
حسنًا ، هذا هو المكان الذي يحدث فيه ذلك. في حالتي ، تم توصيل 4 مصابيح لذا كتبت 4 وظائف بسيطة للغاية. كل ما يفعلونه هو أنه عندما يتم استدعاؤهم يرسلون رسالة إلى اردوينو. عندما يحصل اردوينو على هذا الحرف فإنه يضيء الضوء المقابل للحرف المذكور.
الخطوة 24:
قد تتساءل كيف يمكنني أن أسمي هذا
وظيفة؟ حسنًا ، يمكنك فعل ذلك بسطر واحد بسيط في أي من نصوص c # الأخرى التي تستخدمها في لعبتك. Sending. NameFunctionhere () ؛. على سبيل المثال ، في لعبتي ، تم تكليف اللاعب بجمع 4 الأجرام السماوية الملونة. لذلك كتبت نصًا صغيرًا يتأكد من أنه عندما يقترب من أحدهما ويضغط على الزر الأيمن ، يلتقطه ويرسل إشارة إلى اردوينو بأنه في هذه الحالة تم التقاط الجرم السماوي الأصفر. لكي تعرف ، يجب أن أشغل المصباح الأصفر:
يمكنك وضع هذا السطر من التعليمات البرمجية في أي مكان تريد. إذا كنت تريد أن تضيء عندما تبدأ اللعبة ، فضعها في وظيفة البداية. أريدها أن تضيء عندما يموت ، ضعها في وظيفتك لموت اللاعبين. جرب قليلا. اخترت أن أجعل الأضواء نوعًا من عنصر واجهة المستخدم خارج اللعبة لتتبع الأجرام السماوية التي حصلت عليها دون تشويش الشاشة.
موصى به:
لعبة فيديو ثنائية الأبعاد مع C # على الوحدة: 4 خطوات
2D Video Game With C # on Unity: بدأ هذا المشروع عندما حصلت على جهاز الكمبيوتر الخاص بي لأول مرة في نوفمبر. بدأت كطريقة ممتعة لتعلم مهارة جديدة ، وسرعان ما أصبحت إحدى هواياتي المفضلة. لقد كنت أعمل عليها منذ ذلك الحين ، وسجلت أكثر من 75 ساعة من إجمالي وقت البرمجة
وحدة تحكم لعبة Arduino Rhythm (للعبتي الخاصة): 6 خطوات
Arduino Rhythm Game Controller (للعبتي الخاصة): سأوضح لك في هذه التعليمات كيف أقوم ببناء وحدة التحكم في لعبة Rhythm Game من الصفر. يتضمن مهارات النجارة الأساسية ومهارات الطباعة ثلاثية الأبعاد الأساسية ومهارات اللحام الأساسية. ربما يمكنك بناء هذا المشروع بنجاح إذا لم يكن لديك أي شيء سابق
لوحة تحكم سفينة الفضاء - لعبة اردوينو مقطوعة بالليزر: 11 خطوة (مع صور)
لوحة التحكم في سفينة الفضاء - لعبة Laser Cut Arduino: قبل بضعة أشهر قررت أن أصبح عضوًا في مساحة المصنّعين المحليين ، لأنني كنت أرغب في تعلم أدوات صناعة التجارة على مر العصور. كان لدي القليل من تجربة Arduino وأخذت دورة فيوجن هنا على Instructables. ومع ذلك أنا
أرخص اردوينو -- أصغر اردوينو -- اردوينو برو ميني -- البرمجة -- اردوينو نينو: 6 خطوات (مع صور)
أرخص اردوينو || أصغر اردوينو || اردوينو برو ميني || البرمجة || اردوينو نينو: …………………………. الرجاء الاشتراك في قناتي على يوتيوب لمزيد من مقاطع الفيديو ……. يدور هذا المشروع حول كيفية التعامل مع أصغر وأرخص اردوينو على الإطلاق. أصغر وأرخص اردوينو هو اردوينو برو ميني. إنه مشابه لاردوينو
ضبط أضواء عيد الميلاد DIY على الموسيقى - أضواء المنزل المصممة: 15 خطوة (بالصور)
ضبط أضواء عيد الميلاد DIY على الموسيقى - أضواء المنزل المصممة للرقص: ضبط أضواء عيد الميلاد DIY على الموسيقى - أضواء المنزل المصممة للرقص هذا ليس DIY للمبتدئين. ستحتاج إلى فهم قوي للإلكترونيات والدوائر والبرمجة الأساسية والذكاء العام حول السلامة الكهربائية. DIY هذا لشخص متمرس لذلك