فهرست مطالب:

Whack-a-moLED !!: 7 مرحله
Whack-a-moLED !!: 7 مرحله

تصویری: Whack-a-moLED !!: 7 مرحله

تصویری: Whack-a-moLED !!: 7 مرحله
تصویری: Brain Out Level 40 _ Can You Solve This Question 2024, نوامبر
Anonim
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!
Whack-a-moLED !!

پروژه های Tinkercad »

این یک نسخه LED از بازی کلاسیک Whack-a-Mole است.

در واقع یک LED تصادفی از 4 LED به جای خال که از سوراخ به نظر می رسد ، روشن می شود و پخش کننده به جای ضربه زدن به خال ، LED را با استفاده از جوی استیک خاموش می کند!

تدارکات

Arduino Uno/Nano یا هر نوع بورد

4 LED و مقاومت محدود کننده جریان مربوطه.

ماژول جوی استیک با خروجی X ، Y

زنگ فعال (اختیاری)

سیم های جهنده.. به اندازه کافی برای اشکال زدایی!

مرحله 1: مدار را وصل کنید

مدار را وصل کنید
مدار را وصل کنید

برد Arduino Uno را به ماژول جوی استیک متصل کرده و 2 پین ورودی آنالوگ را به خروجی های X Y جوی استیک متصل کنید.

4 LED با استفاده از مقاومت به 4 پین خروجی دیجیتال یا آنالوگ متصل می شوند.

زنگ فعال برای اتصال به پین خروجی دیجیتال

مرحله 2: کد راه اندازی پین ها

int xVal = 0 ، yVal = 0 ، butVal = 0 ، xPin = A0 ، yPin = A1 ، joyPin = 13 ، butPin = 7 ، speakerPin = 9 ؛

int چپ LED = A2 ، راست LED = A3 ، بالا LED = A4 ، پایین LED = A5 ؛

int انتخاب شده LED = 0؛ // می تواند یکی از A2 ، A3 ، A4 یا A5 باشد

void setup () {

pinMode (xPin ، INPUT) ؛

pinMode (yPin ، INPUT) ؛

pinMode (سمت چپ LED ، OUTPUT) ؛

pinMode (rightLED ، OUTPUT) ؛

pinMode (topLED ، OUTPUT) ؛ pinMode (پایین LED ، OUTPUT) ؛

pinMode (joyPin ، OUTPUT) ؛

pinMode (buzzerPin ، OUTPUT) ؛

}

مرحله 3: کد مربوط به Joystick Sensing

جوی استیک خالی SenseRoutine ()

{

xVal = analogRead (xPin) ؛ yVal = analogRead (yPin) ؛ butVal = digitalRead (butPin) ؛

joyPin = mapXYtoPin (xVal ، yVal ، butVal) ؛

analogWrite (انتخاب LED ، 1024) ؛

if (selectedLED! = leftLED) {analogWrite (leftLED، 0)؛ } if (selectedLED! = rightLED) {analogWrite (rightLED، 0)؛ }

if (selectedLED! = topLED) {analogWrite (topLED، 0)؛ }

if (selectedLED! = bottomLED) {analogWrite (bottomLED، 0)؛ }

if (joyPin == selectedLED) // Mole Whacked

{

analogWrite (انتخاب LED ، 0) ؛

//

// اضافه کردن کد برای پخش موسیقی/آهنگ برای ضربه محکم و ناگهانی moLED !!

//

}

}

int mapXYtoPin (int xVal ، int yVal ، int butVal) {if ((xVal <100) و (yVal 400)) {بازگشت پایین LED؛ }

else if ((xVal> 900) و (yVal 400)) {return topLED؛ }

در غیر این صورت اگر ((xVal 400) و (yVal <100)) {بازگشت به سمت چپ LED؛ }

در غیر این صورت اگر ((xVal 400) و (yVal> 900)) {return rightLED؛ }

else {return -1؛ }

}

مرحله 4: کد روتین حلقه اصلی

حلقه خالی () {

برای (int i = 0 ؛ i <length؛ i ++)

{

if (تصادفی (0 ، 100)> 90) {selectedLED = anaPinMap (تصادفی (2 ، 6))؛}

// کد موسیقی بازی را در اینجا اضافه کنید

// *** *** ***

//

}

int anaPinMap (int randNum) {

if (randNum == 2) {return A2؛ }

else if (randNum == 3) {return A3؛ }

else if (randNum == 4) {return A4؛ }

else if (randNum == 5) {return A5؛ }

}

مرحله 5: آماده امتحان کردن هستید

مرحله 6: پیاده سازی Arduino Nano برای نمونه اولیه

Image
Image

اجرای مشابه با آردوینو نانو در نان برد ، برد سفارشی ساخته شده با LED ، مقاومت و زنگ و سوئیچ جوی استیک X-Y.

مرحله 7: نمونه اولیه بسته بندی شده Whack-a-MoLED برای ارائه شخص مورد علاقه خود

نمونه نهایی بسته بندی شده Whack-a-MoLED برای ارائه محبوب شما!
نمونه نهایی بسته بندی شده Whack-a-MoLED برای ارائه محبوب شما!
نمونه نهایی بسته بندی شده Whack-a-MoLED برای ارائه محبوب شما!
نمونه نهایی بسته بندی شده Whack-a-MoLED برای ارائه محبوب شما!

لوازم مورد نیاز برای نمونه اولیه:

جعبه مقوایی ساده (حداقل 4cmX6cmX3cm) ، تکه های مقوایی اضافی از پشت.

کاغذ تزئینی برای پوشش شاسی (اختیاری)

چسب/چسب چند منظوره

مینی برد نورد (اختیاری)

آردوینو نانو

PCB کوچک جهانی

باتری 9 ولت برای تغذیه آردوینو نانو (اتصال به پین Vin).

سوئیچ SPDT

بقیه لوازم (LED ها ، مقاومت ها ، جوی استیک ، زنگ ، سیم ها) همانطور که در مرحله 1 بالا توضیح داده شده است.

توصیه شده: