فهرست مطالب:

تنیس پنگ با ماتریس LED ، آردوینو و جوی استیک: 5 مرحله (همراه با تصاویر)
تنیس پنگ با ماتریس LED ، آردوینو و جوی استیک: 5 مرحله (همراه با تصاویر)

تصویری: تنیس پنگ با ماتریس LED ، آردوینو و جوی استیک: 5 مرحله (همراه با تصاویر)

تصویری: تنیس پنگ با ماتریس LED ، آردوینو و جوی استیک: 5 مرحله (همراه با تصاویر)
تصویری: آموزش دریافت سرویس پینگ پنگ 2024, نوامبر
Anonim
تنیس پنگ با ماتریس LED ، آردوینو و جوی استیک
تنیس پنگ با ماتریس LED ، آردوینو و جوی استیک

این پروژه برای مبتدیان و کارگران باتجربه به طور یکسان در نظر گرفته شده است. در سطح ابتدایی می توان آن را با یک تخته نان ، سیم های بلوز و چسباندن به یک تکه ضایعات (من از چوب استفاده کردم) با Blu-Tack و بدون لحیم کاری چسباند. با این حال ، در سطوح پیشرفته تر ، می توان آن را به پرف برد یا PCB سفارشی لحیم کرد.

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

مرحله 1: قطعات

برای ساخت بازی پونگ شما نیاز دارید ؛

  • 1x آردوینو (هر نوع کار می کند)
  • ماتریس LED 4x MAX7219 8x8
  • 2 عدد جوی استیک
  • 1x Piezo Buzzer (اختیاری)
  • 15 برابر سیم زن جهنده زن (3x گروه 5 نفره)
  • 15 برابر سیم زن جهنده مرد (3x گروه 5 تایی)
  • سیمهای بلوز مرد و مرد 18 برابر
  • 1x تخته نان
  • 1x مقاومت 220Ω

به جای برد Arduino Uno یا Nano می توانید از Arduino مبتنی بر تخته نان استفاده کنید.

  • 1x IC ATmega328p 28pin
  • نوسان ساز کریستال 1x 16 کیلوهرتز
  • خازن های سرامیکی 2x 22pF
  • 1x USB FTDI UART Converter
  • 1x 100uF خازن الکترولیتی
  • 1x Micro USB Breakout (اختیاری)

ابزارها ؛

  • کامپیوتر با Arduino IDE (و کتابخانه LedControl)
  • کابل USB مناسب برای آردوینو
  • با استفاده از پاور بانک می توانید بازی را از کامپیوتر خود دور کنید

مرحله 2: سیم کشی

سیم کشی
سیم کشی
سیم کشی
سیم کشی

سیم کشی بسیار ساده است زیرا برای اتصال سرصفحه های ماتریس و جوی استیک به آردوینو به سیم های بلوز نیاز دارید. تنها عارضه آن برق است زیرا Arduino Uno فقط 3 اتصال GND و یک اتصال 5 ولت دارد. این جایی است که تخته نان وارد می شود و به عنوان یک خط توزیع قدرت برای همه اجزا عمل می کند ، اگر از NANO استفاده می کنید ، تخته نان همان هدف را دارد و همچنین به شما امکان می دهد همه چیز را به برق متصل کنید.

برای سیم کشی این اتصالات را دنبال کنید.

  • جوی استیک سمت چپ - GND و 5v به ریل برق مربوطه. SW - پین 9 ، VRx - A0 ، VRy - A1.
  • جوی استیک راست - GND و 5v به ریل برق مربوطه. SW - پین 8 ، VRx - A2 ، VRy - A3.
  • راست ترین ماتریس LED - GND و 5v به ریل های قدرت مربوطه. DIN - 13 ، CS - 11 ، CLK - 12. (طبق خط 25)
  • همه ماتریس های LED دیگر را می توان از خروجی اولین مورد از راست به چپ زنجیر کرد تا کد به درستی کار کند.
  • زنگ اختیاری - آند (+) تا 220Ω مقاومت محدود کننده جریان به پین 10 ، کاتد (-) - GND.

مرحله 3: سیم کشی جایگزین

سیم کشی جایگزین
سیم کشی جایگزین
سیم کشی جایگزین
سیم کشی جایگزین
سیم کشی جایگزین
سیم کشی جایگزین

پس از سیم کشی آن با آردوینو UNO برای صرفه جویی در فضا ، تصمیم گرفتم آردوینو IC را از UNO روی تخته نان با نوسان ساز کریستالی 16 مگاهرتز و یک جفت خازن 22pF از هر طرف به زمین قرار دهم. من احساس می کنم این یک اصلاح ارزشمند بود زیرا باعث می شود پروژه زیبا تر و کامل تر به نظر برسد ، اما برای به روز رسانی برنامه باید از برنامه نویس USB FTDI استفاده کنید.

مرحله 4: کد + توضیح

برای بارگذاری کد در آردوینو ، کتابخانه LedControl را از GitHub اینجا بارگیری کنید ،

github.com/wayoda/LedControl و افزودن فایل زیپ یا اضافه کردن آن از طریق مدیر کتابخانه در IDE. پس از آن طرح متصل شده را باز کنید ، Arduino خود را در تنظیمات برد و پورت در زیر ابزارها انتخاب کرده و در arduino بارگذاری کنید.

توضیح

خط 1: کتابخانه را اضافه می کند

خط 5-23: همه متغیرها ، ثابت ها و اعداد پین را تنظیم می کند.

خط 25: LED Martix را تنظیم کرده و پین های کنترل و تعداد نمایشگرها را تنظیم می کند.

خط 27: عملکرد Reset را تنظیم می کند.

خط 30-35: عملکرد خاموش کردن برای روشن/خاموش کردن همه صفحه ها با هم.

خط 38-43: عملکرد SetIntensity برای تنظیم روشنایی همه نمایشگرها با هم.

خط 46-51: عملکرد ClearAll برای پاک کردن همه صفحه ها با هم.

خط 53-64: جوی استیک برای بدست آوردن موقعیت جوی استیک ها ، آنها را در 7 موقعیت احتمالی خفاش برای ضربه زدن به توپ ترسیم کرده و سپس خفاش را به موقعیت جدید منتقل کنید.

خط 67-435: عملکردی که توپ را در ارتفاع و سرعت مشخص به بازیکن چپ منتقل می کند ، بررسی می کند که آیا بازیکن به آن ضربه وارد کرده است یا ادامه می دهد و وضعیت خرابی را روی true قرار می دهد یا توپ را پس می زند ، 1 به امتیاز اضافه می کند و سرعت را افزایش می دهد

خط 438-811: عملکردی که توپ را در ارتفاع و سرعت مشخص به بازیکن راست منتقل می کند ، بررسی می کند که آیا بازیکن به آن ضربه زده است یا ادامه می دهد و وضعیت تصادف را روی true قرار می دهد یا توپ را پس می زند ، 1 به امتیاز اضافه می کند و سرعت را افزایش می دهد

خط 813-823: عملکردی برای نشان دادن صورت لبخند ، تیک ، صلیب یا علامت سوال به صفحه مشخص شده (0 در سمت راست تا 3 در سمت چپ).

خط 861-979: عملکردی برای نمایش اعداد 0-9 در صفحه مشخص شده.

خط 981-1047: عملکردی برای نمایش نمره به هر طرف بازیکن روی صفحه.

خط 1049-1064: عملکرد را بررسی کنید که آیا پخش کننده آماده است یا خیر.

خط 1066-1076: بخش تنظیم کد برای کدی که یکبار هنگام شروع برنامه اجرا می شود.

خط 1078-1136: بخش اصلی حلقه برای منطق بازی که در آن همه توابع مورد استفاده قرار می گیرند و در آن برنده مشخص می شود و پس از 5 ثانیه نمایش نمره ، برنامه دوباره راه اندازی می شود.

مرحله پنجم: ممنون که خواندید

ممنون که خواندید
ممنون که خواندید

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

توصیه شده: