فهرست مطالب:

گنبد تعاملی ژئودزیک LED: 15 مرحله (همراه با تصاویر)
گنبد تعاملی ژئودزیک LED: 15 مرحله (همراه با تصاویر)

تصویری: گنبد تعاملی ژئودزیک LED: 15 مرحله (همراه با تصاویر)

تصویری: گنبد تعاملی ژئودزیک LED: 15 مرحله (همراه با تصاویر)
تصویری: فر قنادی شیرینی پزی نان پزی گنبد صنعت یا این دستگاه هر چی دوست داری پخت کن و لذت ببر #فرقنادی 2024, جولای
Anonim
Image
Image
گنبد تعاملی ژئودزیک LED
گنبد تعاملی ژئودزیک LED
گنبد تعاملی ژئودزیک LED
گنبد تعاملی ژئودزیک LED
گنبد تعاملی ژئودزیک LED
گنبد تعاملی ژئودزیک LED

من یک گنبد زمین شناسی شامل 120 مثلث با LED و حسگر در هر مثلث ساختم. هر LED را می توان به صورت جداگانه خطاب کرد و هر سنسور به طور خاص برای یک مثلث واحد تنظیم شده است. گنبد با آردوینو برنامه ریزی شده است تا بسته به نوع مثلثی که دست خود را قرار می دهید ، روشن شود و یک سیگنال MIDI تولید کند.

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

چندین دستورالعمل عالی بر روی میزها و مکعب های LED وجود دارد که من را برای شروع این پروژه انگیزه داد. با این حال ، من می خواستم سعی کنم LED ها را در یک هندسه متفاوت مرتب کنم. من نمی توانم یک ساختار بهتر از یک گنبد ژئودزیک برای پروژه در نظر بگیرم ، که همچنین در Instructables به خوبی مستند شده است. بنابراین این پروژه یک ترکیب مجدد/ترکیب جداول LED و گنبدهای زمین شناسی است. در زیر پیوندهایی به جدول LED و دستورالعمل گنبد ژئودزیک وجود دارد که در ابتدای پروژه بررسی کردم.

میزها و مکعب های LED:

www.instructables.com/id/RGB-LED-Pixel-Touc…

www.instructables.com/id/Touch-LED-Table-Re…

www.instructables.com/id/Led-Cube-8x8x8/

www.instructables.com/id/500-LED-Pixel-RGB-…

گنبد زمین شناسی:

www.instructables.com/id/Folding-Geodesic-D…

www.instructables.com/id/Geodesic-dome-kit/

مرحله 1: فهرست عرضه

لیست عرضه
لیست عرضه
لیست عرضه
لیست عرضه
لیست عرضه
لیست عرضه

مواد:

1. چوب برای پایه های گنبد و پایه گنبد (مقدار بستگی به نوع و اندازه گنبد دارد)

2. نوار LED آدرس پذیر (16.4ft/5m آدرس پذیر رنگی LED Pixel Strip 160leds Ws2801 Dc5v)

3. Arduino Uno (Atmega328 - مونتاژ)

4. صفحه اولیه (Penta Angel Prototype PCB Universal دو طرفه (7x9cm))

5. اکریلیک برای انتشار LED ها (ورق اکریلیک ریخته گری ، روشن ، 12 "x 12" x 0.118 "اندازه)

6. منبع تغذیه (درایور منبع تغذیه سوئیچ Aiposen 110/220V تا DC12V 30A 360W)

7. مبدل باک برای آردوینو (RioRand LM2596 DC-DC Buck Converter 1.23V-30V)

8. مبدل باک برای LED ها و سنسورها (مبدل ولتاژ DROK Mini Electric Buck Voltage 15A)

9. 120 سنسور IR (ماژول سنسور جلوگیری از مادون قرمز)

10. چند مالتی پلکسر 16 کانالی (آنالوگ/دیجیتال MUX Breakout - CD74HC4067)

11. مالتی پلکسرهای شش کانالی (بریک آوت چندگانه - 8 کانال (74HC4051))

12. چند مالتی پلکسر 2 کاناله (MAX4544CPA+)

13. سیم پیچ سیم (PCB Solder 0.25mm Tin Pined Cord Cord Dia سیم سیم پیچ 305M 30AWG قرمز)

14. سیم قلاب (هسته جامد ، 22 AWG)

15. پین هدرها (Gikfun 1 x 40 Pin 2.54mm Single Row Breakaway Male Pin Header)

16. پنج جک MIDI (جک MIDI سازگار با تخته نان (DIN 5 پین))

17. ده مقاومت 220 اهم برای جک های MIDI

18. جدا کننده های ایستاده برای نصب وسایل الکترونیکی به گنبد (Stand-off Spacer Hex M3 Male x M3 Female)

19. آداپتورهای موضوعی برای اتصال پایه ها به چوب (E-Z Lok Threaded Insert، Brass، Thread Thread)

20. اپوکسی یا فوق چسب گوریلا

21. نوار برقی

22. لحیم

ابزارها:

1. ایستگاه لحیم کاری

2. مته قدرت

3. اره دایره ای

4. ساندور مداری

5. اره جیگ

6. اره میتر

7. زاویه سنج

8. چاپگر سه بعدی

9. برش سیم

10. ابزار بسته بندی سیم

11. برش لیزری برای برش صفحات LED (اختیاری)

12. فروشگاه CNC برای پایه گنبد (اختیاری)

مرحله 2: طراحی گنبد زمین شناسی

طراحی گنبد ژئودزیک
طراحی گنبد ژئودزیک
طراحی گنبد ژئودزیک
طراحی گنبد ژئودزیک

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

من از سایتی به نام Domerama برای طراحی گنبد 4 ولت استفاده کردم که به 5/12 یک کره با شعاع 40 سانتی متر کوتاه شده بود. برای این نوع گنبد ، شش پایه بلند مختلف وجود دارد:

30 X "A" - 8.9 سانتی متر

30 X "B" - 10.4 سانتی متر

50 X "C" - 12.4 سانتی متر

40 X "D" - 12.5 سانتی متر

20 X "E" - 13.0 سانتی متر

20 X "F" - 13.2 سانتی متر

این در مجموع 190 پایه است که تا 2223 سانتی متر (73 فوت) مواد اضافه می کنند. من از چوب کاج 1x3 (3/4 "× 2-1/2") برای پایه های این گنبد استفاده کردم. برای اتصال ستون ها ، اتصال دهنده ها را با استفاده از Autocad طراحی و چاپ سه بعدی کردم. فایلهای STL در انتهای این مرحله قابل بارگیری هستند. تعداد اتصالات گنبد 4 ولت 5/12 عبارتند از:

کانکتور 20 x 4

6 کانکتور 5 X

45 X 6 کانکتور

در مرحله بعد ، نحوه ساخت این گنبد را با پایه های چوبی و اتصالات چاپ سه بعدی که طراحی کرده ام توضیح می دهم.

مرحله 3: ساخت گنبد با پایه و اتصالات

ساخت گنبد با پایه و اتصالات
ساخت گنبد با پایه و اتصالات
ساخت گنبد با پایه و اتصالات
ساخت گنبد با پایه و اتصالات
ساخت گنبد با پایه و اتصالات
ساخت گنبد با پایه و اتصالات
ساخت گنبد با پایه و اتصالات
ساخت گنبد با پایه و اتصالات

با استفاده از محاسبات Domerama برای گنبد 4V 5/12 ، من با استفاده از اره مدور ، پایه ها را بریدم. 190 پایه برچسب گذاری شده و پس از برش در یک جعبه قرار داده شدند. 71 کانکتور (20 کانکتور چهار کانکتور ، 6 پنج کانکتور و 45 شش کانکتور) با استفاده از Makerbot به صورت سه بعدی چاپ شدند. تسمه های چوبی مطابق نمودار ایجاد شده توسط Domerama به اتصالات وارد شدند. من ساخت و ساز را از بالا شروع کردم و به صورت شعاعی به بیرون حرکت کردم.

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

مرحله 4: برش و نصب صفحات پایه

برش و نصب صفحات پایه
برش و نصب صفحات پایه
برش و نصب صفحات پایه
برش و نصب صفحات پایه
برش و نصب صفحات پایه
برش و نصب صفحات پایه
برش و نصب صفحات پایه
برش و نصب صفحات پایه

اکنون که اسکلت گنبد ساخته شده است ، وقت آن است که صفحات پایه مثلثی را برش دهیم. این صفحات پایه به پایین پایه ها متصل شده اند و برای نصب LED ها بر روی گنبد استفاده می شوند. ابتدا صفحات پایه را از تخته سه لا ضخامت 5 میلی متر (3/16 اینچ) با اندازه گیری پنج مثلث مختلف روی گنبد برش دادم: AAB (30 مثلث) ، BCC (25 مثلث) ، DDE (20 مثلث) ، CDF (40 مثلث)) ، و EEE (5 مثلث). ابعاد هر ضلع و شکل مثلث ها با استفاده از ماشین حساب گنبد (Domerama) و مقداری هندسه تعیین شد. پس از برش صفحات آزمایشی با اره منبت کاری اره مویی ، طرح مثلث را با استفاده از Coral Draw کشیدم ، و صفحه های باقی مانده را با برش لیزری (بسیار سریعتر!) برش دادم. اگر به دستگاه برش لیزری دسترسی ندارید ، می توانید صفحات پایه را با استفاده از خط کش و کشنده روی تخته سه لا بکشید و همه آنها را با اره منبت کاری اره مویی برش دهید. پس از برش صفحات پایه ، گنبد واژگون شده و صفحات با استفاده از چسب چوب به گنبد چسبانده می شوند.

مرحله 5: مرور الکترونیکی

مروری بر الکترونیک
مروری بر الکترونیک

در شکل بالا شماتیک الکترونیکی مربوط به گنبد نشان داده شده است. Arduino Uno برای نوشتن و خواندن سیگنال های گنبد استفاده می شود. برای روشن شدن گنبد ، یک نوار LED RGB بر روی گنبد اجرا می شود تا یک LED در هر یک از 120 مثلث قرار گیرد. برای اطلاع از نحوه عملکرد نوار LED ، این دستورالعمل را بررسی کنید. هر LED را می توان جداگانه با استفاده از آردوینو ، که داده های سریال و سیگنال ساعت را برای نوار تولید می کند ، آدرس دهی کرد (پین A0 و A1 را در شکل ببینید). با استفاده از نوار و این دو سیگنال به تنهایی ، می توانید یک گنبد نورگیر عالی داشته باشید. راه های دیگری برای نوشتن سیگنال برای مقدار زیادی LED از آردوینو وجود دارد ، مانند شارلیپلکس و شیفت رجیستر.

به منظور تعامل با گنبد ، یک سنسور IR در بالای هر LED نصب کردم. این سنسورها برای تشخیص زمانی که دست کسی نزدیک به مثلث روی گنبد است استفاده می شود. از آنجا که هر مثلث روی گنبد سنسور IR مخصوص به خود را دارد و 120 مثلث وجود دارد ، قبل از آردوینو باید نوعی مالتی پلکس انجام دهید. تصمیم گرفتم از پنج مالتی پلکسر 24 کاناله (MUX) برای 120 سنسور روی گنبد استفاده کنم. اگر چندان آشنا نیستید ، در اینجا چند مورد را آموزش دهید. MUX 24 کانالی به پنج سیگنال کنترلی نیاز دارد. من پین های 8-12 را در آردوینو انتخاب کردم ، بنابراین می توانم دستکاری پورت را انجام دهم (برای اطلاعات بیشتر به مرحله 10 مراجعه کنید). خروجی بردهای MUX با استفاده از پین های 3-7 خوانده می شود.

من همچنین پنج خروجی MIDI روی گنبد قرار دادم تا بتواند صدا تولید کند (مرحله 11). به عبارت دیگر ، پنج نفر می توانند همزمان با گنبد با هر خروجی یک صدای متفاوت پخش کنند. فقط یک پین TX در آردوینو وجود دارد ، بنابراین پنج سیگنال MIDI نیاز به demultiplexing دارد. از آنجا که خروجی MIDI در زمان متفاوتی نسبت به خواندن سنسور IR تولید می شود ، من از سیگنال های کنترل مشابه استفاده کردم.

بعد از اینکه تمام ورودی های سنسور IR در آردوینو خوانده شد ، با این حال که آردوینو را برنامه ریزی می کنید ، گنبد می تواند روشن شود و صداها را پخش کند. من چند مثال در مرحله 14 این دستورالعمل دارم.

مرحله 6: نصب LED ها روی گنبد

نصب LED ها روی گنبد
نصب LED ها روی گنبد
نصب LED ها روی گنبد
نصب LED ها روی گنبد
نصب LED ها روی گنبد
نصب LED ها روی گنبد

از آنجا که گنبد بسیار بزرگ است ، نوار LED باید بریده شود تا یک LED در هر مثلث قرار گیرد. هر LED با استفاده از چسب فوق العاده روی مثلث چسبانده شده است. در دو طرف LED ، سوراخی از طریق صفحه پایه برای عبور کابل ها از طریق گنبد ایجاد می شود. سپس سیم اتصال را در هر تماس روی LED (5 ولت ، زمین ، ساعت ، سیگنال) لحیم می کنم و سیم ها را از طریق صفحه پایه تغذیه می کنم. این سیم ها به گونه ای بریده شده اند که به اندازه کافی بلند هستند تا به LED بعدی روی گنبد برسند. سیمها به LED بعدی کشیده می شوند و روند ادامه می یابد. من LED ها را با پیکربندی متصل کردم که می تواند مقدار سیم مورد نیاز را به حداقل برساند در حالی که هنوز برای آدرس دهی LED ها با استفاده از Arduino منطقی است. یک گنبد کوچکتر نیاز به برش نوار را برطرف کرده و زمان زیادی را برای لحیم کاری صرفه جویی می کند. یک گزینه دیگر استفاده از LED های RGB جداگانه با شیفت رجیستر است.

ارتباط سریال به نوار با استفاده از دو پین (پین داده و ساعت) از آردوینو انجام می شود. به عبارت دیگر ، داده های روشنایی گنبد با خروج از پین داده ، از یک LED به LED دیگر منتقل می شود. در اینجا نمونه ای از کد اصلاح شده از این انجمن Arduino است:

// باعث افزایش و کاهش کل گنبد از شدت تک رنگ می شود

#تعریف numLeds 120 // تعداد LED ها // پین های خروجی // int clockPin = A1؛ // define pin clock int dataPin = A0؛ // تعریف پین داده // VARIABLES // int red [numLeds]؛ // مقداردهی اولیه آرایه برای نوار LED int green [numLeds]؛ // مقداردهی اولیه آرایه برای نوار LED int blue [numLeds] ؛ // مقداردهی اولیه آرایه برای نوار LED // مقیاس CONSTANT A = {0 ، 0.1 ، 0.2 ، 0.3 ، 0.4 ، 0.5 ، 0.6 ، 0.7 ، 0.8 ، 0.9 ، 1 ، 0.9 ، 0.8 ، 0.7 ، 0.6 ، 0.5 ، 0.4 ، 0.3 ، 0.2 ، 0.1} ؛ // کسری از شدت LED ها void setup () {pinMode (clockPin، OUTPUT)؛ pinMode (dataPin ، OUTPUT) ؛ ممست (قرمز ، 0 ، numLeds) ؛ memset (سبز ، 0 ، numLeds) ؛ ممست (آبی ، 0 ، numLeds) ؛ } void updatestring (int redA [numLeds] ، int greenA [numLeds] ، int blueA [numLeds]) {برای (int i = 0 ؛ i <numLeds؛ i ++) {shiftOut (dataPin ، clockPin ، MSBFIRST ، redA ) ؛ shiftOut (dataPin ، clockPin ، MSBFIRST ، greenA ) ؛ shiftOut (dataPin ، clockPin ، MSBFIRST ، blueA ) ؛ }} حلقه void () {for (int p = 0؛ p <20؛ p ++) // حلقه برای افزایش شدت نور گنبد {دو مقیاس = مقیاس A [p] ؛ تأخیر (20) ؛ برای (int i = 0 ؛ i <numLeds ؛ i ++) // از طریق تمام LED ها {مقیاس قرمز * = 255 * ؛ سبز = 80 * مقیاس ؛ آبی = 0 ؛ } Updatestring (قرمز ، سبز ، آبی) ؛ // نوار led به روز رسانی}}

مرحله 7: طراحی و پیاده سازی سنسور

طراحی و پیاده سازی سنسور کوه
طراحی و پیاده سازی سنسور کوه
طراحی و پیاده سازی سنسور کوه
طراحی و پیاده سازی سنسور کوه
طراحی و پیاده سازی سنسور کوه
طراحی و پیاده سازی سنسور کوه

تصمیم گرفتم از سنسورهای IR برای گنبد استفاده کنم. این سنسورها دارای LED IR و گیرنده هستند. وقتی جسمی جلوی سنسور قرار می گیرد ، مقداری تابش IR از LED IR به سمت گیرنده منعکس می شود. من این پروژه را با ساخت سنسورهای IR خود ، که بر اساس دستورالعمل ریچاردووینا بود ، آغاز کردم. تمام لحیم کاری بسیار طولانی شد ، بنابراین من 120 سنسور IR از eBay خریداری کردم که هر کدام خروجی دیجیتال تولید می کردند. آستانه سنسور با یک پتانسیومتر روی برد تنظیم شده است به طوری که خروجی فقط در زمانی که دستی نزدیک به مثلث باشد بالا است.

هر مثلث شامل یک صفحه پایه LED از تخته سه لا ، یک ورق اکریلیک پخش کننده در حدود 2.5 سانتی متر بالای صفحه LED نصب شده است و یک سنسور IR. حسگر هر مثلث بسته به موقعیت گنبد بر روی ورقه ای از تخته سه لا نازک به شکل پنج ضلعی یا شش ضلعی نصب شده بود (شکل بالا را ببینید). من سوراخ هایی را در پایه سنسور IR برای نصب سنسورهای IR ایجاد کردم و سپس زمین و پین های 5V را با سیم سیم پیچ و ابزار سیم پیچ (سیم های قرمز و سیاه) متصل کردم. پس از اتصال زمین و ولتاژ 5 ولت ، روی هر خروجی (زرد) ، زمین و 5 ولت سیم پیچ دار طولانی سیم پیچیدم تا از داخل گنبد عبور کنم.

پایه های سنسور IR شش ضلعی یا پنج ضلعی سپس بر روی گنبد ، درست بالای اتصالات چاپ سه بعدی ، اپوکسی شدند ، به طوری که سیم می تواند از طریق گنبد عبور کند. با داشتن سنسورهای بالای اتصالات ، من همچنین توانستم به پتانسیومترهای حسگرهای IR که حساسیت سنسورها را کنترل می کنند ، دسترسی پیدا کرده و تنظیم کنم. در مرحله بعد ، نحوه اتصال خروجی سنسورهای IR به مولتی پلکسرها و خواندن آنها در آردوینو را توضیح خواهم داد.

مرحله 8: خروجی سنسور چندگانه

خروجی سنسور چندگانه
خروجی سنسور چندگانه
خروجی سنسور چندگانه
خروجی سنسور چندگانه
خروجی سنسور چندگانه
خروجی سنسور چندگانه

از آنجا که Arduino Uno فقط 14 پین ورودی/خروجی دیجیتال و 6 پین ورودی آنالوگ دارد و 120 سیگنال سنسور وجود دارد که باید خوانده شوند ، گنبد برای خواندن همه سیگنال ها به چند پلکسر نیاز دارد. من تصمیم گرفتم که 5 مولتی پلکسر 24 کاناله بسازم ، که در هر کدام 24 سنسور IR خوانده شده بود (به شکل نمای کلی قطعات الکترونیکی مراجعه کنید). MUX 24 کاناله شامل یک برد شکست 8 کاناله MUX ، برد شکست MUX 16 کاناله و MUX 2 کاناله است. سرصفحه های پین به هر برد بریکت لحیم شدند تا بتوانند به نمونه اولیه برد متصل شوند. با استفاده از یک ابزار سیم پیچ ، زمین ، 5 ولت و پین های سیگنال کنترل تخته های شکست MUX را وصل کردم.

یک MUX 24 کانالی به پنج سیگنال کنترلی نیاز دارد که من آنها را برای اتصال به پین 8-12 در آردوینو انتخاب کردم. هر پنج MUX 24 کاناله سیگنال های کنترل یکسانی را از آردوینو دریافت می کنند بنابراین سیم را از پین های آردوینو به MUX 24 کاناله وصل کردم. خروجی های دیجیتالی سنسورهای IR به پین های ورودی MUX 24 کاناله متصل می شوند تا بتوان آنها را به صورت سریال برای آردوینو خواند. از آنجا که در هر 120 خروجی سنسور پنج پایه جداگانه برای خواندن وجود دارد ، تصور اینکه گنبد به پنج قسمت جداگانه متشکل از 24 مثلث تقسیم شود (رنگ گنبد را در شکل بررسی کنید) مفید است.

با استفاده از دستکاری درگاه آردوینو ، می توانید به سرعت سیگنال های کنترلی ارسال شده توسط پین های 8-12 به مالتی پلکسرها را افزایش دهید. من چند کد نمونه برای کار با مالتی پلکسرها را در اینجا ضمیمه کرده ام:

int numChannel = 24 ؛

// خروجی ها // int s0 = 8؛ // MUX control 0 - PORTbD int s1 = 9؛ // MUX control 1 - PORTb int s2 = 10؛ // MUX control 2 - PORTb int s3 = 11؛ // MUX control 3 - PORTb int s4 = 12؛ // MUX control 4 - PORTb // INPUTS // int m0 = 3؛ // ورودی MUX 0 int m1 = 4 ؛ // ورودی MUX 1 int m2 = 5 ؛ // ورودی MUX 2 int m3 = 6 ؛ // ورودی MUX 3 int m4 = 7 ؛ // ورودی MUX 4 // متغیرها // int arr0r؛ // خواندن دیجیتال از MUX0 int arr1r؛ // خواندن دیجیتال از MUX1 int arr2r ؛ // خواندن دیجیتال از MUX2 int arr3r ؛ // خواندن دیجیتالی از MUX3 int arr4r؛ // خواندن دیجیتال از MUX4 void setup () {// کد راه اندازی خود را در اینجا قرار دهید تا یکبار اجرا شود: DDRB = B11111111؛ // پین های آردوینو 8 تا 13 را به عنوان ورودی pinMode (s0 ، OUTPUT) تنظیم می کند. pinMode (s1 ، OUTPUT) ؛ pinMode (s2 ، OUTPUT) ؛ pinMode (s3 ، OUTPUT) ؛ pinMode (s4 ، OUTPUT) ؛ pinMode (m0 ، INPUT) ؛ pinMode (m1 ، INPUT) ؛ pinMode (m2 ، INPUT) ؛ pinMode (m3 ، INPUT) ؛ pinMode (m4 ، INPUT) ؛ } void loop () {// کد اصلی خود را در اینجا قرار دهید تا بارها اجرا شود: PORTB = B00000000؛ // پین های کنترل SET برای mux low برای (int i = 0؛ i <numChannel؛ i ++) {// خروجی دیجیتال خواندن MUX0 - MUX4 برای سنسور IR i // اگر سنسور IR LO است ، مثلث توسط پخش کننده لمس می شود به arr0r = digitalRead (m0) ؛ // خواندن از Mux 0 ، IR sensor i arr1r = digitalRead (m1) ؛ // خواندن از Mux 1 ، IR sensor i arr2r = digitalRead (m2) ؛ // خواندن از Mux 2 ، IR sensor i arr3r = digitalRead (m3) ؛ // خواندن از Mux 3 ، IR sensor i arr4r = digitalRead (m4) ؛ // خواندن از Mux 4 ، IR sensor i // انجام کاری با ورودی های متعدد یا ذخیره در یک آرایه در اینجا // PORTB ++ ؛ // سیگنال های کنترل افزایشی برای MUX}}

مرحله 9: پخش نور با اکریلیک

پخش نور با اکریلیک
پخش نور با اکریلیک
پخش نور با اکریلیک
پخش نور با اکریلیک
پخش نور با اکریلیک
پخش نور با اکریلیک

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

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

مرحله 10: ساخت موسیقی با گنبد با استفاده از MIDI

ساخت موسیقی با گنبد با استفاده از MIDI
ساخت موسیقی با گنبد با استفاده از MIDI
ساخت موسیقی با گنبد با استفاده از MIDI
ساخت موسیقی با گنبد با استفاده از MIDI
ساخت موسیقی با گنبد با استفاده از MIDI
ساخت موسیقی با گنبد با استفاده از MIDI

من می خواستم گنبد بتواند صدا تولید کند ، بنابراین پنج کانال MIDI ، یکی برای هر زیر مجموعه گنبد ، ایجاد کردم. ابتدا باید پنج جک MIDI خریداری کرده و آن را همانطور که در شکل نشان داده شده است وصل کنید (برای اطلاعات بیشتر به این آموزش از پشتیبانی Arduino مراجعه کنید).

از آنجا که تنها یک پین سریال فرستنده در Arduino Uno وجود دارد (پین 2 با برچسب TX برچسب گذاری شده است) ، باید سیگنال های ارسال شده به پنج جک MIDI را چند برابر کنید. من از همان سیگنال های کنترل (پین 8-12) استفاده کردم ، زیرا سیگنال های MIDI در زمانی متفاوت از زمانی که سنسورهای IR در آردوینو خوانده می شوند ، ارسال می شوند. این سیگنال های کنترلی به یک demultiplexer 8 کاناله ارسال می شوند تا بتوانید کنترل کنید که کدام جک MIDI سیگنال MIDI ایجاد شده توسط آردوینو را دریافت می کند. سیگنال های MIDI توسط Arduino و کتابخانه سیگنال MIDI فوق العاده توسط Francois Best ایجاد شد. در اینجا چند کد نمونه برای تولید چندین خروجی MIDI به جک های مختلف MIDI با Arduino Uno آورده شده است:

#شامل // شامل کتابخانه MIDI

#تعریف تعداد کانال 24 // تعداد IR در مثلث #تعریف تعداد // MUX control 0 - PORTbD int s1 = 9؛ // MUX control 1 - PORTb int s2 = 10؛ // MUX control 2 - PORTb int s3 = 11؛ // MUX control 3 - PORTb int s4 = 12؛ // MUX control 4 - PORTb // INPUTS // int m0 = 3؛ // ورودی MUX 0 int m1 = 4 ؛ // ورودی MUX 1 int m2 = 5 ؛ // ورودی MUX 2 int m3 = 6 ؛ // ورودی MUX 3 int m4 = 7 ؛ // ورودی MUX 4 // متغیرها // int arr0r؛ // خواندن دیجیتال از MUX0 int arr1r؛ // خواندن دیجیتال از MUX1 int arr2r ؛ // خواندن دیجیتال از MUX2 int arr3r ؛ // خواندن دیجیتالی از MUX3 int arr4r؛ // خواندن دیجیتال از MUX4 int midArr [numSections] ؛ // ذخیره کنید که آیا توجه داشته باشید توسط یکی از بازیکنان int note2play فشار داده شده یا نه [numSections] ؛ // در صورت لمس سنسور با استفاده از یادداشت [numChannel] = {60 ، 61 ، 62 ، 63 ، 64 ، 65 ، 66 ، 67 ، 68 ، 69 ، 70 ، 71 ، 72 ، 73 ، 74 ، 75 ، یادداشت ذخیره می شود. 76 ، 77 ، 78 ، 79 ، 80 ، 81 ، 82 ، 83} ؛ int pauseMidi = 4000؛ // زمان مکث بین سیگنال های MIDI_CREATE_DEFAULT_INSTANCE ()؛ void setup () {// کد راه اندازی خود را در اینجا قرار دهید تا یکبار اجرا شود: DDRB = B11111111؛ // پین های آردوینو 8 تا 13 را به عنوان ورودی MIDI.begin (MIDI_CHANNEL_OFF) تنظیم می کند. pinMode (s0 ، OUTPUT) ؛ pinMode (s1 ، OUTPUT) ؛ pinMode (s2 ، OUTPUT) ؛ pinMode (s3 ، OUTPUT) ؛ pinMode (s4 ، OUTPUT) ؛ pinMode (m0 ، INPUT) ؛ pinMode (m1 ، INPUT) ؛ pinMode (m2 ، INPUT) ؛ pinMode (m3 ، INPUT) ؛ pinMode (m4 ، INPUT) ؛ } void loop () {// کد اصلی خود را در اینجا قرار دهید تا بارها اجرا شود: PORTB = B00000000؛ // پین های کنترل SET برای mux low برای (int i = 0؛ i <numChannel؛ i ++) {// خروجی دیجیتال خواندن MUX0 - MUX4 برای سنسور IR i // اگر سنسور IR LO است ، مثلث توسط پخش کننده لمس می شود به arr0r = digitalRead (m0) ؛ // خواندن از Mux 0 ، IR sensor i arr1r = digitalRead (m1) ؛ // خواندن از Mux 1 ، IR sensor i arr2r = digitalRead (m2) ؛ // خواندن از Mux 2 ، IR sensor i arr3r = digitalRead (m3) ؛ // خواندن از Mux 3 ، IR sensor i arr4r = digitalRead (m4) ؛ // خواندن از Mux 4 ، سنسور IR i if (arr0r == 0) // سنسور بخش 0 مسدود شد {midArr [0] = 1 ؛ // پخش کننده 0 به یک نت برخورد کرده است ، HI را طوری تنظیم کنید که خروجی MIDI برای پخش کننده 0 note2play [0] = یادداشت ها وجود داشته باشد؛ // توجه به پخش برای پخش 0} اگر (arr1r == 0) // سنسور بخش 1 مسدود شده بود {midArr [1] = 1؛ // پخش کننده 0 یک نت را زده است ، HI را طوری تنظیم کنید که خروجی MIDI برای پخش کننده 0 note2play [1] = یادداشت ها وجود داشته باشد؛ // توجه به بازی برای پخش 0} اگر (arr2r == 0) // سنسور بخش 2 مسدود شده بود {midArr [2] = 1؛ // پخش کننده 0 به یک نت توجه کرده است ، HI را طوری تنظیم کنید که خروجی MIDI برای پخش کننده 0 note2play [2] = یادداشت ها وجود داشته باشد؛ // توجه به پخش برای پخش 0} اگر (arr3r == 0) // سنسور قسمت 3 مسدود شده بود {midArr [3] = 1؛ // پخش کننده 0 به یک نت برخورد کرده است ، HI را طوری تنظیم کنید که خروجی MIDI برای پخش کننده 0 note2play [3] = یادداشت ها وجود داشته باشد؛ // توجه به پخش برای پخش کننده 0} اگر (arr4r == 0) // سنسور بخش 4 مسدود شده بود {midArr [4] = 1؛ // پخش کننده 0 به یک نت برخورد کرده است ، HI را طوری تنظیم کنید که خروجی MIDI برای پخش کننده 0 note2play [4] = یادداشت ها وجود داشته باشد؛ // توجه به پخش برای پخش کننده 0} PORTB ++ ؛ // افزایش سیگنال های کنترل برای MUX} updateMIDI ()؛ } void updateMIDI () {PORTB = B00000000؛ // پین های کنترل SET برای mux low if (midArr [0] == 1) // پخش کننده 0 خروجی MIDI {MIDI.sendNoteOn (note2play [0] ، 127 ، 1) ؛ تاخیر میکروثانیه (pauseMidi) ؛ MIDI.sendNoteOff (note2play [0] ، 127 ، 1) ؛ تاخیر میکروثانیه (pauseMidi) ؛ } PORTB ++ ؛ // افزایش MUX if (midArr [1] == 1) // پخش کننده 1 خروجی MIDI {MIDI.sendNoteOn (note2play [1] ، 127 ، 1) ؛ تاخیر میکروثانیه (pauseMidi) ؛ MIDI.sendNoteOff (note2play [1] ، 127 ، 1) ؛ تاخیر میکروثانیه (pauseMidi) ؛ } PORTB ++ ؛ // افزایش MUX if (midArr [2] == 1) // پخش کننده 2 خروجی MIDI {MIDI.sendNoteOn (note2play [2] ، 127 ، 1) ؛ تاخیر میکروثانیه (pauseMidi) ؛ MIDI.sendNoteOff (note2play [2] ، 127 ، 1) ؛ تاخیر میکروثانیه (pauseMidi) ؛ } PORTB ++؛ // افزایش MUX if (midArr [3] == 1) // پخش کننده 3 خروجی MIDI {MIDI.sendNoteOn (note2play [3] ، 127 ، 1) ؛ تاخیر میکروثانیه (pauseMidi) ؛ MIDI.sendNoteOff (note2play [3] ، 127 ، 1) ؛ تاخیر میکروثانیه (pauseMidi) ؛ } PORTB ++ ؛ // افزایش MUX if (midArr [4] == 1) // پخش کننده 4 خروجی MIDI {MIDI.sendNoteOn (note2play [4] ، 127 ، 1) ؛ تاخیر میکروثانیه (pauseMidi) ؛ MIDI.sendNoteOff (note2play [4] ، 127 ، 1) ؛ تاخیر میکروثانیه (pauseMidi) ؛ } midArr [0] = 0؛ midArr [1] = 0 ؛ midArr [2] = 0 ؛ midArr [3] = 0 ؛ midArr [4] = 0 ؛ }

مرحله 11: تغذیه گنبد

تغذیه گنبد
تغذیه گنبد
تغذیه گنبد
تغذیه گنبد
تغذیه گنبد
تغذیه گنبد
تغذیه گنبد
تغذیه گنبد

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

نوار LED: من تقریباً 3.75 متر از نوار LED Ws2801 ، که 6.4 وات بر متر مصرف می کند ، استفاده کردم. این مربوط به 24 وات (3.75*6.4) است. برای تبدیل این حالت به آمپر ، از توان = جریان*ولت (P = iV) استفاده کنید ، جایی که V ولتاژ نوار LED است ، در این مورد 5 ولت. بنابراین ، جریان خروجی از LED ها 4.8A (24W/5V = 4.8A) است.

سنسورهای IR: هر سنسور IR حدود 25 میلی آمپر ، در مجموع 3A برای 120 سنسور می گیرد.

آردوینو: 100 میلی آمپر ، 9 ولت

مالتی پلکسرها: پنج مولتی پلکسر 24 کاناله وجود دارد که هر کدام شامل یک مولتی پلکسر 16 کاناله و چند کانال چند کاناله هستند. MUX 8 کانالی و 16 کانالی هر کدام حدود 100 میلی آمپر مصرف می کند. بنابراین ، کل مصرف برق تمام MUX 1A است.

با جمع این اجزا ، مصرف کل برق حدود 9A است. نوار LED ، سنسورهای IR و مولتی پلکسرها دارای ولتاژ ورودی 5 ولت هستند و آردوینو دارای ولتاژ ورودی 9 ولت است. بنابراین ، من یک منبع تغذیه 12V 15A ، یک مبدل باک 15A برای تبدیل 12V به 5V و یک مبدل باک 3A برای تبدیل 12V به 9V برای Arduino انتخاب کردم.

مرحله 12: پایه گنبد دایره ای

پایگاه گنبد مدور
پایگاه گنبد مدور
پایگاه گنبد مدور
پایگاه گنبد مدور
پایگاه گنبد مدور
پایگاه گنبد مدور

گنبد بر روی یک قطعه چوبی مدور با پنج ضلعی از وسط بریده شده است تا دسترسی آسان به وسایل الکترونیکی آسان شود. برای ایجاد این پایه دایره ای ، یک ورق تخته سه لا با ابعاد 4 در 6 اینچ با استفاده از روتر CNC چوبی بریده شد. اره منبت کاری اره مویی نیز می تواند برای این مرحله استفاده شود. پس از برش پایه ، گنبد با استفاده از بلوک های کوچک 2x3 اینچی چوب به آن متصل شد.

در بالای پایه ، منبع تغذیه را با اپوکسی و مبدل های MUX’s و Buck را با جدا کننده های ایستاده PCB وصل کردم. جدا کننده ها با استفاده از آداپتورهای نخ E-Z Lok به تخته سه لا متصل شدند.

مرحله 13: پایگاه گنبد پنتاگون

پایگاه گنبد پنتاگون
پایگاه گنبد پنتاگون
پایگاه گنبد پنتاگون
پایگاه گنبد پنتاگون
پایگاه گنبد پنتاگون
پایگاه گنبد پنتاگون

علاوه بر پایه دایره ای ، من همچنین یک پایه پنج ضلعی برای گنبد با پنجره ای شیشه ای در پایین ساختم. این پایه و پنجره از جنس تخته سه لا با روتر CNC چوبی ساخته شده است. طرفین پنج ضلعی از تخته های چوبی ساخته شده اند که یک طرف آن سوراخی برای عبور کانکتورها دارد. با استفاده از براکت های فلزی و اتصالات بلوک 2x3 ، تخته های چوبی به پایه پنج ضلعی متصل می شوند. یک سوئیچ قدرت ، اتصالات MIDI و اتصال USB به یک پنل جلویی متصل شده است که با استفاده از برش لیزری ایجاد کرده ام. کل پایه پنج ضلعی به پایه دایره ای که در مرحله 12 توضیح داده شده است ، پیچ می شود.

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

مرحله 14: برنامه ریزی گنبد

امکانات بی پایان برای برنامه نویسی گنبد وجود دارد. هر چرخه کد سیگنالهای سنسورهای IR را دریافت می کند که نشان دهنده مثلث هایی است که توسط کسی لمس شده است. با استفاده از این اطلاعات می توانید گنبد را با هر رنگ RGB رنگ کنید و/یا یک سیگنال MIDI تولید کنید. در اینجا چند نمونه از برنامه هایی که برای گنبد نوشتم آورده شده است:

رنگ گنبد: هر مثلث هنگام لمس کردن چهار رنگ را دور می زند. با تغییر رنگ ، آرپژو اجرا می شود. با این برنامه می توانید گنبد را به هزاران روش مختلف رنگ آمیزی کنید.

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

سیمون: من یک نسخه از سیمون ، بازی کلاسیک روشن کردن حافظه نوشتم. یک توالی تصادفی از چراغها یکی یکی در سراسر گنبد روشن می شود. در هر نوبت ، بازیکن باید دنباله را کپی کند. اگر پخش کننده با توالی به درستی مطابقت داشته باشد ، یک نور اضافی به دنباله اضافه می شود. نمره بالا در یکی از بخشهای گنبد ذخیره می شود. این بازی همچنین بسیار سرگرم کننده برای بازی با چند نفر است.

پونگ: چرا پنگ را روی گنبد بازی نمی کنید؟ یک توپ در سراسر گنبد پخش می شود تا زمانی که به پارو برخورد کند. در این حالت ، یک سیگنال MIDI تولید می شود که نشان می دهد پارو به توپ برخورد کرده است. سپس بازیکن دیگر باید پارو را در امتداد پایین گنبد هدایت کند تا به توپ ضربه بزند.

مرحله 15: عکسهای گنبد کامل شده

عکسهای گنبد تکمیل شده
عکسهای گنبد تکمیل شده
عکسهای گنبد تکمیل شده
عکسهای گنبد تکمیل شده
عکسهای گنبد تکمیل شده
عکسهای گنبد تکمیل شده
عکسهای گنبد تکمیل شده
عکسهای گنبد تکمیل شده
مسابقه آردوینو 2016
مسابقه آردوینو 2016
مسابقه آردوینو 2016
مسابقه آردوینو 2016

جایزه بزرگ در مسابقه آردوینو 2016

مسابقه ریمیکس 2016
مسابقه ریمیکس 2016
مسابقه ریمیکس 2016
مسابقه ریمیکس 2016

جایزه دوم در مسابقه ریمیکس 2016

مسابقه Make it Glow 2016
مسابقه Make it Glow 2016
مسابقه Make it Glow 2016
مسابقه Make it Glow 2016

جایزه دوم در مسابقه Make it Glow 2016

توصیه شده: