يوم جيد ، عزيزي القارئ لمقالي ، أود أن أخبرك اليوم في هذه المقالة بكيفية تجميع لعبة "شد الحبل" على أردوينو
هذا ما تحتاجه:
1. اردوينو أونو
2.2 مكثفات 0.1 ميكروفاراد
3.14 مقاومات 220 أوم
4. مقياس LED أو 10 المصابيح عند 3 فولت
5. اللوح
6. 2 أزرار على مدار الساعة
7. مكبر الصوت بيزو
8. شميت قلب الزناد
9. أسلاك التوصيل
لذا أولا ، دعنا نبرمج اردوينو
هنا رسم تخطيطي:
بعد ذلك ، نجمع كل شيء وفقًا لهذا المخطط:
يجب أن تحصل على شيء مثل هذا:
بعد أن ينتقل "الحبل" إلى الجانب 1 من اللاعبين الذي تنتهي اللعبة ، يمكنك إعادة تشغيله بالضغط على الزر الموجود على اردوينو نفسه
آمل أن تكون قد استمتعت بهذا المشروع ومعك كرة DeNiS Geek pro100 ، هذا كل شيء الآن!
هذا ما تحتاجه:
1. اردوينو أونو
2.2 مكثفات 0.1 ميكروفاراد
3.14 مقاومات 220 أوم
4. مقياس LED أو 10 المصابيح عند 3 فولت
5. اللوح
6. 2 أزرار على مدار الساعة
7. مكبر الصوت بيزو
8. شميت قلب الزناد
9. أسلاك التوصيل
لذا أولا ، دعنا نبرمج اردوينو
هنا رسم تخطيطي:
# تحديد BUZZER_PIN 0
# تعريف FIRST_BAR_PIN 4
# تحديد BAR_COUNT 10
# تعريف MAX_SCORE 20
// المتغيرات العالمية المستخدمة في المقاطعات (انظر أدناه)
// يجب وضع علامة غير مستقر (متقلب)
درجة int المتطايرة = 0 ؛
إعداد باطل ()
{
لـ (int i = 0؛ i & lt؛ BAR_COUNT؛ ++ i)
pinMode (i + FIRST_BAR_PIN ، OUTPUT) ؛
pinMode (BUZZER_PIN ، OUTPUT) ،
// المقاطعة (مقاطعة الإنجليزية) تعلق الرئيسي
// program ، ينفذ الوظيفة المحددة ، ثم يستأنف
// البرنامج الرئيسي. نحن بحاجة إلى المقاطعة بنقرة زر واحدة ،
// على سبيل المثال عند تغيير الإشارة من الأعلى إلى الأدنى ، أي على
// النزولي (السقوط) الأمامي
انقطع (INT1، pushP1، FALLING) ؛ // INT1 هو الطرف الثالث
انقطع (INT0 ، pushP2 ، سقوط) ؛ // INT0 هو الطرف الثاني
}}
النتيجة باطلة pushP1 () {++؛ } // أول وظيفة مقاطعة لاعب
باطل pushP2 () {- العلامة ؛ } // وظيفة المقاطعة الثانية للاعب
حلقة فارغة ()
{
نغمة (BUZZER_PIN ، 2000 ، 1000) ؛ // إعطاء إشارة للبدء.
// بينما لم يفز أي من اللاعبين ، نقوم بتحديث "الحبل"
بينما (القيمة المطلقة (العلامة & lt ؛ MAX_SCORE) {
int bound = map (درجة ، -MAX_SCORE ، MAX_SCORE ، 0 ، BAR_COUNT) ؛
int left = min (مقيد ، BAR_COUNT / 2-1) ؛
int right = max (مقيد BAR_COUNT / 2) ؛
لـ (int i = 0؛ i & lt؛ BAR_COUNT؛ ++ i)
الكتابة الرقمية (i + FIRST_BAR_PIN، i & gt؛ = left && i & lt؛ = right)؛
}}
نغمة (BUZZER_PIN ، 4000 ، 1000) ؛ // إعطاء إشارة النصر
بينما (صحيح) {} // "علق" اللوحة حتى إعادة التشغيل
}}
بعد ذلك ، نجمع كل شيء وفقًا لهذا المخطط:
يجب أن تحصل على شيء مثل هذا:
بعد أن ينتقل "الحبل" إلى الجانب 1 من اللاعبين الذي تنتهي اللعبة ، يمكنك إعادة تشغيله بالضغط على الزر الموجود على اردوينو نفسه
آمل أن تكون قد استمتعت بهذا المشروع ومعك كرة DeNiS Geek pro100 ، هذا كل شيء الآن!