فهرست مطالب:

بازی آزیموتال طرح سه بعدی نقشه دکوراسیون X بازی پازل موسیقی محلی - آردوینو: 7 مرحله
بازی آزیموتال طرح سه بعدی نقشه دکوراسیون X بازی پازل موسیقی محلی - آردوینو: 7 مرحله

تصویری: بازی آزیموتال طرح سه بعدی نقشه دکوراسیون X بازی پازل موسیقی محلی - آردوینو: 7 مرحله

تصویری: بازی آزیموتال طرح سه بعدی نقشه دکوراسیون X بازی پازل موسیقی محلی - آردوینو: 7 مرحله
تصویری: بریم باهم kos مصنوعی بسازیم باکمترین امکانات🔴😂|The best invention 2024, جولای
Anonim
Image
Image
هیئت مدیره را طراحی کنید
هیئت مدیره را طراحی کنید

معرفی

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

هنگام فعال کردن حالت دکوراسیون ، قاره های نقشه به رنگهای مختلف می درخشند که توسط ترکیبات تصادفی از مقادیر RGB و با استفاده از LED های RGB تعیین می شود.

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

_

تدارکات

مواد واقعی

  • LED های 5 میلی متری RGB *20
  • سیم ها
  • مقاومت *9
  • برد آردوینو *1 (هر نوع)
  • تخته نان *3
  • دکمه ها *7
  • صفحه نمایش LCD I2C *1
  • جعبه مقوایی (13*9*5.7 اینچ ؛ 33*23*14.5 سانتی متر)
  • تخته چوبی (37.5*29*0.8 سانتی متر)
  • تخته های اکریلیک (شفاف * 2 ، نیمه شفاف * 1)
  • شارژر قابل حمل *1

ابزارها:

  • تیغه *1
  • چسب های UV UV *1
  • نوار دو طرفه *1 رول
  • تفنگ چسب داغ *1

ماشین آلات:

دستگاه برش لیزری

نرم افزار:

  • Adobe Illustrator
  • نرم افزار آدوبی فتوشاپ
  • کرگدن 3D

مرحله 1: تخته را طراحی کنید

می توانید فایل پیوست را مستقیماً بارگیری کنید یا مراحل زیر را دنبال کنید.

ترسیم نقشه

  1. طرح نقشه را از Google بارگیری کنید

    1. گوگل "نشان ملل متحد"
    2. "ابزار - اندازه - بزرگ" را انتخاب کنید
    3. محبوب ترین تصویر خود را بارگیری کنید (تصویر مورد استفاده در این پروژه: پیوند) *سعی کنید آنهایی را که خطوط پیچیده با زمین های قاره ای همپوشانی دارند انتخاب نکنید *
  2. نقشه بارگیری شده را به نسخه چاپی منتقل کنید

    1. با استفاده از تابع paintbrush در Adobe Photoshop ، مناطق نامطلوب را به رنگ سفید درآورید
    2. صادر کردن فایل (JPEG)
    3. فایل را به Adobe Illustrator وارد کنید و از عملکرد "ردیابی تصویر" برای ردیابی نقشه استفاده کنید
    4. صادر کردن فایل (dxf)

اضافه کردن پس زمینه شش ضلعی

  1. فایل dxf را به Rhino وارد کنید
  2. عملکرد "polygon" و کلید "6" را برای گزینه "NumSides" انتخاب کنید
  3. مقدار شعاع را "3.5" وارد کنید
  4. 28 شش ضلعی با اندازه مساوی بکشید
  5. فایل را در 3dm صادر کنید

مرحله 2: برش لیزری

Image
Image
برش لیزری
برش لیزری
برش لیزری
برش لیزری
برش لیزری
برش لیزری
  1. فایل قبلاً تکمیل شده را به xxx وارد کنید.
  2. با استفاده از دستگاه برش لیزری ، بدنه اصلی را روی تخته چوبی و قاره ها را روی تخته های اکریلیک (2 شفاف و 1 نیمه شفاف) چاپ کنید (فیلم ها در بالا ارائه شده است)

مرحله 3: دستگاه را بسازید

دستگاه را بسازید
دستگاه را بسازید
دستگاه را بسازید
دستگاه را بسازید
دستگاه را بسازید
دستگاه را بسازید

تخته بعد از برش لیزری

  • قاره های اکریلیک

    1. از چسب های قابل درمان با اشعه ماوراء بنفش برای چسباندن سه تخته هر قاره به یکدیگر (با نیمه شفاف به عنوان لایه میانی) استفاده کنید.
    2. از نور ماوراء بنفش برای تاباندن نواحی چسب دار استفاده کنید تا چسب ها محکم شوند
  • بنیاد تخته چوبی

    1. مناطق کوچک زمینی که روی تخته چوبی اصلی گیر کرده اند را به صورت دستی بردارید
    2. *اگر قسمتی از تخته چوبی شکسته است ، از چسب های مقاوم در برابر اشعه ماوراء بنفش برای چسباندن آنها به عقب استفاده کنید*

ساختن پایگاه (پایه زیرین کل دستگاه)

  1. یک جعبه مقوایی با اندازه مناسب ، با ابعاد نزدیک به 13*9*5.7 اینچ (33*23*14.5 سانتی متر) پیدا کنید.
  2. با استفاده از تخته چوبی به عنوان مدل مرجع ، قطعات قاره را روی سطح بالای جعبه ترسیم کنید
  3. قسمت پایینی دکمه ها را روی سطح بالای جعبه ردیابی کنید و هر دکمه در مرکز هر قسمت قاره ای قرار گرفته قرار گیرد
  4. با استفاده از یک تیغه قطعات دکمه را با دنبال کردن آثار قطع کنید
  5. در قسمتهای قاره ای که دنبال شده است ، از تیغه برای قطع بخشهای کوتاه اطراف دکمه استفاده کنید
  6. دو قسمت پایینی دیگر دکمه را در سمت راست جعبه ترسیم کنید (سعی کنید آثار را با ارتفاع یکسان تراز کنید)
  7. صفحه نمایش LCD را در سمت راست جعبه (بالای دو دکمه در مرحله قبل) دنبال کنید
  8. با دنبال کردن آثار مرحله 6 و 7 ، از یک تیغه برای قطع دو قسمت دکمه و قسمت LCD استفاده کنید

مرحله 4: ساختن مدارها

ساخت مدارها
ساخت مدارها

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

توجه داشته باشید:

  • مقاومت LED های RGB و دکمه ها متفاوت است ، به وضوح نگاه کنید!
  • از آنجا که صفحه نمایش LCD بالا مدل I2C ندارد ، به طور کامل متصل نیست. (صفحه نمایش LCD با مدل های I2C فقط باید چهار پین را وصل کند)

    • GND ها را روی نمایشگر و برد Arduino وصل کنید
    • VCC روی نمایشگر را با پین های مثبت روی تخته نان متصل کنید
    • SDA ها را روی نمایشگر و برد Arduino وصل کنید
    • SCL ها را روی نمایشگر و برد آردوینو وصل کنید

مرحله 5: کد را بارگذاری کنید

کد این پروژه را می توانید در اینجا یا در زیر مشاهده کنید.

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

توجه داشته باشید:

  • همه پین های D خاص را می توان بر اساس طرح مدار شما تغییر داد و تنظیم کرد
  • همه ثانیه های تأخیری را می توان به مقادیر مختلف تغییر داد ، اما آنها را حذف نکنید! (این ثانیه های تأخیری به کد اجازه می دهد تا منطقی تر جریان یابد. بدون آنها ، برخی از قسمت های کد ممکن است کار نکنند!)
  • در خط 24 (معرفی حلقه "for") ، می توانید تعداد تکرارهایی را که می خواهید حلقه برای آنها اجرا شود (مقدار اصلی 5 است) تعیین کنید.
  • ترکیب رنگ LED های RGB در حلقه های "اگر فشار داده شود" و "اگر فشرده نشود" هر دکمه قابل تنظیم و سفارشی است. (در اصل ، LED های RGB در صورت فشردن به رنگ سبز درخشان می شوند در حالی که در صورت عدم فشردن آنها در رنگ قرمز روشن می شوند. شما می توانید مقادیر را برای داشتن رنگ های خلاقانه برای پاسخ دادن به راست و اشتباه تغییر دهید)

#عبارتند از

#شامل LiquidCrystal_I2C lcd_I2C_27 (0x27 ، 16 ، 2) ؛ // آدرس LCD را برای نمایش 16 حرف و 2 خط int _R تنظیم کنید. // متغیر R را معرفی کنید که مخفف مقدار قرمز LED های RGB int _G است. // متغیر G را معرفی کنید که مخفف مقدار سبز LED های RGB int _B است. // معرفی متغیر B ، که مخفف مقدار آبی LED های RGB int _SongNumber است ؛ // معرفی متغیر SongNumber void setup () {pinMode (10، INPUT)؛ // D10 را به عنوان ورودی دکمه تزئین نقشه pinMode (9 ، INPUT) تنظیم می کند. // D9 را به عنوان ورودی دکمه بازی پازل pinMode (8 ، INPUT) تنظیم می کند. // D8 را به عنوان ورودی دکمه Eurasia pinMode (4 ، INPUT) تنظیم می کند. // D4 را به عنوان ورودی دکمه pinMode آمریکای شمالی (3 ، ورودی) تنظیم می کند. // D3 را به عنوان ورودی دکمه pinMode آمریکای جنوبی (2 ، INPUT) تنظیم می کند. // D2 را به عنوان ورودی دکمه Africa pinMode (1 ، ورودی) تنظیم می کند. // D1 را به عنوان ورودی دکمه Oceania lcd_I2C_27.init () تنظیم می کند. // مقداردهی اولیه صفحه نمایش LCD lcd_I2C_27.backlight ()؛ // روشن شدن نور پس زمینه صفحه نمایش LCD} حلقه void () {if (digitalRead (10)) {// اگر دکمه تزئین نقشه برای (int i = 0 ؛ i <5؛ ++ i) فشار داده شده است {// حلقه زیر را برای 5 بار _R = تصادفی (0 ، 1023) اجرا کنید ؛ // به متغیر R یک مقدار تصادفی از 0 تا 1023 _G = تصادفی (0 ، 1023) بدهید ؛ // به متغیر G یک مقدار تصادفی از 0 تا 1023 _B = تصادفی (0 ، 1023) بدهید ؛ // به متغیر B یک مقدار تصادفی از 0 تا 1023 analogWrite (13 ، (_R /4)) بدهید ؛ // مقدار R LED های RGB برای گروه اول جایگزین می کند و مقدار متغیر را از 0 تا 255 analogWrite می نویسد (12 ، (_G /4)) ؛ // مقدار G LED های RGB برای گروه اول جایگزین می کند و مقدار متغیر را از 0 تا 255 analogWrite می نویسد (11 ، (_B /4)) ؛ // مقدار B LED های RGB برای گروه اول جایگزین می کند و مقدار متغیر را از 0 تا 255 analogWrite می نویسد (7 ، (_R /4)) ؛ // مقدار R LED های RGB برای گروه دوم جایگزین شده و مقدار متغیر را از 0 تا 255 analogWrite (6 ، (_G /4)) می نویسد. // مقدار G LED های RGB برای گروه دوم جایگزین شده و مقدار متغیر را از 0 تا 255 analogWrite (5 ، (_B /4)) می نویسد. // مقدار B LED های RGB برای جایگزین های گروه دوم و مقدار متغیر 0 تا 255 تاخیر (3000) را می نویسد. // منتظر 3000 میلی ثانیه (3 ثانیه)} // از آنجا که مقادیر متغیر R ، G ، B در حلقه تعیین می شود ، پنج ترکیب رنگ مختلف در هر حلقه وجود خواهد داشت} اگر (digitalRead (9)) {// اگر دکمه بازی پازل _SongNumber = تصادفی (1 ، 20) فشار داده شده است ؛ // به متغیر SongNumber یک مقدار تصادفی از 1 تا 20 lcd_I2C_27.setCursor (0 ، 0) بدهید ؛ // مکان نما را تنظیم کنید ، شمارش با 0 lcd_I2C_27.print (_SongNumber) شروع می شود. // مقدار SongNumber را روی صفحه نمایش LCD analogWrite چاپ کنید (13 ، 0) ؛ // مقدار D13 را مجدداً تنظیم کرده و بنویسید 0 analogWrite (12 ، 0) ؛ // مقدار D12 را 0 تنظیم مجدد کرده و بنویسید 0 analogWrite (11، 0)؛ // مقدار D11 را 0 تنظیم مجدد کرده و بنویسید 0 analogWrite (7 ، 0) ؛ // مقدار D7 را به عنوان 0 analogWrite (6 ، 0) تنظیم مجدد کرده و بنویسید ؛ // مقدار D6 را 0 تنظیم مجدد کرده و بنویسید 0 analogWrite (5 ، 0) ؛ // مقدار D5 را تنظیم مجدد کرده و 0 بنویسید اگر (_SongNumber> = 1 && _SongNumber = 4 && _SongNumber = 7 && _SongNumber = 11 && _SongNumber = 15 && _SongNumber = 18 && _SongNumber <= 20) {// اگر مقدار متغیر SongNumber از 18 تا 20 تاخیر (60000) است. // 60000 میلی ثانیه منتظر بمانید تا بازیکنان به موسیقی محلی گوش دهند (60 ثانیه ؛ 1 دقیقه) اگر (digitalRead (1)) {// اگر دکمه Oceania را فشار دهید analogWrite (13 ، 0) ؛ // analogWrite مقدار D13 را 0 analogWrite (12 ، 255) بنویسید ؛ // analogWrite مقدار D12 را 255 analogWrite بنویسید (11 ، 0) ؛ // analogWrite مقدار D11 را به عنوان 0 analogWrite (7 ، 0) ؛ // analogWrite مقدار D7 را به عنوان 0 analogWrite (6 ، 255) ؛ // analogWrite مقدار D6 255 analogWrite (5 ، 0) ؛ // analogWrite مقدار D5 را بعنوان 0} // اگر LED های RGB به رنگ سبز دیگر روشن شوند {// اگر دکمه Oceania بر روی analogWrite فشار داده نشود (13 ، 255) ؛ // analogWrite مقدار D13 را 255 analogWrite بنویسید (12 ، 0) ؛ // analogWrite مقدار D12 را به عنوان 0 analogWrite (11 ، 0) ؛ // analogWrite مقدار D11 را به عنوان 0 analogWrite (7 ، 255) ؛ // analogWrite مقدار D7 را 255 analogWrite بنویسید (6 ، 0) ؛ // analogWrite مقدار D6 را به عنوان 0 analogWrite (5 ، 0) ؛ // analog نوشتن مقدار D5 به عنوان 0} // همه LED های RGB با رنگ قرمز می درخشند} // از آنجا که پاسخ های صحیح SongNumber 18 تا 20 همه اقیانوسیه است ، این "اگر حلقه" به درستی یا عدم پاسخ پخش کننده دسترسی پیدا کند نه lcd_I2C_27. Clear ()؛ // پاک کردن تاخیر صفحه نمایش LCD (1000) ؛ // منتظر 1000 میلی ثانیه (1 ثانیه)}}

مرحله 6: پایان دستگاه

  1. جعبه مقوایی را باز کرده و مدارهای ساخته شده قبلی (شامل همه عناصر ، به عنوان مثال: سه تخته نان ، برد آردوینو ، شارژر قابل حمل) را قرار دهید
  2. با اشاره به کد و قسمتهای قاره ای موجود در بالای جعبه ، دکمه ها را در هر موقعیت مربوطه قرار دهید

    *برای اطمینان از اینکه دکمه پین برای کدام قاره است می توانید به یادداشت های جانبی پشت کدها مراجعه کنید*

  3. دو "دکمه عملکرد" (map-deco of D10 و puzzle-game of D9) را در هر یک از قسمت های برش در سمت راست جعبه قرار دهید
  4. صفحه نمایش LCD را در قسمت بریده شده آن در سمت راست جعبه نصب کنید
  5. جعبه را باز کنید و مطمئن شوید که همه سیم ها به درستی به تخته ها متصل شده اند
  6. با استفاده از نوار دو طرفه پایه چوبی را به قسمت بالای جعبه بچسبانید (مطمئن شوید که به درستی تراز شده اید تا دکمه ها بتوانند درست در قسمت برش خورده تخته های چوبی قرار بگیرند)
  7. برای پر کردن قسمتهای کوچک منطقه (نه قاره های اصلی) از تفنگ چسب داغ استفاده کنید

مرحله 7: انجام شد !!!!

برای بازی پازل ، به پیوند لیست پخش آزمایش بروید!

توصیه شده: