فهرست مطالب:

آردوینو جلاد در مورس: 9 مرحله
آردوینو جلاد در مورس: 9 مرحله

تصویری: آردوینو جلاد در مورس: 9 مرحله

تصویری: آردوینو جلاد در مورس: 9 مرحله
تصویری: پروژه RFID برای درب کارتی 2024, نوامبر
Anonim
آردوینو جلاد در مورس
آردوینو جلاد در مورس

در این آموزش به شما نشان خواهم داد که چگونه Arduino خود را برای بازی Hangman با ارسال کد مورس با یک چراغ قوه ساده یا عملکرد مشعل از تلفن خود تنظیم کنید.

همه آنچه شما باید دنبال کنید عبارتند از: یک برد آردوینو. 10 چراغ LED چراغ سیم برای اتصال همه آنها. اضافی: یک عنصر Piezo (برای افزودن صدا).

مرحله 1: تنظیم چراغ های LED

راه اندازی چراغ های LED
راه اندازی چراغ های LED

این بازی مورس از 4 چراغ برای نشان دادن 4 حرف در کلمه که باید حدس زده شوند و 5 چراغ برای نشان دادن عمرهایی که بازیکن برای حدس زدن با آن باقی مانده است استفاده می کند ، بنابراین اول از همه باید 9 LED را وصل کنید -چراغ ها به روش معمول ، همانطور که در تصویر مشاهده می شود.

مرحله 2: یک سنسور نور موقتی اضافه کنید

ما نمی توانیم برای فروشگاه های الکترونیکی پول خرج کنیم ، بنابراین تصمیم گرفتم با استفاده از یک چراغ LED ساده به عنوان یک سنسور نور موقتی ، این پروژه را ارزان نگه دارم.

تنها کاری که باید انجام دهید این است که طرف مثبت چراغ LED را به یکی از پورت های آنالوگ خود (در مورد من A0) و طرف منفی را به زمین متصل کنید.

مرحله 3: فرهنگ لغت خود را اضافه کنید

فرهنگ لغت خود را اضافه کنید
فرهنگ لغت خود را اضافه کنید

در وهله اول ، اجازه دهید با افزودن نوعی فرهنگ لغت برای ترجمه حروف به کدهای مورس مربوطه شروع کنیم. برای انجام این کار ، ما به سادگی یک آرایه 26 در 5 ایجاد می کنیم ، در حالی که اولین شکاف از هر آرایه ثانویه دارای حرف و 4 شکاف بعدی دارای کد مورس مربوطه یا فاصله ای است اگر هیچ کد نمانده باشد. بنابراین برای مثال با حرف s ، شکاف اول دارای 's' ، شکاف دوم ، سوم و چهارم دارای '.' و شکاف نهایی دارای "" است.

مرحله 4: چراغ ها را به طور پیش فرض روشن کنید

به طور پیش فرض چراغ ها را روشن کنید
به طور پیش فرض چراغ ها را روشن کنید
به طور پیش فرض چراغ ها را روشن کنید
به طور پیش فرض چراغ ها را روشن کنید

در این مرحله ، ما مطمئن می شویم که چراغها پس از شروع برنامه روشن می شوند و هنگامی که کاربر آنها را به درستی حدس زد ، حرفی را که مورس نشان می دهد (کد آن در مرحله 6 نوشته می شود) مورس می کنیم. ما همچنین مطمئن می شویم که به همان اندازه که تعداد بازیکنان باقی مانده چراغ ها برای زندگی روشن است.

قبل از این ، مطمئن شوید که یک آرایه با اعداد پورت و اعداد صحیح تنظیم شده روی 0 دارید تا زمان روشن و خاموش شدن چراغ را روشن کند و چراغ LED در حال حاضر در کدام قسمت از مورس نشان داده می شود.

مرحله 5: افزودن ورودی

افزودن ورودی
افزودن ورودی

اکنون ما باید کد را بنویسیم تا بررسی کنیم آیا پخش کننده به چراغ LED متصل به پورت آنالوگ A0 ما نور می تاباند یا خیر و آیا آن را به حرف صحیح ترجمه می کند یا خیر.

برای اطمینان از صحت خواندن ، ما هر 20 قرائت را با چراغ LED انجام می دهیم و از این عدد برای پیگیری خاموش یا روشن بودن چراغ استفاده می کنیم. برای انجام این کار ، در ابتدای برنامه NUM_AVG را به تعداد دفعاتی که می خواهیم نور را قبل از متوسط خاموش کردن آن بررسی کند ، تنظیم می کنیم. هرچه این عدد بیشتر باشد ، خواندن دقیق تر است ، اما ممکن است باعث تاخیر نیز شود.

msBtnPushed نشان دهنده مدت زمانی است که نور برای آن روشن بوده است. lastPressed یک بولی است که پیگیری می کند که آیا در حلقه قبلی چراغ روشن بوده است یا خیر.

مرحله 6: مدیریت ورودی

مدیریت ورودی
مدیریت ورودی
مدیریت ورودی
مدیریت ورودی

برای این مرحله ، باید نگاهی بیندازیم که پس از گذشت زمان کافی برای فرض بر این که دیگر مورس اضافه نخواهد شد ، باید چکار کنیم و باید بررسی کنیم که آیا مورس نامه ای را به صورت نامه ارسال کرده است یا خیر؟

برای انجام این کار ، ما باید رشته wordToGuess را روی کلمه ای قرار دهیم که می خواهیم بازیکنان ما حدس بزنند. من شخصاً یک مولد اعداد تصادفی دارم که در ابتدا آن را روی یک کلمه تصادفی تنظیم می کند ، اما شما همچنین می توانید آن را به سادگی روی یک کلمه واحد تنظیم کنید.

ما همچنین باید مطمئن شویم که شمارنده هر حلقه یک بار بالا می رود ، در غیر این صورت کل برنامه هیچ کاری انجام نمی دهد. علاوه بر این ، من تابع تاخیر را اضافه کرده ام تا مطمئن شوم که یک حلقه در هر میلی ثانیه وجود دارد.

PS: همه توابع Serial.println فقط برای اهداف آزمایش هستند. ممکن است پس از تکمیل حذف شوند.

اگر قصد استفاده از عنصر Piezo برای افزودن صدا را دارید ، GoodTimer و badTimer به سادگی مقادیری هستند. اگر می خواهید این کار را انجام دهید ، باید کد را در تصویر دوم که صداها را پخش می کند نیز اضافه کنید.

مرحله 7: سوءاستفاده از نامه های درست حدس زده شده

مورسینگ نامه های حدس زده شده صحیح
مورسینگ نامه های حدس زده شده صحیح

همانطور که قبلاً قول داده بودیم ، در این مرحله چراغ هایی را که نشان دهنده حروف صحیح حدس زده شده است ، مورس می کنیم.

برای این منظور ، من دو تابع نوشته ام: morseThis و nextLetter. از اعدادی که قبلاً در آرایه تایمرهای خود تنظیم کرده ایم استفاده می کند و بسته به اینکه کدام قسمت از کد مورس در حال حاضر درخشان است آنها را تغییر می دهد.

اگر تایمر به زمانی برسد که نور باید روشن شود ، به سادگی چراغ را روشن می کند و کد را برای تنظیم تایمرهای جدید برای خاموش و روشن کردن مجدد روشن می کند. اگر تایمر به قسمتی برسد که در آن نور باید عقب برود خاموش ، چراغ را خاموش می کند و سپس کد را برای نشان دادن قسمت بعدی حرف تنظیم می کند. اگر قسمت بعدی وجود ندارد ، آن را به قسمت اول بازنشانی می کند.

مرحله 8: بررسی تنظیمات و بازنشانی ما

راه اندازی و بازنشانی ما را مرور کنید
راه اندازی و بازنشانی ما را مرور کنید

البته اگر چراغ ها روی خروجی و ورودی تنظیم نشده باشند ، برنامه اجرا نمی شود. من همچنین یک مولد اعداد تصادفی اضافه می کنم تا یک کلمه را از لیست کلماتی که در یک آرایه به نام wordsToGuess قرار داده ام ، اضافه کنم.

علاوه بر این ، ما باید عملکرد بازنشانی را اضافه کنیم و مطمئن شویم که همه مقادیر به طور پیش فرض بازنشانی شده اند.

مرحله 9: همه متغیرها در یک تصویر

همه متغیرها در یک تصویر
همه متغیرها در یک تصویر

در نهایت ، می توانید از این مورد برای بررسی اینکه آیا همه متغیرهای لازم را به درستی تنظیم کرده اید ، استفاده کنید.

حالا از بازی Hangman in Morse لذت ببرید!

توصیه شده: