فهرست مطالب:

LED Strip Atari Pong ماشین بازی: 8 مرحله
LED Strip Atari Pong ماشین بازی: 8 مرحله

تصویری: LED Strip Atari Pong ماشین بازی: 8 مرحله

تصویری: LED Strip Atari Pong ماشین بازی: 8 مرحله
تصویری: بازسازی کنسول بازی ATARI 2600 VCS Vintage | Retro Repair Guy قسمت 30 2024, نوامبر
Anonim
LED بازی نوار آتاری پنگ ماشین بازی
LED بازی نوار آتاری پنگ ماشین بازی

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

در این مقاله آموزشی به شما نشان خواهم داد که چگونه می توانید یک بازی آتاری پنگ با سبک یکپارچهسازی با سیستمعامل را در داخل یک محوطه بازی یکپارچهسازی با سیستمعامل بسازید. شما می توانید ویدئوی فوق را برای نمایشی از پروژه مشاهده کنید ، همچنین می توانید پروژه تمام شده و کیس را به تنهایی و در دو تصویر مشاهده کنید. در پایان این دستورالعمل عمیق تر به کد و نحوه ویرایش آن برای شخصی سازی آن می پردازم.

لیست قسمتهای اصلی به بخشهایی تقسیم می شود: ابزارها ، قطعات مونتاژ و اجزا

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

- مته

- آهن لحیم کاری

- پیچ گوشتی (مطابقت با پیچ هایی که تصمیم دارید از آنها استفاده کنید)

- چند متر

- اره گردان ، اره نواری یا برش لیزری به شما دسترسی دارد

برش یا قیچی

- تفنگ چسب دار

قطعاتی که برای مونتاژ به آنها نیاز دارید شامل می شود

- چسب چوب

- 10 بلوک یک اینچ در اینچ چوب

- ورق بزرگ چوب لایه چهارم اینچی یا چوب دلخواه

- 24 پیچ به طول نیم اینچ

- 14 6. 6.5 اینچ پلاستیک پخش کننده led (اختیاری)

- نوار برقی قرمز و آبی

اجزای مورد نیاز شما عبارتند از:

- 2 پتانسیومتر 100 کیلو اهم

- 8 متر نوار LED قابل آدرس دهی جداگانه (30 led در هر متر)

www.amazon.ca/ALITOVE-WS2812B- به صورت جداگانه- Addressable-Waterproof/dp/B018XAELE4/ref=sr_1_1؟s=hi&ie=UTF8&qid=1535323567&sr=1-

- چندین متر سیم یا چند رنگ سیم

- آداپتور برق AC به DC که خروجی 6 ولت را از طریق دوشاخه جک بشکه ای خارج می کند

- 1 آردوینو Uno R3

اگر به Arduino Uno R3 مانند من دسترسی ندارید ، می توانید یکی را بسازید که من در این پروژه از پردازنده atmel328-pu استفاده می کنم. این پیوند را دنبال کنید تا نحوه ساختن https://www.instructables.com/id/How-to-make-your-own-Arduino-board/ خود را یاد بگیرید.

اگر از arduino uno استفاده می کنید ، مرحله یک را ادامه دهید.

مرحله 1: ایجاد آرایه LED

ساخت آرایه LED
ساخت آرایه LED
ساخت آرایه LED
ساخت آرایه LED
ساخت آرایه LED
ساخت آرایه LED

این مرحله به دلیل تمام لحیم کاری که باید انجام دهید ، ساده ترین مرحله زمانبر است.

-برای شروع به یک قطعه چوب 10 3/4 اینچی در 6 1/2 اینچی نیاز دارید.

-یکبار چوب خود را داشته باشید ، نوار Led خود را بگیرید و 26 قطعه را در هر 10 led یا هر 6 1/2 اینچ برش دهید.

پس از برش قطعات ، آنها را به صورت عمودی به چوب بچسبانید ، مانند تصاویر زیر که در تصویر اول بالا نشان داده شده است.

-زمانی که نوارها را چسباندید و اجازه دادید جا بیفتند ، لحیم کاری را شروع می کنیم.

شما به سه سیم رنگ مختلف نیاز دارید

باید با تمام اتصالات مثبت به یک سیم و همه منفی با یک سیم وصل شود ، در حالی که آخرین سیم نوارهای LED را به هم وصل می کند. تصاویر دوم در ابتدای این مرحله ، نمودار است که نحوه اتصال سیم ها را به شما نشان می دهد.

-در نهایت پس از لحیم کاری آنها را به سادگی یک نوار برق را بر روی اتصالات لحیم کاری خود با رنگهای مربوطه بپیچید. همانطور که در تصویر سوم بالا نشان داده شده است.

-در نهایت ما به آردوینو متصل می شویم. ورودی دیجیتالی یا سیم میانی شما به ورودی دیجیتال 6 پین و زمین و مثبت شما به ریل های مثبت و منفی روی برد متصل می شود.

مرحله 2: Paddle Controls

کنترل های دست و پا زدن
کنترل های دست و پا زدن
کنترل های دست و پا زدن
کنترل های دست و پا زدن
کنترل های دست و پا زدن
کنترل های دست و پا زدن

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

وقتی سیم ها را لحیم کردید ، آنها را به آردوینو متصل می کنیم. شما مثبت و منفی به بارانهای مثبت و منفی مربوطه متصل می شوید. سیمهای خروجی روی پتانسیومترها به ورودی های مختلف آردوینو متصل می شوند. یکی به پلاگین (A0) و دیگری به پلاگین (A1) متصل می شود.

مرحله 3: برش قاب

برش مورد
برش مورد
برش مورد
برش مورد
برش مورد
برش مورد
برش مورد
برش مورد

این قسمت ابعاد و زوایای مورد نیاز برای برش را به شما می دهد

**** بسیار مهم ***** مطمئن شوید که چوب شما یک چهارم اینچ ضخامت دارد (1/4 اینچ)

همچنین هنگام برش قطعات ، به یاد داشته باشید که قطعات خود را برچسب بزنید

قسمت اصلی که باید برش داده شود برچسب پایین ، پشت ، بالا ، جلو بالا ، جلو پایین…. در تصاویر در ابتدا نشان داده شده است

ابعاد قطعات

- پایین: 13 3/4 اینچ X 10 1/4 اینچ

- پشت: 13 3/4 اینچ X 15 1/2 اینچ

- بالا: 13 3/4 اینچ X 6 1/2 اینچ

- قسمت جلویی: 13 3/4 اینچ X 4 1/4 اینچ

- صفحه شماره گیری: 13 3/4 اینچ X 6 اینچ

- قسمت داخلی: 13 3/4 اینچ X 3 1/4 اینچ

- نمای جانبی LED: 6 1/4 اینچ X 1 اینچ (دو عدد از آنها را برش دهید)

- LED داخلی داخلی: 13 1/4 اینچ X 4 1/2 اینچ

- پنل LED داخلی: 13 1/4 اینچ X 9 اینچ

- بلوک: 1 اینچ X 1 اینچ X 1 اینچ (برش 10 بلوک)

- پانل اکریلیک: 13 3/4 اینچ X 6 1/2 اینچ

تصاویر بالا زوایا و ابعاد قسمت پانل کناری را به شما نشان می دهد. همچنین شما باید دو قسمت از این قسمت را برش دهید

مرحله 4: مونتاژ مورد

مونتاژ مورد
مونتاژ مورد
مونتاژ مورد
مونتاژ مورد
مونتاژ مورد
مونتاژ مورد

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

-اولین کاری که می خواهیم انجام دهیم جمع آوری کیس است. اینجاست که تمام چوب های برش خورده شما از مرحله قبل به کار می آید.

برای شروع مونتاژ ، به 4 بلوک چوبی 1x1x1 پایه ، دو پانل جانبی ، پشت و پایین جلو نیاز داریم. 4 بلوک را در هر گوشه پایین قرار دهید و یک چهارم اینچ بین لبه و بلوک بگذارید ، همانطور که در تصویر دوم در شروع مرحله نشان داده شده است.

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

-بعد ما پانل های جانبی را روی آن قرار می دهیم. پانل ها را در فاصله یک چهارم اینچی در طرف بیرونی بلوک قرار دهید. یک سوراخ آزمایشی را از طریق پانل کناری و بلوک چوبی ایجاد کرده و پانل ها را پیچ کنید. برای طرف دیگر نیز این کار را تکرار کنید.

-پس از تکمیل تابلوهای جانبی. پنل جلویی پایین را روی آن قرار می دهیم. پانل را با قسمت پایینی قرار دهید و طرفین سوراخ های خلبان را در بلوک ها ایجاد کرده و پانل را پیچ کنید.

-در نهایت ما دوباره پشت سر می گذاریم. همان کاری را که در قسمت جلویی پایین انجام دادید انجام دهید و دوباره شما را به عقب وصل کنید.

-در این مرحله شما باید پایه ای داشته باشید و از نحوه جمع آوری این مورد مطلع باشید.

این قسمت بعدی به دلیل این واقعیت که شما با منطقه کوچکتری کار می کنید کمی چالش برانگیز است. برای شروع به تمام قسمتهای بالا و 6 بلوک نیاز داریم.

-آنچه را که تاکنون ساخته اید در پشت آن قرار دهید و بلوک ها را در گوشه ها یک چهارم اینچ از بالا قرار دهید. (همانطور که در تصویر سوم در ابتدا نشان داده شده است)

-سوراخ های خلبان را برای کناره ها و عقب سوراخ کنید و آنها را پیچ کنید.

-حالا ما بقیه قسمتهای بالا را جمع آوری می کنیم

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

-این قسمت لانه کمی مشکل است. شما به پنل جلویی بالا و دو بلوک پایانی خود نیاز دارید. ابتدا یک پنل را در بلوک های قبلی از طریق پنل جلویی خود در بلوک های قبلی ایجاد کرده و آن را پیچ کنید. حالا دو بلوک نهایی را ببرید و آنها را در گوشه ای قرار دهید و پانل کناری و پنل جلویی خود را به بلوک ها پیچ کنید. یکبار دیگر قاب را وارونه کرده و قسمت داخلی داخلی را روی بلوک قرار دهید و آن را پیچ کنید.

-شما باید چیزی شبیه به این داشته باشید (در تصویر اول این مرحله نشان داده شده است)

مرحله بعدی بقیه مجمع را توضیح می دهد.

مرحله 5: اتمام مجمع

اتمام مجمع
اتمام مجمع
اتمام مجمع
اتمام مجمع
اتمام مجمع
اتمام مجمع

در این مرحله شما تقریباً پرونده را تکمیل کرده اید و فقط چند کار را باید انجام دهید و به پایان خواهید رسید.

اکنون تنها چیزی که باقی مانده نصب تجهیزات الکترونیکی است.

-ما ابتدا با سوراخ کردن پانل صفحه شماره گیری خود برای پتانسیومتر خود شروع می کنیم. با خیال راحت سوراخ هایی را در جایی که احساس می کنید راحت است انجام دهید. در مورد من ، من سوراخ ها را 2 1/2 اینچ از پایین و 3 1/2 اینچ از کنار هر دو پتانسیومتر قرار داده ام.

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

پس از خشک شدن چسب ، قطعات الکترونیکی را در آن قرار می دهیم. اما ابتدا باید پنل پشتی را برداریم.

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

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

*** احتیاط ***-هنگام قرار دادن آرایه LED بسیار مراقب باشید زیرا نقاط لحیم کاری می توانند شکننده باشند.

-حالا به مهمترین قسمت رسیده ایم ، قرار دادن آرایه led. به سادگی تخته را مانند تصویر دوم در آن قرار دهید.

-یکبار پنل داخلی led خود را بگیرید و آن را داخل کیس مستقیماً زیر پنل پشتی آرایه LED قرار دهید. این قطعه ممکن است برای من بسیار مناسب باشد همچنین قبل از ادامه کار بگذارید خشک شود.

-به قسمت آخر رسیده اید. توصیه می کنم برای تضاد بین LED ها و این قسمت ، یک طرف این قسمت نهایی (LED Inner Back) را سیاه یا سفید رنگ کنید.

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

**** تبریک می گویم که تمام مجمع را به پایان رساندید !!!

به آخرین مرحله برای کدگذاری بازی ادامه دهید

مرحله 6: کد

یکبار دیگر تبریک می گویم که تا اینجا پیش رفتید.

در این بخش من کد و نحوه عملکرد آن را به شما نشان خواهم داد ، علاوه بر موارد موجود در کد که می توانید آن را تغییر داده و شخصی سازی کنید.

اما قبل از اینکه بدانیم شما به (adafruit_NeoPixel-master) نیاز دارید که من بارگیری را نیز پیوند داده ام.

برای نصب برنامه اصلی arduino خود را باز کنید

1. برو به طرح

2. باز کردن شامل کتابخانه

3. کلیک کنید (add.zip Library)

4. فایل (adafruit_NeoPixel-master) را انتخاب کرده و کار خود را انجام دهید

در زیر این کد را برای بازی چسبانده ام.

#عبارتند از

#عبارتند از

توپ بلند Xabs = 12؛

توپ بلندYabs = 4 ؛

int ballX؛

int ballY ؛

int ballvelX = 1؛

int ballvelY = 1؛

شاخص int ؛

int fps = 50 ؛

int paddlewidth = 3؛

int paddlemax = 9 - paddlewidth + 1؛

int knobseg = 1023 / (paddlemax) ؛

int paddle1 = 4 ؛

int paddle2 = 4 ؛

#NUMPIXELS 260 را تعریف کنید

#پین 6 را تعریف کنید

پیکسل های Adafruit_NeoPixel = Adafruit_NeoPixel (NUMPIXELS ، PIN6 ، NEO_GRB + NEO_KHZ800) ؛

void setup () {

pixels.begin ()؛

Serial.begin (9600)؛

}

حلقه خالی () {

clearScreen ()؛

updateBall ()؛

updatePaddle1 ()؛

updatePaddle2 ()؛

displayBall ()؛

displayPaddle1 ()؛

displayPaddle2 ()؛

pixels.show ()؛

deteCollision ()؛

تاخیر (fps) ؛

}

void clearScreen () {

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

pixels.setPixelColor (i ، pixels. Color (0 ، 0 ، 0)) ؛

}

}

void updateBall () {

ballXabs += ballvelX؛

ballYabs += ballvelY؛

}

void deteCollision () {

Serial.print (ballYabs) ؛

Serial.print ("")؛

Serial.println (paddle1)؛

if (ballvelX> 0 && ballXabs> = 25) {// برخورد به دیوار راست

Serial.println ("CollisionX") ؛

score1 ()؛ // ballvelX*=-1 ؛

}

if (ballvelX <0 && ballXabs <= 0) {// به دیوار چپ برخورد کند

Serial.println ("CollisionX") ؛

score2 ()؛ // ballvelX*=-1 ؛

}

if (ballvelY> 0 && ballYabs> = 9) {// برخورد با دیوار بالا

Serial.println ("CollisionY") ؛ ballvelY *= -1 ؛

}

if (ballvelY <0 && ballYabs <= 0) {// برخورد به دیواره پایینی

Serial.println ("CollisionY") ؛

ballvelY *= -1؛

}

// تشخیص برخورد پارو 2

if ((ballvelX> 0 && ballXabs == 24) && ((ballYabs> = paddle2) && (ballYabs <= paddle2 + paddlewidth - 1)))

{// برخورد به دیوار راست

Serial.println ("CollisionPaddle") ؛

ballvelX *= -1؛

}

// تشخیص برخورد پارو 1

if ((ballvelX = paddle1) && (ballYabs <= paddle1 + paddlewidth - 1)))

{// برخورد به دیوار راست

Serial.println ("CollisionPaddle") ؛

ballvelX *= -1؛

}

}

void updatePaddle1 () {

int knob = analogRead (A0)؛

paddle1 = دستگیره گرد ((بلند) / (دستگیره بلند)) ؛

}

void updatePaddle2 () {

int knob2 = analogRead (A1) ؛

paddle2 = گرد ((بلند) دستگیره 2 / (طولانی) دستگیره)؛

}

void displayBall () {

ballX = گرد (ballXabs) ؛

ballY = گرد (ballYabs) ؛

if (ballX٪ 2! = 0) {

index = (9 - ballY) + 10 * ballX؛

if (ballX! = 0) {

pixels.setPixelColor (ballY + 10 * (ballX - 1) ، پیکسل. رنگ (30 ، 0 ، 0)) ؛ // سمت چپ رنگ توپ

}

if (ballX! = 25) {pixels.setPixelColor (ballY + 10 * (ballX + 1) ، پیکسل. رنگ (30 ، 0 ، 0)) ؛ // سمت راست رنگ توپ

}

if (ballY! = 9) {pixels.setPixelColor (index - 1، pixels. Color (30، 0، 0))؛ // قسمت های پایینی رنگ توپ

}

if (ballY! = 0) {pixels.setPixelColor (index + 1، pixels. Color (30، 0، 0))؛ // کناره های بالای رنگ توپ

}

}

دیگری {

index = ballY + 10 * ballX؛ if (ballX! = 0) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX - 1) ، پیکسل. رنگ (30 ، 0 ، 0)) ؛ // سمت چپ توپ حتی ردیف

}

if (ballX! = 25) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX + 1) ، پیکسل. رنگ (30 ، 0 ، 0)) ؛ // سمت راست توپ حتی ردیف

}

if (ballY! = 9) {

pixels.setPixelColor (شاخص + 1 ، پیکسل. رنگ (30 ، 0 ، 0)) ؛ // قسمتهای پایینی توپ حتی ردیف

}

if (ballY! = 0) {pixels.setPixelColor (index - 1، pixels. Color (30، 0، 0))؛ // سطوح بالای توپ حتی ردیف

}

}

pixels.setPixelColor (index، pixels. Color (255، 0، 0))؛ /// مرکز رنگ توپ

}

void displayPaddle1 () {

برای (int i = 0؛ i <paddlewidth؛ i ++) {pixels.setPixelColor (paddle1+i، pixels. Color (0، 0، 255))؛

}

}

void displayPaddle2 () {

برای (int i = 0؛ i <paddlewidth؛ i ++) {pixels.setPixelColor (NUMPIXELS - 1 - paddle2 - i، pixels. Color (0، 0، 255))؛

}

}

void score1 () {

resetBall (0) ؛

}

void score2 () {

resetBall (1) ؛

}

void resetBall (پخش کننده int) {

تاخیر (1000) ؛

ballXabs = 12

؛ ballYabs = 4 ؛

ballvelX = بازیکن؟ 1: -1 ؛

ballvelY = 1؛

clearScreen ()؛

تاخیر (1000) ؛

displayBall ()؛

pixels.show ()؛

تاخیر (1000) ؛

displayPaddle1 ()؛

displayPaddle2 ()؛ pixels.show ()؛ تاخیر (2000) ؛ }

مرحله 7: پایان کار

به پایان رساندن
به پایان رساندن

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

من همچنین آکریلیک پخش کننده LED را در لیست قطعات قرار دادم که اکنون می توانید آن را روی LED ها قرار دهید و آن را چسب بزنید

پس از انجام این کار ، آماده بازی و لذت بردن از ساعت ها بازی های رقابتی در برابر خانواده و دوستان هستید.

در پایان می خواهم به شما برای تکمیل پروژه تبریک بگویم.

اگر مشکلی دارید در اینجا با من تماس بگیرید و من خوشحال می شوم به حل مشکل کمک کنم.

توصیه شده: