فهرست مطالب:

Test Bare Arduino ، با نرم افزار بازی با استفاده از ورودی خازنی و LED: 4 مرحله
Test Bare Arduino ، با نرم افزار بازی با استفاده از ورودی خازنی و LED: 4 مرحله

تصویری: Test Bare Arduino ، با نرم افزار بازی با استفاده از ورودی خازنی و LED: 4 مرحله

تصویری: Test Bare Arduino ، با نرم افزار بازی با استفاده از ورودی خازنی و LED: 4 مرحله
تصویری: Marlin Firmware 2.0.x Explained 2024, جولای
Anonim
Test Bare Arduino ، با نرم افزار بازی با استفاده از ورودی خازنی و LED
Test Bare Arduino ، با نرم افزار بازی با استفاده از ورودی خازنی و LED
Test Bare Arduino ، با نرم افزار بازی با استفاده از ورودی خازنی و LED
Test Bare Arduino ، با نرم افزار بازی با استفاده از ورودی خازنی و LED

بازی تعاملی "Push-It" با استفاده از یک برد آردوینو بدون نیاز به قطعات خارجی یا سیم کشی (از ورودی لمسی خازنی استفاده می کند). در بالا نشان داده شده است ، نشان می دهد که روی دو تخته مختلف اجرا می شود.

فشار-دو هدف دارد.

  1. برای نشان دادن سریع/تأیید اینکه برد Arduino شما کار می کند و به درستی تنظیم شده اید تا یک طرح کد جدید را در آن بارگیری کنید. شما قادر خواهید بود ببینید که ورودی و خروجی را انجام می دهد (سطح ورودی دیجیتال را حس کنید ، خروجی به LED روی صفحه). ذخیره و بازیابی مقدار از حافظه EEPROM غیر فرار. همه بدون اتصال سیم یا دستگاه.
  2. ارائه یک بازی سرگرم کننده و چالش برانگیز با یک برد آردوینو.

این فرض بر این است که شما قبلاً Arduino IDE را نصب کرده اید و حداقل با استفاده از آن حداقل آشنایی دارید. در غیر اینصورت شما را به این پیوندها ارجاع می دهم:

شروع کار با آردوینو

افزودن پشتیبانی Digispark (با بوت لودر) به Arduino 1.6.x IDE موجود

Push-It با اکثر بردهای آردوینو کار می کند ، به عنوان مثال. یک برد Nano ، Uno ، یا DigiSpark Attiny85. من آن را با Nano 3.1 و DigiSpark آزمایش کرده ام. در متن وقتی به نام/شماره پین ها اشاره می کنم ، همانطور که در برد نانو استفاده می شود (برخلاف DigiSpark) استفاده می شود.

مرحله 1: داشتن موارد مورد نیاز

که به سادگی هر برد آردوینو یا قابل مقایسه است.

اگر قبلاً آن را ندارید ، توصیه می کنم با DigiSpark Pro (~ 12 دلار) یا Nano 3.0 از eBay با قیمت 3 پوند شروع کنید (اما یک یا دو هفته دیگر زمان دارید تا منتظر ورود آن از چین باشید. ؛ و شما باید یک درایور USB CH340 را نصب کنید). DigiSpark 10 10 دلار (غیرحرفه ای) برای این بازی تک بیتی "ویدیویی" بسیار مناسب است (این واحد جدا شده ، تنها 6 ورودی/خروجی دارد ، بارگذاری آن کمی پیچیده تر است)

پیوندهایی به سخت افزار مورد استفاده در اینجا:

نانو V3.0 Atmega328P در eBay

برد توسعه USB Digispark

مرحله 2: واکشی و بارگیری کد

واکشی و بارگیری کد
واکشی و بارگیری کد

کد زیر را در یک فایل طرح آردوینو کپی کنید (به عنوان مثال…/Push_It/Push_It.ino) من سعی کردم کاملاً در مورد آن نظر دهی کنم. امیدوارم این کد به راحتی قابل درک باشد. منطق تعیین زمان افزایش ، کاهش و زمان عدم افزایش تا حدودی پیچیده است ، اما آن قسمت نیز کد تخصصی است و کاربرد چندانی ندارد. برای جزئیات بیشتر در مورد راه اندازی یک "طرح" (پروژه کد) جدید با IDE آردوینو را ببینید:

ایجاد طرح جدید آردوینو

مطابق دستورالعمل Arduino IDE برای برد خود ، طرح "Push_It" را در میکروکنترلر ما بارگیری کنید.

مرحله 3: بازی کردن

بازی کردن
بازی کردن

هدف بازی این است که LED (روی صفحه) تا حد امکان در مجموعه ای از چشمک زدن چشمک بزند که سپس تکرار می شود

انجام بازی:

Push-It با یک فلاش شروع می شود ، که دوباره تکرار می شود. اگر انگشت خود را در نزدیکی پین ورودی در حالی که LED روشن است لمس کنید ، چرخه بعدی LED را دوبار چشمک می زند.

هر بار که دکمه شبه را فشار می دهید در اولین فلاش مجموعه ای از فلاش ها ، یک فلاش دیگر به آن مجموعه اضافه می شود. به طور کلی مهم نیست که انگشت خود را بردارید یا بردارید.

اما اگر قبل یا بعد از اولین فلاش "فشار" دهید تعداد فلاش ها در یک مجموعه کاهش می یابد.

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

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

هنگامی که واحد خود را به حداکثر تعداد فلش رساندید ، می توانید آن را (یا ارسال کنید ، که DigiSpark برای آن مناسب است) به یکی از دوستان خود ارسال کنید ، جایی که پس از وصل کردن آن می بینید که تعداد فلش خود را چقدر بالا برده اید به. دریافتن آن تا بیش از 8 کار دشواری است. با یک دکمه واقعی متصل شده ، موفق شده ام آن را تا بیش از یک دوجین دریافت کنم. برای بازگشت مجدد به تعداد پایین تر ، می توانید آن را در هر زمان قبل یا بعد از اولین چشمک زدن فشار دهید. همچنین اگر پین ورودی را در حین روشن شدن برق به زمین بکشید ، شمارش به 1 تنظیم می شود.

توجه داشته باشید که صفحه اصلی DigiSpark 10 ثانیه پس از روشن شدن تاخیر دارد و قبل از آن شروع به اجرای کد "Push-It" و بازی می کند. از این زمان استفاده می کند تا از طریق پین های USB صحبت کند تا بتواند به روز رسانی احتمالی کد بارگیری جدید را دریافت کند.

اگر برد آردوینو که استفاده می کنید دارای LED USB TX باشد ، این LED هنگامی که دکمه را به طور موثر فشار داده اید دارای یک فلاش کوچک سریع می شود. هنگامی که مقدار شمارش در EEPROM با مقدار جدیدی به روز شود ، چشمک زن قابل توجه تری خواهد بود. این بازخورد می تواند به شما در شناخت زمان یا اطمینان از اینکه شما به طور موثر یک رویداد "فشار داده" را فعال کرده اید کمک کند. ممکن است لازم باشد اطمینان حاصل کنید که زمین را لمس نمی کنید (مانند فلز اطراف کانکتور میکرو USB) تا شکل شما در واقع سر و صدا را به پین ورودی باز کند. به دلیل این واقعیت که پین ورودی شناور است (توسط بار رسانا/مقاومتی به بالا یا پایین کشیده نمی شود) و نویز سیگنال متغیر از انگشت شما عبور می کند ، چالش های اضافی و تا حدی غیرقابل پیش بینی وجود خواهد داشت.

یک موج مربعی 250 هرتز به یک پین در کنار پین ورودی منتقل می شود که وقتی انگشت شما هر دو پین را می پوشاند ، اطمینان سیگنال ورودی تزریق شده را تا حد زیادی بهبود می بخشد.

به نظر من پاسخ هیئت مدیره DigiSpark با فشار دادن کمی انگشتان به گوشه تخته که D3-D5 در آن قرار دارد ، به طور مداوم قابل پیش بینی است.

وقتی "Push-It" را بازی می کنم ، دوست دارم این کار را با برد متصل به پکیج باتری USB 5v موبایل انجام دهم (عکسها را ببینید). عموماً می توان آنها را ارزان در سطل های کنار آداپتورهای USB AC و 12 ولت پیدا کرد. در اکثر فروشگاه های بزرگ بخش الکترونیک.

مرحله 4: آزمایش های اختیاری با اجزای خارجی

آزمایش های اختیاری با اجزای خارجی
آزمایش های اختیاری با اجزای خارجی

لطفاً توجه داشته باشید: اگر یک دکمه واقعی را ضمیمه کنید ، یک خط کد وجود دارد که باید همانطور که در کد ذکر شده است کامنت شود.

با بلندگو ، یک طرف به زمین ، اگر سر دیگر را به D4 لمس کنید ، صدای موج مربع 250 هرتز را می شنوید. در D3 موج مربعی 500 هرتز وجود دارد. اگر اسپیکر را بین D3 و D4 متصل کنید ، ترکیبی از دو سیگنال را می شنوید.

اتصال LED به جای بلندگو در بالا بسیار جالب است. نیازی به نگرانی در مورد ولتاژ ، سطح جریان ، مقاومت یا حتی قطبیت نیست (در موارد بدتر روشن نمی شود ، سپس آن را بچرخانید). سعی کنید اولاً سیم منفی (کاتد) به زمین و دیگری به D3 یا D4 متصل باشد. چراغ به دلیل امواج مربعی "نصف" روشن می شود. بعلاوه هیچ مقاومتی مورد نیاز نیست زیرا خروجی MicroControllerUnits در حال حاضر محدود است. اندازه گیری های فعلی را به ترتیب 15ma و 20ma برای MCU های Attiny85 و Atmega328 انجام دادم. این سطوح به دلیل چرخه کاری 50٪ سیگنالهای موج مربع محرک ، تقریباً نصف مقدار محدود فعلی این قسمتها هستند. قرائت کنتور در واقع میانگین جریان موجود در مدار آزمایش شده است.

جالب اینجاست که اگر بین LED و D3 و D4 با LED پیوند بزنید (تصویر بالا و سمت چپ را ببینید) به هر دو صورت روشنایی می یابد و در حدود ½ روشنایی را با یک طرف متصل به زمین نشان می دهد. شما را دعوت می کنم تا در مورد علت فکر کنید.

توصیه شده: