فهرست مطالب:
- مرحله 1: اتصال دکمه های کنترل به آردوینو
- مرحله 2: کدگذاری Arduino Leonardo:
- مرحله 3:
- مرحله 4:
- مرحله 5:
- مرحله 6:
- مرحله 7:
- مرحله 8: کدگذاری جنبش در وحدت:
- مرحله 9:
- مرحله 10:
- مرحله 11:
- مرحله 12:
- مرحله 13:
- مرحله 14: اتصال چراغ ها به آردوینو
- مرحله 15: برنامه نویسی Arduino Uno
- مرحله 16:
- مرحله 17:
- مرحله 18: کدگذاری چراغهای وحدت سمت:
- مرحله 19:
- مرحله 20:
- مرحله 21:
- مرحله 22:
- مرحله 23:
- مرحله 24:
تصویری: کنترل کننده بازی آردوینو با چراغ هایی که به بازی Unity شما پاسخ می دهند :: 24 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
ابتدا این مورد را در word نوشتم. این اولین بار است که از دستورالعمل آموزشی استفاده می کنم ، بنابراین هر زمان که می گویم: کد را بنویسید تا بدانید که من به تصویر بالای آن مرحله اشاره می کنم.
در این پروژه من از 2 آردوینو برای اجرای 2 بیت مجزا از کد استفاده می کنم ، زیرا در کار با آن فقط با یکی مشکل داشتم
اینها Uno و Leonardo هستند
در مجموع این چیزی است که شما به آن نیاز دارید تا این پروژه را باندرد کنید.
· 7 دکمه فشاری
· 23 سیم جامپر
· 1 arduino Leonardo + کابل usb
· 4 مقاومت · 4 led’s
· 1 arduino uno + کابل USB
· 2 تخته نان
مرحله 1: اتصال دکمه های کنترل به آردوینو
آنچه برای اتصال این بخش به آن نیاز دارید:
· 7 دکمه فشاری
· 14 سیم بلوز
· 1 arduino Leonardo + کابل usb
· تخته نان
اتصال دکمه ها بسیار ساده است اما می تواند به سرعت برای نمایش در شکل تصویر به هم ریخته شود.
· ابتدا دکمه های فشار را در موقعیت هایی که در تصویر بالا مشخص کرده ام قرار دهید.
· در مرحله دوم شما می خواهید یک جهنده از شکاف زمینی روی آردوینو لئوناردو را به ردیف منفی تخته نان وصل کنید.
· حالا شما از هر نقطه ای که در ردیف منفی قرار دارد ، پرش کننده ها را به ردیفی که با پین سمت راست دکمه فشار می دهد متصل می کنید. این قدرت را به آن تغذیه می کند
· سپس می خواهید یک سیم جامپر را از ردیفی که با پین سمت چپ دکمه فشاری شما مطابقت دارد به شکاف های ورودی دیجیتال لئوناردو وصل کنید. برای دکمه های اینجا من از شکاف 2 - 3 - 4 - 5 - 6 - 7- 8 استفاده کردم
من فقط سیم ورودی 8 را روی تصویر نشان دادم ، زیرا یک تصویر بسیار کثیف می شود که همه سیم ها را از یکدیگر عبور می دهد.
مرحله 2: کدگذاری Arduino Leonardo:
بنابراین دلیل اینکه من از لئوناردو برای این کار استفاده می کنم را به شما بگویم. به این دلیل که دارای تراشه خاصی است که Uno ندارد و باعث می شود کامپیوتر آن را به عنوان یک دستگاه ورودی usb تشخیص دهد. بسیار شبیه به صفحه کلید. این به ما امکان می دهد کاری را انجام دهیم که زندگی ما را به عنوان برنامه نویس این پروژه بسیار آسان تر می کند. شبیه سازی صفحه کلید ما قصد داریم کامپیوتر را فریب دهیم که فکر می کنیم وقتی در واقع دکمه های کنترل خود را فشار می دهیم ، کلیدهای خاصی را روی صفحه کلید فشار می دهیم.
حالا من قدم به قدم فکر می کنم راه می روم.
ابتدا از بالا به بالا Keyboard.h را وارد می کنیم. این به ما امکان می دهد از توابع صفحه کلیدی که قرار است در کد خود استفاده کنیم استفاده کنیم.
مرحله 3:
سپس باید شکاف های ورودی دیجیتال را که قرار است در آن استفاده کنیم ، تعریف کنیم
لئوناردو برای هر دکمه
من همچنین نام هر کدام را بر اساس کلیدی که می خواهم از آن تقلید کنم ، نامگذاری کرده ام.
مرحله 4:
از آنجا وارد تابع راه اندازی می شویم. این به
arduino هنگام راه اندازی چه می کند
ابتدا Serial.begin را می نویسیم که پورت سریال را باز می کند و سرعت داده را روی 9600 bps تنظیم می کند
و ما همه پین های نامگذاری شده را ورودی تعریف می کنیم.
مرحله 5:
و در نهایت ما تابع حلقه خود را می نویسیم که بررسی می کند آیا
دکمه ها فشرده می شوند و به arduino می گویند که چگونه به آن پاسخ دهد.
ابتدا Keyboard.begin را می نویسیم که به arduino می گوید که باید با استفاده از عملکردهای صفحه کلید مراقب ما باشد
مرحله 6:
سپس برای هر دکمه یک دستور if/else می نویسیم که به این شکل است
بنابراین چیزی که در اینجا به arduino گفتم این است: اگر دکمه سمت چپ من روی کنترلر فشار می یابد ، کامپیوتر را مجبور کنید فکر کنید که ما کلید "a" را فشار می دهیم و اگر اینطور نیست ، تصور کنید که ما کلید را رها کرده ایم.
شما اساساً این بلوک کد را برای هر دکمه روی کنترلر خود تکرار می کنید. با تغییرات برای هر متغیر و کلیدهایی که متغیر باید شبیه سازی شود
مرحله 7:
کلیدهایی که ما به رایانه گفتیم اینجا را فشار دهید W - A - S - D هستند که کلید آن است
تقریباً برای حرکت در بازی های رایانه ای و E-Q استاندارد هستند و فاصله ای که در این کد به عنوان "" دکمه هایی هستند که من برای برداشتن آنها استفاده می کنم-حذف و آتش زدن در بازی من شناخته می شوند. با خیال راحت اینها را به هر کلیدی که احساس می کنید برای بازی/کنترل کننده شما بهتر کار می کند ، تغییر دهید.
سپس در نهایت به arduino می گوییم که بررسی Keyboard.end را متوقف کند
مرحله 8: کدگذاری جنبش در وحدت:
ابتدا اجازه دهید به شما بگویم که من این را برای یک بازی دو بعدی می سازم
نمونه هایی که خواهید دید برای این منظور ساخته شده است. اگر شما در حالت سه بعدی کار می کنید ، عمدتا در جایی که من از vector2 استفاده می کنم ، از vector3 استفاده می کنید. زیرا شما باید نگران ابعاد اضافی حرکت در حالت سه بعدی باشید.
در حال حاضر دلیل استفاده از شبیه سازی صفحه کلید در قسمت آردوینو این است که Unity چیزی برای تشخیص کلیدهای صفحه کلید دارد که می توانیم از آن استفاده کنیم.
اگر پروژه خود را با وحدت باز کردید به Edit -> Project settings -> Input بروید. می توانید در بازرس خود مشاهده کنید که مدیر ورودی را فعال می کند. جایی که اگر روی Axes کلیک کنید ، می توانید مجموعه ای از نامهای ورودی را باز کنید که معمولاً برای کنترل کننده های رایانه مانند مواردی که ما در حال ساختیم استفاده می شود. دو ورودی که قصد استفاده از آنها را داریم افقی و عمودی هستند که اگر حدس زده اید W-A-S-D را بررسی کنید.
ابتدا می خواهید یک شیء در سلسله مراتب صحنه های وحدت خود بسازید که پخش کننده شما خواهد بود. در مورد من این پسر کوچک سرگرم کننده است. این می تواند هر آنچه شما نیاز دارید باشد ، اما من به منظور بازی من این شخص را ساختم.
مرحله 9:
شما می خواهید به این بازیکن 2 چیز بدهید. یک برخورد کننده جعبه 2 بعدی و
a Rigidbody 2d و آنها را ویرایش کنید تا مانند تصویر بالا باشد.
مرحله 10:
سپس می خواهید به پوشه پروژه های خود بروید و یک فایل ایجاد کنید
اسکریپت سی شارپ که من نام PlayerMovement را گذاشتم.
در این اسکریپت شما قصد دارید 2 متغیر را تعریف کنید. یک شناور عمومی که من آن را moveSpeed می نامم. که سرعت حرکت شما را تعیین می کند. و یک Rigidbody2D خصوصی که من آن را RigidPlayer می نامم. که به دنبال بازیکنان سختگیر شما خواهد بود.
فراموش نکنید که به ویرایشگر وحدت خود بروید و روی پخش کننده خود کلیک کنید و این اسکریپت جدید را با کشیدن آن به بازرس اضافه کنید و یک مقدار برای moveSpeed تعیین کنید.
مرحله 11:
اکنون در Start () خود می خواهید یک کار را انجام دهید و آن این است
مطمئن شوید RigidPlayer شما می تواند پرداخت کننده شما را به صورت دو بعدی پیدا کند. این کار را با خط کد زیر انجام می دهید:
مرحله 12:
سپس به سراغ بروزرسانی () می رویم. اینجا جایی است که داریم می رویم
برای حرکت بازیکن
ما این کار را با یک عبارت بسیار ساده if انجام می دهیم که به کلیدهای منفی و مثبت افقی (AD) و عمودی (SW) نگاه می کند و آن را به عنوان یک عدد اعمال می کنیم تا بدن سخت خود را 2 بعدی قرار دهیم تا بازیکن خود را به داخل فشار دهد. یک جهت این عدد در متغیر moveSpeed ضرب می شود.
مرحله 13:
در نهایت شما می خواهید مطمئن شوید که پخش کننده شما وقتی متوقف می شود
شما چیزی را فشار نمی دهید این کار را دوست دارید:
حالا اگر می خواهید از 3 دکمه دیگر خود برای هر کاری که با این دستور if انجام می دهید استفاده کنید: if (Input. GetKeyDown (Keycode. Space))
برای فاصله و حرف دیگر کلیدهایی را که انتخاب کرده اید برای کلیدهای دیگر قرار دهید.
مرحله 14: اتصال چراغ ها به آردوینو
·
آنچه برای اتصال این بخش به آن نیاز دارید:
· 9 سیم جامپر
· 4 مقاومت
· 4 عدد led
· 1 کابل arduino uno + usb
· تخته نان
اتصال چراغ ها از طریق Uno انجام می شود.
در نهایت مانند تصویر بالا به نظر می رسد:
شما مقاومت ها را به سمت بلند LED ها وصل می کنید. سپس یک بلوز را از شماره پین دیجیتال روی uno به مقاومت وصل می کنید. در این مورد من از اسلات پین دیجیتال 9 -10 -11 -12 استفاده کردم ، وقتی به کد چراغ ها می رسیم ، این اعداد مرتبط خواهند بود.
از آنجا می خواهید یک جهنده را از شکاف زمینی آردوینو Uno خود به نقطه روی تخته خود وصل کنید ، همانطور که با سیم سیاه روی تصویر بالا دیده می شود.
سپس می خواهید 4 پرش به سر کوتاه در انتهای کوتاه هر LED داشته باشید
مرحله 15: برنامه نویسی Arduino Uno
بسیار خوب ، ابتدا می خواهیم متغیرهای خود را دوباره تعریف کنیم
بنابراین ابتدا از کدام ورودی های دیجیتال برای چراغ های خود استفاده می کنیم. و ما قصد داریم یک کاراکتر به نام myCol [20] بسازیم
مرحله 16:
سپس در تنظیمات می خواهیم Serial.begin را دوباره انجام دهیم. همه LED های ما را روی خروجی بگذارید و همه آنها را هنگام راه اندازی خاموش کنید.
مرحله 17:
و در نهایت شما می خواهید تابع حلقه خود را بنویسید.
این امر باعث می شود تا زمانی که یکی از دو رویداد اتفاق می افتد ، آردوینو در هر داده ای که از طریق سریال وارد می شود بخواند. یا یک شخصیت تغذیه خط شناسایی می شود. این با lf مشخص می شود که روی 10 تنظیم شده است و اولین آرگومان است یا مقدار مشخصی از بایت در آن خوانده شده است. این سومین آرگومان است و برای این مثال فقط یک بایت تنظیم شده است. داده ها در متغیر myCol ذخیره می شوند که روی char و محدوده 20 تنظیم شده است. در readBytesUntil این دومین آرگومان است. یا راه دیگری برای توضیح آن Serial.readBytesUntil (terminatorCharacter ، buffer ، byteLimit) است ؛
و عبارات if از روشن شدن برخی چراغها هنگام وحدت سیگنال اطمینان حاصل می کند. در این حالت من 4 چراغ رنگ مختلف دریافت کردم ، بنابراین یکپارچه سازی g را برای روشن شدن LED سبز ، b برای روشن شدن LED آبی ، r برای روشن شدن LED قرمز و y برای روشن شدن LED زرد ، ارسال می کنم.
مرحله 18: کدگذاری چراغهای وحدت سمت:
قبل از اینکه به این موضوع بپردازیم ، ابتدا اوکی 2 چیز را در نظر بگیرید.
1. در برنامه کدنویسی آردوینو به Tool -> Port -> بروید و بررسی کنید که کد COM uno شما در کدام است. در مورد من COM3 آن (این در کد مهم خواهد بود)
2. در وحدت به ویرایش -> تنظیمات پروژه -> پخش کننده و سپس در بازرس بر روی سایر تنظیمات کلیک کنید و به سطح سازگاری Api بروید و آن را از زیرشبکه. NET 2.0 به. NET 2.0 تغییر دهید.
اوکی تمام شد وارد آن شویم.
روی سلسله مراتب خود راست کلیک کرده و روی Create empty کلیک کنید.
این یک شیء بازی خالی است که فقط در بازی شما وجود دارد تا یک اسکریپت برای ما نگه دارد. من این شیء را Init نامیده ام.
مرحله 19:
سپس به برگه پروژه های خود بروید و یک اسکریپت C# جدید ایجاد کنید
و آن را ارسال می نامند.
اولین کاری که انجام می دهید این است که این خطوط را در قسمت های استفاده شده از کد خود بنویسید:
با استفاده از System. IO. Ports ؛
با استفاده از System. Threading ؛
این باعث می شود تا بتوانیم از متغیر SerialPort استفاده کنیم
مرحله 20:
در این اسکریپت ما قصد داریم متغیرهای زیر را ایجاد کنیم. اکنون توجه داشته باشید که من COM3 را دریافت کردم ، ممکن است برای شما متفاوت باشد همانطور که در ابتدای این مرحله صحبت کردیم. اگر 3 را با عددی که برای شما گفته بود جایگزین کنید.
مرحله 21:
در ابتدا به اسکریپت می گوییم که از OpenConnection استفاده کنید
تابع که ما قصد داریم کمی در آن بنویسیم
به روز رسانی بیشتر یک آزمایش است تا هر چیزی ، اما اگر می خواهید آن را وارد کنید ، باید پیام های ارسال شده به وحدت را آزمایش کنید. شما می توانید صادقانه آن را نادیده بگیرید.
مرحله 22:
اکنون برای این تابع OpenConnection اوکی کنید. این فقط یک بزرگ است
دستور if/else که اتصال را باز نگه می دارد فقط آن را مانند نوشته کپی کنید و باید خوب باشید.
مرحله 23:
حالا از کد آردوینو به یاد داشته باشید که من آن را بررسی کردم
سیگنال هایی که وحدت برای آن ارسال می شود
خوب این جایی است که اتفاق می افتد در مورد من ، 4 چراغ به هم متصل شدم ، بنابراین 4 عملکرد بسیار ساده نوشتم. تنها کاری که آنها انجام می دهند این است که با آنها تماس می گیرند و نامه ای به آردوینو ارسال می کنند. هنگامی که آردوینو آن حرف را دریافت می کند ، نور مربوط به حرف فوق را روشن می کند.
مرحله 24:
شاید برای شما این سال پیش آمده باشد که چگونه می توانم اسم این را بگذارم
عملکرد؟ خوب این کار را با یک خط ساده در اسکریپت های دیگر c# که برای بازی خود استفاده می کنید انجام دهید. Sending. NameFunctionhere () ؛. به عنوان مثال در بازی من بازیکن وظیفه دارد 4 گوی رنگی را جمع آوری کند. بنابراین من یک اسکریپت کوچک نوشتم که مطمئن می شود وقتی به یکی نزدیک می شود و دکمه سمت راست را فشار می دهد ، آن را بر می دارد و این سیگنال را به آردوینو ارسال می کند که در این مورد ، گوی زرد برداشته شده است. برای اینکه بداند ، خوب باید LED زرد را روشن کنم:
شما می توانید این یک خط کد را در هر جایی که دوست دارید قرار دهید. اگر می خواهید با شروع بازی روشن شود ، آن را در تابع start قرار دهید. آیا می خواهید آن را روشن هنگامی که او می میرد آن را در عملکرد خود را برای مرگ بازیکنان. کمی آزمایش کنید من انتخاب می کنم که چراغ ها را به عنوان یک عنصر رابط کاربری خارج از بازی قرار دهم تا بتوانم گوی هایی را که باید جمع آوری کنید بدون بهم ریختن صفحه نمایش پیگیری کنم.
توصیه شده:
کنترل کننده بازی ریتم آردوینو (برای بازی خودم): 6 مرحله
Arduino Rhythm Game Controller (برای بازی خودم): در این برنامه آموزشی به شما نشان خواهم داد که چگونه می توانم این Rhythm Game Controller را از ابتدا بسازم. این شامل مهارت های اولیه نجاری ، مهارت های اولیه چاپ سه بعدی و مهارت های اولیه لحیم کاری است. اگر صفر سابق داشته باشید احتمالاً می توانید این پروژه را با موفقیت بسازید
کنترل کننده بازی مبتنی بر آردوینو - کنترل کننده بازی Arduino PS2 - بازی Tekken With DIY Arduino Gamepad: 7 مرحله
کنترل کننده بازی مبتنی بر آردوینو | کنترل کننده بازی Arduino PS2 | بازی Tekken With DIY Arduino Gamepad: سلام بچه ها ، بازی کردن همیشه سرگرم کننده است اما بازی با کنترلر بازی سفارشی DIY خود سرگرم کننده تر است. بنابراین ما در این دستورالعمل یک کنترلر بازی با استفاده از arduino pro micro ایجاد می کنیم
کنترل کننده بازی آردوینو + بازی یونیتی: 5 مرحله
Arduino Game Controller + Unity Game: در این قسمت آموزشی به شما نشان خواهم داد که چگونه یک کنترلر بازی arduino بسازید/برنامه ریزی کنید که می تواند به وحدت متصل شود
پروژه هایی که نور را تغییر می دهند: 5 مرحله
پروژه هایی که نور را تغییر می دهند: پروژه هایی که نور را تغییر می دهند پروژه ای بود که از همه دستگاه های متصل در اطراف ما الهام گرفته بود. اغلب اوقات ما نمی خواهیم هر زمان که یک دستگاه (یا چند مورد) نیاز به جلب توجه ما دارد صدای beep خاموش شود. چراغ ها راهی عالی برای حل
شبیه دشمن خود باشید: نشانه هایی ایجاد کنید که گیج کننده ، مبهوت کننده و تقلید کننده باشد!: 6 مرحله (همراه با تصاویر)
شبیه دشمن خود باشید: نشانه هایی ایجاد کنید که باعث گیج شدن ، حیرت و تقلید می شود !: در این مقاله آموزشی طراحی استتار را خواهید آموخت. در پروژه های گذشته ، من تکنیک های مختلفی را برای تقلید از علائم دولتی یا شرکتی اختصاص داده و اصلاح کرده ام. استفاده از روش هایی که در مراحل زیر بیان شده است به شما امکان می دهد به طور موقت