فهرست مطالب:
- مرحله 1: مرحله 1: سنسور فاصله
- مرحله 2: مرحله 2: موتور سروو
- مرحله 3: مرحله 3: LED RGB
- مرحله 4: مرحله 4: LCD
- مرحله 5: مرحله 5: کد
تصویری: بازی واکنش سریع: نسخه از راه دور: 5 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
سلام. این دستورالعمل نحوه ایجاد یک بازی است که هم زمان واکنش شما و هم حس فاصله را آزمایش می کند. این پروژه بر اساس یک پروژه قدیمی است که من با مشارکت دو بازیکن در مسابقه برای مشاهده زمان واکنش سریعتر با کلیک روی دکمه ای که چراغ سبز شد ، انجام شد. این دستگاه دارای هدف مشابهی است ، مگر اینکه تک نفره باشد و بجای اینکه چراغ خاموش شود ، به بازیکن فرصت داده می شود تا دست خود را در فاصله خاصی از سنسور فاصله قرار دهد.
مانند همه پروژه های آردوینو ، این بازی به قطعات الکتریکی متعددی در مدار آردوینو نیاز دارد. اجزای اصلی ، به غیر از سیم کشی و خود آردوینو ، شامل نان برد ، سرو موتور ، صفحه LCD ، LED RGB و سنسور فاصله است.
با استفاده از https://abra-electronics.com ، قیمت بدون سیم و آردوینو 32.12 دلار کانادا است.
مرحله 1: مرحله 1: سنسور فاصله
اولین قدم این است که سنسور فاصله اولتراسونیک را روی نان برد نصب کرده و آن را به آردوینو متصل کنید. موقعیت دقیق سنسور در واقع اهمیتی ندارد ، اما در حالت ایده آل نزدیک به یک لبه است به طوری که برای سایر اجزاء همانطور که در تصویر بالا نشان داده شده است فضا وجود دارد. چهار پین روی سنسور وجود دارد. GND ، VCC ، TRIG و ECHO. GND و VCC به ترتیب در زمین و ریل برق متصل می شوند و در دو پین دیگر به دو پین در آردوینو وصل می شوند. دو پین مورد استفاده من 12 عدد برای ECHO و 11 پین TRIG بود. از دو سیم دیگر برای تغذیه ریل برق استفاده کنید و با اتصال ریل قدرت به پین 5 ولت و ریل زمین به پین GND ، خط زمین را زمین کنید.
مرحله 2: مرحله 2: موتور سروو
مرحله بعدی راه اندازی سروو موتور است. در این پروژه ، سرو موتور به عنوان یک زمان سنج عمل می کند. از 1 درجه شروع می شود و در مدت زمانی که کاربر باید دستان خود را فاصله دهد ، به 180 درجه می چرخد. من از 2 ثانیه برای زمانی که کاربر می فهمد چقدر باید فاصله داشته باشد استفاده کردم ، بنابراین سروو در مدت 2 ثانیه 179 درجه می چرخد و در فواصل کوتاه می چرخد. سرو موتور دارای سه سیم است. معمولاً زرد ، قرمز و قهوه ای است. قرمز رنگ وارد ریل برق می شود که قبلاً به 5V متصل شده است ، و قهوه ای به ریل زمینی که قبلاً به GND وصل شده است می رود. سیم نهایی به پین آردوینو متصل می شود. من پین شماره 9 را برای این مورد انتخاب کردم. سپس ، شما نیاز به یک خازن دارید که همان ریل را که سیم سروو موتور و سیم زمین را به آن متصل کرده است ، وصل کنید ، همانطور که در تصویر بالا مشاهده می کنید.
مرحله 3: مرحله 3: LED RGB
عملکرد LED در این حالت این است که به عنوان مقیاسی برای نمره عمل کند. وقتی نمره بازیکن حدود 0 باشد ، LED سفید می شود و اگر امتیاز بازیکن پایین بیاید قرمز می شود و اگر امتیاز بازیکن بالا رود سبز می شود. این LED دارای چهار پایه است. یک پای قرمز روشن ، یک پای آبی روشن ، یک پای سبز روشن و یک کاتد مشترک بین سه پایه دیگر. کاتد معمولی ، طولانی ترین پا ، به ریل برق متصل شده است ، بنابراین 5 ولت دریافت می کند. مقاومتهای 330 اهم را به سه پایه رنگی دیگر وصل کنید و انتهای دیگر آن مقاومتها را به پین های دیجیتالی PWM در آردوینو وصل کنید. پین های دیجیتالی 3 ، 5 و 6 برای پاهای قرمز ، سبز و آبی به ترتیب استفاده کردم.
مرحله 4: مرحله 4: LCD
جزء نهایی LCD است که مخفف نمایشگر کریستال مایع است. هدف از این کار این است که به بازیکن نمره فعلی خود و همچنین فاصله ای که برای فاصله گرفتن دست از سنسور نیاز دارد ، بگوید. در اینجا چهار پین وجود دارد. GND ، VCC ، SDA و SCL. GND و VCC به ترتیب در زمین و ریل های برق ورق نورد سیم کشی می شوند. پین SDA باید به پین آنالوگ A4 متصل شود و پین SCL باید به پین آنالوگ A5 متصل شود. برخلاف سایر اجزاء ، باید پین های SDA و SCL را به A4 و A5 وصل کنید.
مرحله 5: مرحله 5: کد
اکنون که همه اجزا را سیم کشی کرده ایم ، می توانیم کد را بنویسیم. اولین قسمت کد وارد کردن کتابخانه های لازم و اعلام متغیرهای ما و قطعاتی است که قطعات به آنها وصل شده است. ما باید کتابخانه های Wire ، LiquidCrystal_I2C و Servo را برای این کد وارد کنیم.
#عبارتند از
#عبارتند از
#عبارتند از
Servo myServo؛
int const trigPin = 11؛
int const echoPin = 12؛
int redPin = 3 ؛
int greenPin = 5؛
int bluePin = 6؛
نمره int = 0 ؛
int tim = 500؛
جریان فعلی = تصادفی (8 ، 16) ؛ // مقدار تصادفی جایی که کاربر باید دست خود را از سنسور فاصله دهد
LiquidCrystal_I2C ال سی دی (0x27 ، 16 ، 2) ؛ // تنظیم LCD
اکنون باید از void setup () برای اعلام انواع پین خود و تنظیم سایر اجزای ضروری استفاده کنیم.
void setup () {myServo.attach (9)؛ Serial.begin (9600)؛ pinMode (trigPin ، OUTPUT) ؛ pinMode (echoPin ، INPUT) ؛ pinMode pinMode (redPin ، OUTPUT) ؛ pinMode (greenPin ، OUTPUT) ؛ pinMode (bluePin ، OUTPUT) ؛ lcd.init ()؛ lcd.lightlight ()؛ lcd.begin (16 ، 2) ؛ lcd.clear ()؛ // تنظیم LCD}
اکنون باید کد LED RGB را با استفاده از یک تابع و PWM تنظیم کنیم:
void setColor (قرمز قرمز ، سبز سبز ، آبی آبی) {
قرمز = 255 - قرمز ؛
سبز = 255 - سبز ؛
آبی = 255 - آبی ؛
analogWrite (redPin ، قرمز) ؛
analogWrite (greenPin ، سبز) ؛
analogWrite (bluePin ، آبی) ؛
}
حالا باید حلقه void () را اضافه کنیم. در اینجا ، ما قصد داریم اعداد صحیح تصادفی تولید کرده و از یک سری دستورات if برای کنترل بازی برای بازیکن استفاده کنیم. متغیر فعلی ، که در بالا تنظیم شده است ، برای فاصله فعلی است که بازیکن باید از سنسور فاصله بگیرد.
از آنجا که کد موجود در حلقه void () بسیار طولانی است ، من پیوندی را به سندی که دارای آن کد است می چسبانم:
docs.google.com/document/d/1DufS0wuX0N6gpv…
در نهایت ، ما باید محاسبات واقعی را برای تبدیل مقادیر سنسور فاصله اولتراسونیک به اینچ انجام دهیم. سنسور فاصله مافوق صوت به طور مستقیم فاصله را اندازه گیری نمی کند. این صدا را آزاد می کند و زمان لازم برای دریافت سنسور را برای بازگرداندن صدا از هر جسمی که از آن خارج می شود ، ضبط می کند.
میکرو ثانیه طولانی Toonch (میکرو ثانیه طولانی) {
ریز ثانیه بازگشت / 74 /2 ؛
}
حالا آردوینو سیمی را با کد به رایانه وصل می کنیم ، پورت ها را راه اندازی می کنیم و آن را اجرا می کنیم! دو حالت برای این بازی وجود دارد. در هر صورت فقط می توانید از صفحه LCD ، سروو موتور ، سنسور و LED RGB استفاده کنید و فقط فاصله ای را که باید از سنسور فاصله بگیرید ، که حالت سخت تر است ، می دانید. حالت راحت تر شامل استفاده از مانیتور سریال در Tools> Serial Monitor است که هر ثانیه شما را در مورد فاصله شما با سنسور به روز می کند ، بنابراین می توانید تنظیمات لازم را انجام دهید.
ممنون که خواندید!
توصیه شده:
روی Tap Rainbow - a 2 Player بازی واکنش سریع ضربه بزنید: 4 مرحله (همراه با تصاویر)
Tap Tap Rainbow - a 2 Player بازی واکنش سریع: 2 هفته پیش دخترم ایده ای نابغه ای داشت که یک بازی واکنش سریع با رنگ های رنگین کمان بسازد (او متخصص رنگین کمان است: D). من فوراً این ایده را دوست داشتم و ما شروع به فکر کردیم که چگونه می توانیم آن را به یک بازی واقعی تبدیل کنیم. ایده این بود. شما رنگین کمان در
ESP8266 - سوکت کنترل از راه دور و از راه دور (امنیت سالمندان): 6 مرحله
ESP8266 - سوکت کنترل از راه دور و از راه دور (امنیت سالمندان): اطلاعات: این مونتاژ در صورت فراموشی وسایل وصل شده (عمدتا توسط افراد مسن مبتلا به آلزایمر) به منظور جلوگیری از گرم شدن بیش از حد ، آتش سوزی و حوادث است. پس از فعال شدن دکمه ، سوکت 110/220 VAC را به مدت 5 دقیقه دریافت می کند (دیگری
کنترل از راه دور جهانی از راه دور با Node-MCU: 12 مرحله
کنترل از راه دور جهانی با Node-MCU: سلام به همه و به این پروژه خوش آمدید! من یک شخص تنبل هستم و کابوس یک تنبل این است که وقتی متوجه می شوید که راه دور خیلی دور است ، تلویزیون تماشا کنید! متوجه شدم که اگر ریموتم را در دست داشته باشم هرگز خیلی دور نخواهد بود
راه دور IR خود را به RF از راه دور تبدیل کنید: 9 مرحله (همراه با تصاویر)
راه دور IR خود را به RF Remote تبدیل کنید: در دستورالعمل امروز ، به شما نشان خواهم داد که چگونه می توانید از یک ماژول RF عمومی بدون میکروکنترلر استفاده کنید که در نهایت ما را به ساخت پروژه ای می رساند که در آن می توانید یک IR Remote از هر دستگاه را به RF تبدیل کنید. از راه دور. مزیت اصلی تبدیل یک
انتشار کابل از راه دور Olympus Evolt E510 (نسخه 2 با فوکوس خودکار از راه دور): 6 مرحله (همراه با تصاویر)
انتشار کابل از راه دور Olympus Evolt E510 (نسخه 2 با فوکوس خودکار از راه دور): دیروز من یک دکمه ساده با یک دکمه برای Olympus E510 خود ساختم. اکثر دوربین ها دارای دکمه شاتر هستند (آن را برای گرفتن عکس فشار می دهید) که دارای دو حالت است. اگر دکمه به آرامی فشار داده شود ، دوربین فوکوس خودکار کرده و نور را اندازه گیری می کند