جدول المحتويات:

قبة LED جيوديسية تفاعلية: 15 خطوة (بالصور)
قبة LED جيوديسية تفاعلية: 15 خطوة (بالصور)

فيديو: قبة LED جيوديسية تفاعلية: 15 خطوة (بالصور)

فيديو: قبة LED جيوديسية تفاعلية: 15 خطوة (بالصور)
فيديو: Maker Update: When in Dome 2024, يوليو
Anonim
Image
Image
قبة LED جيوديسية تفاعلية
قبة LED جيوديسية تفاعلية
قبة LED جيوديسية تفاعلية
قبة LED جيوديسية تفاعلية
قبة LED جيوديسية تفاعلية
قبة LED جيوديسية تفاعلية

قمت ببناء قبة جيوديسية تتكون من 120 مثلثًا مع مؤشر LED وجهاز استشعار في كل مثلث. يمكن معالجة كل LED على حدة ويتم ضبط كل مستشعر على وجه التحديد لمثلث واحد. تمت برمجة القبة باستخدام Arduino لتضيء وتصدر إشارة MIDI اعتمادًا على المثلث الذي تضعه بيدك.

لقد صممت القبة لتكون عرضًا ممتعًا يثير اهتمام الناس بالضوء والإلكترونيات والصوت. نظرًا لأن القبة تنقسم بشكل جيد إلى خمسة أجزاء ، فقد صممت القبة بحيث تحتوي على خمسة مخرجات MIDI منفصلة يمكن أن يكون لكل منها صوت مختلف. هذا يجعل القبة آلة موسيقية عملاقة ، ومثالية لتشغيل الموسيقى مع عدة أشخاص في وقت واحد. بالإضافة إلى تشغيل الموسيقى ، قمت أيضًا ببرمجة القبة للعروض الخفيفة ولعب أداء مسرحي لسيمون وبونج. يبلغ قطر الهيكل النهائي أكثر من متر بقليل وطوله 70 سم ، وهو مبني بشكل أساسي من الخشب والأكريليك والأجزاء المطبوعة ثلاثية الأبعاد.

هناك العديد من Instructables الرائعة على طاولات ومكعبات LED التي ألهمتني لبدء هذا المشروع. ومع ذلك ، أردت أن أحاول ترتيب المصابيح في شكل هندسي مختلف. لم أستطع التفكير في هيكل أفضل للمشروع من قبة جيوديسية ، وهي موثقة جيدًا أيضًا في Instructables. إذن هذا المشروع عبارة عن ريمكس / مزيج من طاولات LED والقباب الجيوديسية. فيما يلي روابط لجدول LED والقبة الجيوديسية Instructables التي قمت بفحصها في بداية المشروع.

طاولات ومكعبات 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.4 قدم / 5 متر شريط بكسل LED ملون قابل للتحكم 160 المصابيح Ws2801 Dc5v)

3. Arduino Uno (Atmega328 - مُجمع)

4. لوحة النموذج الأولي (Penta Angel Double-Side Prototype PCB Universal (7x9cm))

5. أكريليك لنشر المصابيح (لوح أكريليك مصبوب ، شفاف ، مقاس 12 × 12 × 0.118 بوصة)

6. مزود الطاقة (Aiposen 110 / 220V to DC12V 30A 360W Switch Power Supply Driver)

7. محول باك لاردوينو (RioRand LM2596 DC-DC Buck Converter 1.23V-30V)

8. محول باك لمصابيح LED وأجهزة الاستشعار (DROK Mini Electric Buck Voltage Converter 15A)

9. 120 مستشعرًا يعمل بالأشعة تحت الحمراء (وحدة استشعار تجنب عقبة الأشعة تحت الحمراء)

10. خمسة معددات 16 قناة (اندلاع MUX تناظري / رقمي - CD74HC4067)

11. ستة معددات بث 8 قنوات (Multiplexer Breakout - 8 Channel (74HC4051))

12. خمسة معددات ثنائية القنوات (MAX4544CPA +)

13. سلك لف الأسلاك (PCB Solder 0.25mm القصدير مطلي بالقصدير سلك نحاسي Dia سلك لف سلك 305M 30AWG أحمر)

14. سلك توصيل (صلب ، 22 AWG)

15. رؤوس الدبوس (Gikfun 1 x 40 Pin 2.54mm صف واحد منفصل رأس دبوس ذكر)

16. خمسة مقابس MIDI (مقبس MIDI صديق اللوح (5 سنون DIN))

17. عشرة مقاومات 220 أوم لرافعات MIDI

18. الفواصل الفاصلة لتركيب الإلكترونيات على القبة (الفاصل الفاصل سداسي M3 ذكر × M3 أنثى)

19. محولات الخيط لتوصيل الحوامل بالخشب (E-Z Lok Threaded Insert ، Brass ، Knife Thread)

20. الايبوكسي أو الغوريلا Superglue

21. شريط كهربائي

22. جندى

أدوات:

1. محطة لحام

2. المثقاب الكهربائي

3. منشار دائري

4. ساندر المداري

5. منشار الرقصة

6. رأى ميتري

7. منقلة

8. طابعة ثلاثية الأبعاد

9. قواطع للاسلاك

10. أداة لف الأسلاك

11. آلة القطع بالليزر لقطع ألواح LED (إختياري)

12. الروبوت شوبوت باستخدام الحاسب الآلي لقاعدة القبة (اختياري)

الخطوة الثانية: تصميم القبة الجيوديسية

تصميم القبة الجيوديسية
تصميم القبة الجيوديسية
تصميم القبة الجيوديسية
تصميم القبة الجيوديسية

كما ذكرت في المقدمة ، هناك العديد من المصادر عبر الإنترنت لبناء القبة الجيوديسية الخاصة بك. توفر هذه المواقع آلات حاسبة على شكل قبة تحدد طول كل جانب (أي الدعامة) وعدد الموصلات المطلوبة لأي نوع من القبة التي تريد بناءها. يتم تحديد تعقيد القبة الجيوديسية (أي كثافة المثلثات) من خلال فئتها (1V ، 2V ، 3V ، وما إلى ذلك) ، مع زيادة التعقيد يصبح التقريب الأفضل لسطح كروي مثالي. لبناء القبة الخاصة بك ، يجب عليك أولاً تحديد قطر القبة والفئة.

لقد استخدمت موقعًا يسمى Domerama لمساعدتي في تصميم قبة 4V تم قطعها إلى 5/12 من كرة بنصف قطر 40 سم. لهذا النوع من القبة ، هناك ستة دعامات مختلفة الطول:

30 × "أ" - 8.9 سم

30 × "ب" - 10.4 سم

50 × "ج" - 12.4 سم

40 × "D" - 12.5 سم

20 × "E" - 13.0 سم

20 × "F" - 13.2 سم

هذا إجمالي 190 دعامة تضيف ما يصل إلى 2223 سم (73 قدمًا) من المواد. لقد استخدمت خشب الصنوبر 1x3 (3/4 "× 2-1 / 2") للدعامات في هذه القبة. لتوصيل الدعامات ، قمت بتصميم موصلات مطبوعة ثلاثية الأبعاد باستخدام أوتوكاد. تتوفر ملفات STL للتنزيل في نهاية هذه الخطوة. عدد الوصلات لقبة 4V 5/12 هو:

20 × 4 موصل

6 × 5 موصل

موصل 45 X 6

في الخطوة التالية ، أصف كيف تم بناء هذه القبة بالدعامات الخشبية والموصلات المطبوعة ثلاثية الأبعاد التي صممتها.

الخطوة الثالثة: إنشاء قبة بالدعامات والموصلات

انشاء قبة بالدعامات والموصلات
انشاء قبة بالدعامات والموصلات
انشاء قبة بالدعامات والموصلات
انشاء قبة بالدعامات والموصلات
انشاء قبة بالدعامات والموصلات
انشاء قبة بالدعامات والموصلات
انشاء قبة بالدعامات والموصلات
انشاء قبة بالدعامات والموصلات

باستخدام حسابات 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 لكتابة وقراءة إشارات القبة. لإضاءة القبة ، يتم تشغيل شريط RGB LED فوق القبة بحيث يتم وضع مؤشر LED في كل واحد من المثلثات الـ 120. للحصول على معلومات حول كيفية عمل شريط LED ، تحقق من هذه التعليمات. يمكن معالجة كل مؤشر LED بشكل منفصل باستخدام Arduino ، الذي ينتج بيانات تسلسلية وإشارة ساعة للشريط (انظر دبوس A0 و A1 في التخطيطي). باستخدام الشريط وهاتين الإشارتين وحدهما ، يمكنك الحصول على قبة مضيئة رائعة. هناك طرق أخرى لكتابة إشارات للعديد من مؤشرات LED من Arduino ، مثل Charlieplexing وسجلات التحول.

للتفاعل مع القبة ، قمت بإعداد مستشعر الأشعة تحت الحمراء فوق كل مصباح LED. تُستخدم هذه المستشعرات لاكتشاف متى تكون يد شخص ما قريبة من مثلث على القبة. نظرًا لأن كل مثلث على القبة له مستشعر الأشعة تحت الحمراء الخاص به وهناك 120 مثلثًا ، فسيتعين عليك القيام بنوع من مضاعفة الإرسال قبل Arduino. قررت استخدام خمسة معددات ذات 24 قناة (MUX) لـ 120 مستشعرًا على القبة. فيما يلي تعليمات حول مضاعفة الإرسال ، إذا لم تكن مألوفًا. يتطلب MUX ذو الـ 24 قناة خمس إشارات تحكم. لقد اخترت دبابيس 8-12 على Arduino ، لذلك يمكنني القيام بمعالجة المنفذ (انظر الخطوة 10 لمزيد من المعلومات). تتم قراءة إخراج لوحات MUX باستخدام المسامير 3-7.

لقد قمت أيضًا بتضمين خمسة مخرجات MIDI على القبة بحيث يمكنها إنتاج الصوت (الخطوة 11). بمعنى آخر ، يمكن لخمسة أشخاص العزف على القبة في وقت واحد مع تشغيل كل مخرج صوتًا مختلفًا. لا يوجد سوى دبوس TX واحد على Arduino ، لذا فإن خمس إشارات MIDI تتطلب فك تعدد الإرسال. نظرًا لأن إخراج MIDI يتم إنتاجه في وقت مختلف عن قراءة مستشعر الأشعة تحت الحمراء ، فقد استخدمت نفس إشارات التحكم.

بعد قراءة جميع مدخلات مستشعر الأشعة تحت الحمراء في Arduino ، يمكن أن تضيء القبة وتشغيل الأصوات ولكنك تقوم ببرمجة Arduino. لدي بعض الأمثلة في الخطوة 14 من هذا الدليل.

الخطوة 6: تركيب المصابيح على القبة

تركيب المصابيح على القبة
تركيب المصابيح على القبة
تركيب المصابيح على القبة
تركيب المصابيح على القبة
تركيب المصابيح على القبة
تركيب المصابيح على القبة

نظرًا لأن القبة كبيرة جدًا ، يجب قطع شريط LED لوضع مؤشر LED واحد على كل مثلث. يتم لصق كل LED على المثلث باستخدام الغراء الفائق. على جانبي LED ، يتم حفر ثقب من خلال اللوحة الأساسية للكابلات التي يتم تشغيلها عبر القبة. ثم قمت بعد ذلك بلحام سلك ربط عند كل جهة اتصال على مؤشر LED (5 فولت ، أرضي ، ساعة ، إشارة) وأقوم بتغذية الأسلاك من خلال اللوحة الأساسية. يتم قطع هذه الأسلاك بحيث تكون طويلة بما يكفي للوصول إلى مؤشر LED التالي على القبة. يتم سحب الأسلاك من خلال مؤشر LED التالي ، وتستمر العملية. لقد قمت بتوصيل مصابيح LED بتكوين من شأنه أن يقلل من كمية الأسلاك المطلوبة مع الاستمرار في التعامل مع مصابيح LED باستخدام Arduino لاحقًا. ستلغي القبة الأصغر الحاجة إلى قطع الشريط وتوفر الكثير من الوقت في اللحام. خيار آخر هو استخدام RGB LEDS منفصلة مع سجلات التحول.

يتم تحقيق الاتصال التسلسلي بالشريط باستخدام دبابيس (دبوس بيانات وساعة) من Arduino. بمعنى آخر ، يتم تمرير البيانات الخاصة بإضاءة القبة من مؤشر LED إلى المصباح التالي لأنه يترك دبوس البيانات. إليك مثال على رمز تم تعديله من منتدى Arduino:

// اجعل القبة بأكملها تزيد وتقليل شدة اللون الفردي

#define numLeds 120 // Number of LEDs // OUTPUT PINS // int clockPin = A1 ؛ // تحديد رقم الساعة int dataPin = A0 ؛ // تعريف دبوس البيانات // VARIABLES // int red [numLeds] ؛ // تهيئة مجموعة لشريط LED باللون الأخضر [numLeds] ؛ // تهيئة مجموعة لشريط LED باللون الأزرق [numLeds] ؛ // تهيئة مصفوفة لشريط LED // مقياس مزدوج ثابت 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 () {pinMode (clockPin ، الإخراج) ؛ pinMode (dataPin ، الإخراج) ؛ memset (أحمر ، 0 ، numLeds) ؛ memset (أخضر ، 0 ، numLeds) ؛ memset (أزرق ، 0 ، numLeds) ؛ } تحديث باطل (int redA [numLeds]، int greenA [numLeds]، int blueA [numLeds]) {for (int i = 0؛ i <numLeds؛ i ++) {shiftOut (dataPin، clockPin، MSBFIRST، redA ) ؛ shiftOut (dataPin ، clockPin ، MSBFIRST ، greenA ) ؛ shiftOut (dataPin ، clockPin ، MSBFIRST ، blueA ) ؛ }} void loop () {for (int p = 0؛ p <20؛ p ++) // loop لزيادة شدة ضوء القبة {double scale = scaleA [p]؛ تأخير (20) ؛ لـ (int i = 0 ؛ i <numLeds ؛ i ++) // دورة عبر جميع LEDS {red = 255 * scale ؛ أخضر = 80 * مقياس ؛ أزرق = 0 ؛ } updatestring (أحمر ، أخضر ، أزرق) ؛ // تحديث قطاع الصمام}}

الخطوة 7: تصميم وتنفيذ جهاز الاستشعار

تصميم وتنفيذ جهاز الاستشعار
تصميم وتنفيذ جهاز الاستشعار
تصميم وتنفيذ جهاز الاستشعار
تصميم وتنفيذ جهاز الاستشعار
تصميم وتنفيذ جهاز الاستشعار
تصميم وتنفيذ جهاز الاستشعار

قررت استخدام مستشعرات الأشعة تحت الحمراء للقبة. تحتوي هذه المستشعرات على IR LED وجهاز الاستقبال. عندما يكون جسم ما أمام المستشعر ، ينعكس بعض إشعاع الأشعة تحت الحمراء من IR LED باتجاه جهاز الاستقبال. لقد بدأت هذا المشروع من خلال صنع مستشعرات الأشعة تحت الحمراء الخاصة بي ، والتي كانت تستند إلى تعليمات ريتشاردوفينا. استغرق كل اللحام وقتًا طويلاً ، لذلك اشتريت 120 جهاز استشعار IR من eBay ينتج كل منها مخرجات رقمية. يتم ضبط عتبة المستشعر بمقياس جهد على اللوحة بحيث يكون الناتج مرتفعًا فقط عندما تكون اليد بالقرب من هذا المثلث.

يتكون كل مثلث من لوح أساس من الخشب الرقائقي LED ، وصفيحة من الأكريليك منتشر مثبتة على ارتفاع 2.5 سم فوق لوحة LED ، وجهاز استشعار الأشعة تحت الحمراء. تم تثبيت المستشعر الخاص بكل مثلث على لوح من الخشب الرقائقي الرقيق على شكل خماسي أو سداسي حسب الموضع على القبة (انظر الشكل أعلاه). لقد قمت بحفر ثقوب في قاعدة مستشعر الأشعة تحت الحمراء لتركيب مستشعرات الأشعة تحت الحمراء ، ثم قمت بتوصيل الأرض ودبابيس 5 فولت بسلك ملفوف بالأسلاك وأداة لف الأسلاك (أسلاك حمراء وسوداء). بعد توصيل الأرض و 5 فولت ، قمت بلف سلك ملفوف طويل على كل مخرج (أصفر) وأرضي و 5 فولت للتشغيل عبر القبة.

تم بعد ذلك إيبوكسيد حوامل مستشعر الأشعة تحت الحمراء السداسية أو الخماسية إلى القبة ، أعلى الموصلات المطبوعة ثلاثية الأبعاد مباشرةً ، بحيث يمكن أن يمر السلك عبر القبة. من خلال وجود المستشعرات فوق الموصلات ، تمكنت أيضًا من الوصول إلى مقاييس الجهد وضبطها على مستشعرات الأشعة تحت الحمراء التي تتحكم في حساسية المستشعرات. في الخطوة التالية ، سأصف كيفية توصيل مخرجات مستشعرات الأشعة تحت الحمراء بمضاعفات الإرسال وقراءتها في Arduino.

الخطوة 8: مضاعفة خرج المستشعر

إخراج جهاز استشعار مضاعفة
إخراج جهاز استشعار مضاعفة
إخراج جهاز استشعار مضاعفة
إخراج جهاز استشعار مضاعفة
إخراج جهاز استشعار مضاعفة
إخراج جهاز استشعار مضاعفة

نظرًا لأن Arduino Uno يحتوي فقط على 14 منفذ إدخال / إخراج رقمي و 6 دبابيس إدخال تمثيلية وهناك 120 إشارة مستشعر يجب قراءتها ، تتطلب القبة معددات إرسال لقراءة جميع الإشارات. اخترت إنشاء خمسة معددات ذات 24 قناة ، كل منها يقرأ 24 من مستشعرات الأشعة تحت الحمراء (انظر الشكل العام للإلكترونيات). يتكون MUX ذو الـ 24 قناة من لوحة فصل MUX ذات 8 قنوات ، ولوحة فصل MUX ذات 16 قناة ، وقناتين MUX. تم لحام رؤوس الدبوس بكل لوحة اندلاع بحيث يمكن توصيلها بلوحة النموذج الأولي. باستخدام أداة لف الأسلاك ، قمت بعد ذلك بتوصيل الأرض ، 5 فولت ، ودبابيس إشارة التحكم للوحات اندلاع MUX.

يتطلب MUX ذو 24 قناة خمس إشارات تحكم ، والتي اخترت توصيلها بالدبوس 8-12 على Arduino. تتلقى جميع أجهزة MUX الخمسة ذات الـ 24 قناة نفس إشارات التحكم من Arduino لذلك قمت بتوصيل السلك من دبابيس Arduino إلى MUX ذي الـ 24 قناة. يتم توصيل المخرجات الرقمية لمستشعرات الأشعة تحت الحمراء بدبابيس الإدخال الخاصة بـ 24 قناة MUX بحيث يمكن قراءتها بالتسلسل إلى Arduino. نظرًا لوجود خمسة دبابيس منفصلة للقراءة في جميع مخرجات المستشعر البالغ عددها 120 ، فمن المفيد تخيل القبة مقسمة إلى خمسة أقسام منفصلة تتكون من 24 مثلثًا (تحقق من ألوان القبة في الشكل).

باستخدام معالجة منفذ Arduino ، يمكنك زيادة إشارات التحكم المرسلة بواسطة المسامير 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 input 0 int m1 = 4 ؛ // MUX input 1 int m2 = 5 ؛ // MUX input 2 int m3 = 6 ؛ // MUX input 3 int m4 = 7 ؛ // MUX input 4 // VARIABLES // int arr0r ؛ // قراءة رقمية من MUX0 int arr1r ؛ // قراءة رقمية من MUX1 int arr2r ؛ // قراءة رقمية من MUX2 int arr3r ؛ // قراءة رقمية من MUX3 int arr4r ؛ // قراءة رقمية من إعداد باطل MUX4 () {// ضع كود الإعداد هنا ، للتشغيل مرة واحدة: DDRB = B11111111؛ // يعين دبابيس Arduino من 8 إلى 13 كمدخلات pinMode (s0 ، الإخراج) ؛ pinMode (s1 ، الإخراج) ؛ pinMode (s2 ، الإخراج) ؛ pinMode (s3 ، الإخراج) ؛ pinMode (s4 ، الإخراج) ؛ pinMode (m0 ، الإدخال) ؛ pinMode (m1 ، الإدخال) ؛ pinMode (م 2 ، المدخلات) ؛ pinMode (m3 ، الإدخال) ؛ pinMode (m4 ، الإدخال) ؛ } void loop () {// ضع الكود الرئيسي هنا ، للتشغيل بشكل متكرر: PORTB = B00000000؛ // تعيين دبابيس التحكم لـ mux low لـ (int i = 0؛ i <numChannel؛ i ++) {// إخراج القراءة الرقمية لـ MUX0 - MUX4 لمستشعر الأشعة تحت الحمراء i // إذا كان مستشعر الأشعة تحت الحمراء LO ، فإن اللاعب يلمس المثلث. arr0r = digitalRead (m0) ؛ // القراءة من Mux 0 ، مستشعر الأشعة تحت الحمراء i arr1r = digitalRead (m1) ؛ // القراءة من Mux 1 ، مستشعر الأشعة تحت الحمراء i arr2r = digitalRead (m2) ؛ // القراءة من Mux 2 ، مستشعر الأشعة تحت الحمراء i arr3r = digitalRead (m3) ؛ // القراءة من Mux 3 ، مستشعر الأشعة تحت الحمراء i arr4r = digitalRead (m4) ؛ // القراءة من Mux 4 ، مستشعر الأشعة تحت الحمراء أنا // افعل شيئًا باستخدام مداخل MUX أو احفظه في صفيف هنا // PORTB ++ ؛ // زيادة إشارات التحكم لـ MUX}}

الخطوة 9: نشر الضوء بالاكريليك

نشر الضوء بالاكريليك
نشر الضوء بالاكريليك
نشر الضوء بالاكريليك
نشر الضوء بالاكريليك
نشر الضوء بالاكريليك
نشر الضوء بالاكريليك

لنشر الضوء من مصابيح LED ، قمت بصقل أكريليك شفاف بآلة صنفرة دائرية. تم تحريك أداة الصنفرة على جانبي الأكريليك في حركة على شكل رقم 8. لقد وجدت هذه الطريقة أفضل بكثير من رذاذ الطلاء "الزجاج المصنفر".

بعد صنفرة وتنظيف الأكريليك ، استخدمت قاطع ليزر لقطع المثلثات لتلائم مصابيح LED. من الممكن قطع الأكريليك باستخدام أداة قطع الأكريليك أو حتى منشار بانوراما إذا لم يتشقق الأكريليك. تم تعليق الأكريليك فوق مصابيح LED بواسطة مستطيلات من الخشب الرقائقي بسمك 5 مم مقطوعة أيضًا بقاطع ليزر. تم لصق هذه الألواح الصغيرة على الدعامات الموجودة على القبة ، وتم لصق مثلثات الأكريليك على الألواح الخشبية.

الخطوة 10: صنع الموسيقى مع القبة باستخدام MIDI

صنع الموسيقى مع القبة باستخدام MIDI
صنع الموسيقى مع القبة باستخدام MIDI
صنع الموسيقى مع القبة باستخدام MIDI
صنع الموسيقى مع القبة باستخدام MIDI
صنع الموسيقى مع القبة باستخدام MIDI
صنع الموسيقى مع القبة باستخدام MIDI

أردت أن تكون القبة قادرة على إنتاج الصوت ، لذلك قمت بإعداد خمس قنوات MIDI ، واحدة لكل مجموعة فرعية من القبة. تحتاج أولاً إلى شراء خمسة مقابس MIDI وتوصيلها كما هو موضح في التخطيطي (انظر هذا البرنامج التعليمي من دعم Arduino لمزيد من المعلومات).

نظرًا لوجود دبوس تسلسلي واحد للإرسال على Arduino Uno (الدبوس 2 المسمى بدبوس TX) ، فأنت بحاجة إلى إلغاء تعدد إرسال الإشارات التي يتم إرسالها إلى مقابس MIDI الخمسة. لقد استخدمت نفس إشارات التحكم (دبوس 8-12) ، لأن إشارات MIDI يتم إرسالها في وقت مختلف عن وقت قراءة مستشعرات الأشعة تحت الحمراء في Arduino. يتم إرسال إشارات التحكم هذه إلى مزيل تعدد الإرسال ذي 8 قنوات بحيث يمكنك التحكم في مقبس MIDI الذي يستقبل إشارة MIDI التي تم إنشاؤها بواسطة Arduino. تم إنشاء إشارات MIDI بواسطة Arduino مع مكتبة إشارات MIDI الرائعة التي أنشأها Francois Best. فيما يلي بعض الأمثلة البرمجية لإنتاج مخرجات MIDI متعددة لمقابس MIDI مختلفة باستخدام Arduino Uno:

# تضمين // تتضمن مكتبة MIDI

#define numChannel 24 // Number of IR لكل مثلث #define numberSections 5 // عدد الأقسام في القبة ، عدد 24 قناة MUX ، عدد مقابس MIDI // OUTPUTS // 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 input 0 int m1 = 4 ؛ // MUX input 1 int m2 = 5 ؛ // MUX input 2 int m3 = 6 ؛ // MUX input 3 int m4 = 7 ؛ // MUX input 4 // VARIABLES // int arr0r ؛ // قراءة رقمية من MUX0 int arr1r ؛ // قراءة رقمية من MUX1 int arr2r ؛ // قراءة رقمية من MUX2 int arr3r ؛ // قراءة رقمية من MUX3 int arr4r ؛ // قراءة رقمية من MUX4 int midArr [numSections] ؛ // تخزين سواء تم الضغط على ملاحظة من قبل أحد اللاعبين int note2play [numSections] ؛ // تخزين ملاحظة ليتم تشغيلها إذا تم لمس المستشعر ملاحظات int [عدد القنوات] = {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 MIDI_CREATE_DEFAULT_INSTANCE () ؛ إعداد باطل () {// ضع كود الإعداد هنا ، للتشغيل مرة واحدة: DDRB = B11111111؛ // يعين دبابيس Arduino من 8 إلى 13 كمدخلات MIDI.begin (MIDI_CHANNEL_OFF) ؛ pinMode (s0 ، الإخراج) ؛ pinMode (s1 ، الإخراج) ؛ pinMode (s2 ، الإخراج) ؛ pinMode (s3 ، الإخراج) ؛ pinMode (s4 ، الإخراج) ؛ pinMode (m0 ، الإدخال) ؛ pinMode (m1 ، الإدخال) ؛ pinMode (م 2 ، المدخلات) ؛ pinMode (m3 ، الإدخال) ؛ pinMode (m4 ، الإدخال) ؛ } void loop () {// ضع الكود الرئيسي هنا ، للتشغيل بشكل متكرر: PORTB = B00000000؛ // تعيين دبابيس التحكم لـ mux low لـ (int i = 0؛ i <numChannel؛ i ++) {// إخراج القراءة الرقمية لـ MUX0 - MUX4 لمستشعر الأشعة تحت الحمراء i // إذا كان مستشعر الأشعة تحت الحمراء LO ، فإن اللاعب يلمس المثلث. arr0r = digitalRead (m0) ؛ // القراءة من Mux 0 ، مستشعر الأشعة تحت الحمراء i arr1r = digitalRead (m1) ؛ // القراءة من Mux 1 ، مستشعر الأشعة تحت الحمراء i arr2r = digitalRead (m2) ؛ // القراءة من Mux 2 ، مستشعر الأشعة تحت الحمراء i arr3r = digitalRead (m3) ؛ // القراءة من Mux 3 ، مستشعر الأشعة تحت الحمراء i arr4r = digitalRead (m4) ؛ // القراءة من Mux 4 ، مستشعر الأشعة تحت الحمراء i إذا (arr0r == 0) // تم حظر المستشعر في القسم 0 {midArr [0] = 1 ؛ // لقد أصاب اللاعب 0 ملاحظة ، اضبط HI بحيث يكون هناك إخراج MIDI للاعب 0 note2play [0] = notes ؛ // ملاحظة للعب للاعب 0} إذا (arr1r == 0) // تم حظر المستشعر في القسم 1 {midArr [1] = 1 ؛ // لقد أصاب اللاعب 0 ملاحظة ، اضبط HI بحيث يكون هناك إخراج MIDI للاعب 0 note2play [1] = notes ؛ // ملاحظة للعب للاعب 0} إذا (arr2r == 0) // تم حظر المستشعر في القسم 2 {midArr [2] = 1 ؛ // لقد أصاب اللاعب 0 ملاحظة ، اضبط HI بحيث يكون هناك إخراج MIDI للاعب 0 note2play [2] = notes ؛ // ملاحظة للعب للاعب 0} إذا (arr3r == 0) // تم حظر المستشعر في القسم 3 {midArr [3] = 1 ؛ // لقد أصاب اللاعب 0 ملاحظة ، اضبط HI بحيث يكون هناك إخراج MIDI للاعب 0 note2play [3] = notes ؛ // ملاحظة للعب للاعب 0} إذا (arr4r == 0) // تم حظر المستشعر في القسم 4 {midArr [4] = 1 ؛ // لقد أصاب اللاعب 0 ملاحظة ، اضبط HI بحيث يكون هناك إخراج MIDI للاعب 0 note2play [4] = notes ؛ // ملاحظة للعب Player 0} PORTB ++ ؛ // زيادة إشارات التحكم لـ MUX} updateMIDI () ؛ } updateMIDI () باطل {PORTB = B00000000 ؛ // SET control pin for mux low if (midArr [0] == 1) // Player 0 خرج MIDI {MIDI.sendNoteOn (note2play [0]، 127، 1)؛ delayMicroseconds (وقفة ميدي) ؛ MIDI.sendNoteOff (note2play [0] ، 127 ، 1) ؛ delayMicroseconds (وقفة ميدي) ؛ } PORTB ++ ؛ // increment MUX if (midArr [1] == 1) // إخراج اللاعب 1 MIDI {MIDI.sendNoteOn (note2play [1]، 127، 1) ؛ delayMicroseconds (وقفة ميدي) ؛ MIDI.sendNoteOff (note2play [1] ، 127 ، 1) ؛ delayMicroseconds (وقفة ميدي) ؛ } PORTB ++ ؛ // increment MUX if (midArr [2] == 1) // إخراج Player 2 MIDI {MIDI.sendNoteOn (note2play [2]، 127، 1) ؛ delayMicroseconds (وقفة ميدي) ؛ MIDI.sendNoteOff (note2play [2] ، 127 ، 1) ؛ delayMicroseconds (وقفة ميدي) ؛ } PORTB ++ ؛ // increment MUX if (midArr [3] == 1) // إخراج Player 3 MIDI {MIDI.sendNoteOn (note2play [3]، 127، 1) ؛ delayMicroseconds (وقفة ميدي) ؛ MIDI.sendNoteOff (note2play [3] ، 127 ، 1) ؛ delayMicroseconds (وقفة ميدي) ؛ } PORTB ++ ؛ // increment MUX if (midArr [4] == 1) // إخراج Player 4 MIDI {MIDI.sendNoteOn (note2play [4]، 127، 1) ؛ delayMicroseconds (وقفة ميدي) ؛ MIDI.sendNoteOff (note2play [4] ، 127 ، 1) ؛ delayMicroseconds (وقفة ميدي) ؛ } midArr [0] = 0 ، midArr [1] = 0 ، midArr [2] = 0 ، midArr [3] = 0 ، midArr [4] = 0 ، }

الخطوة 11: تشغيل القبة

تشغيل القبة
تشغيل القبة
تشغيل القبة
تشغيل القبة
تشغيل القبة
تشغيل القبة
تشغيل القبة
تشغيل القبة

هناك العديد من المكونات التي تحتاج إلى التشغيل في القبة. لذلك ستحتاج إلى حساب الأمبيرات المسحوبة من كل مكون لتحديد مصدر الطاقة الذي تحتاج إلى شرائه.

شريط LED: لقد استخدمت 3.75 مترًا تقريبًا من شريط Ws2801 LED ، والذي يستهلك 6.4 واط / متر. هذا يتوافق مع 24 واط (3.75 * 6.4). لتحويل هذا إلى أمبير ، استخدم Power = current * volts (P = iV) ، حيث V هو جهد شريط LED ، في هذه الحالة 5V. لذلك ، فإن التيار المسحوب من مصابيح LED هو 4.8A (24W / 5V = 4.8A).

مستشعرات الأشعة تحت الحمراء: يسحب كل مستشعر IR حوالي 25 مللي أمبير ، بإجمالي 3 أمبير لـ 120 مستشعرًا.

اردوينو: 100 مللي أمبير ، 9 فولت

معددات الإرسال: توجد خمس معدات إرسال ذات 24 قناة تتكون كل منها من معدد إرسال 16 قناة و 8 معدد إرسال. تستهلك كل قناة 8 و 16 قناة MUX حوالي 100 مللي أمبير. لذلك ، فإن إجمالي استهلاك الطاقة لجميع أجهزة MUX هو 1A.

بإضافة هذه المكونات ، من المتوقع أن يكون إجمالي استهلاك الطاقة حوالي 9 أمبير. يحتوي شريط LED ومستشعرات الأشعة تحت الحمراء ومضاعفات الإرسال على جهد إدخال عند 5 فولت ، ولأردوينو جهد دخل 9 فولت. لذلك ، اخترت مصدر طاقة 12 فولت 15 أمبير ، ومحول باك 15 أمبير لتحويل 12 فولت إلى 5 فولت ، ومحول باك 3 أمبير لتحويل 12 فولت إلى 9 فولت لاردوينو.

الخطوة 12: قاعدة القبة الدائرية

قاعدة قبة دائرية
قاعدة قبة دائرية
قاعدة قبة دائرية
قاعدة قبة دائرية
قاعدة قبة دائرية
قاعدة قبة دائرية

ترتكز القبة على قطعة دائرية من الخشب مع قطع خماسي من المنتصف لسهولة الوصول إلى الإلكترونيات. لإنشاء هذه القاعدة الدائرية ، تم قطع لوح خشب رقائقي مقاس 4 × 6 بوصات باستخدام راوتر CNC للخشب. يمكن أيضًا استخدام بانوراما لهذه الخطوة. بعد قطع القاعدة ، تم ربط القبة بها باستخدام كتل خشبية صغيرة بحجم 2 × 3 بوصة.

في الجزء العلوي من القاعدة ، قمت بتوصيل مزود الطاقة بالإيبوكسي ومحولات MUX و Buck مع فواصل PCB. تم ربط الفواصل بالخشب الرقائقي باستخدام محولات الخيط EZ Lok.

الخطوة 13: قاعدة قبة البنتاغون

قاعدة قبة البنتاغون
قاعدة قبة البنتاغون
قاعدة قبة البنتاغون
قاعدة قبة البنتاغون
قاعدة قبة البنتاغون
قاعدة قبة البنتاغون

بالإضافة إلى القاعدة الدائرية ، قمت أيضًا ببناء قاعدة خماسية للقبة مع نافذة زجاجية في الأسفل. تم صنع هذه القاعدة والنافذة أيضًا من قطع الخشب الرقائقي باستخدام جهاز توجيه CNC خشبي. جوانب البنتاغون مصنوعة من ألواح خشبية مع وجود ثقب في جانب واحد حتى تمر الموصلات من خلاله. باستخدام الأقواس المعدنية ووصلات الكتل 2 × 3 ، يتم ربط الألواح الخشبية بقاعدة البنتاغون. يتم توصيل مفتاح طاقة وموصلات MIDI وموصل USB بلوحة أمامية قمت بإنشائها باستخدام قاطع ليزر. قاعدة البنتاغون بأكملها مشدودة بالقاعدة الدائرية الموضحة في الخطوة 12.

لقد قمت بتثبيت نافذة في أسفل القبة بحيث يمكن لأي شخص أن ينظر إلى أعلى في القبة لرؤية الإلكترونيات. يتكون الزجاج ذو المظهر من قطع الأكريليك باستخدام قاطع ليزر ويتم إيبوكسي بقطعة دائرية من الخشب الرقائقي.

الخطوة الرابعة عشر: برمجة القبة

هناك احتمالات لا حصر لها لبرمجة القبة. تأخذ كل دورة من الكود الإشارات من مستشعرات الأشعة تحت الحمراء ، والتي تشير إلى المثلثات التي لمسها شخص ما. باستخدام هذه المعلومات ، يمكنك تلوين القبة بأي لون RGB و / أو إنتاج إشارة MIDI. فيما يلي بعض الأمثلة على البرامج التي كتبتها للقبة:

لون القبة: كل مثلث يمر بأربعة ألوان عند لمسه. مع تغير الألوان ، يتم تشغيل صوت تتابعي. باستخدام هذا البرنامج ، يمكنك تلوين القبة بآلاف الطرق المختلفة.

موسيقى القبة: تم تلوين القبة بخمسة ألوان ، يتوافق كل قسم مع إخراج MIDI مختلف. في البرنامج ، يمكنك اختيار الملاحظات التي يلعبها كل مثلث. اخترت أن أبدأ من الوسط C في أعلى القبة ، وأزيد من حدة الصوت كلما اقتربت المثلثات من القاعدة. نظرًا لوجود خمسة مخرجات ، يعد هذا البرنامج مثاليًا لجعل العديد من الأشخاص يلعبون القبة في وقت واحد. باستخدام أداة MIDI أو برنامج MIDI ، يمكن جعل إشارات MIDI هذه لتبدو مثل أي آلة.

سايمون: لقد كتبت مسرحية لـ Simon ، لعبة الذاكرة الكلاسيكية المضيئة. يضيء تسلسل عشوائي من الأضواء واحدًا تلو الآخر فوق القبة بأكملها. في كل دور ، يجب على اللاعب نسخ التسلسل. إذا كان اللاعب يطابق التسلسل بشكل صحيح ، تتم إضافة ضوء إضافي إلى التسلسل. يتم تخزين الدرجة العالية على أحد أقسام القبة. هذه اللعبة أيضًا ممتعة جدًا للعب مع عدة أشخاص.

بونج: لماذا لا تلعب البونج على قبة؟ تنتشر الكرة عبر القبة حتى تضرب المضرب. عندما يحدث ذلك ، يتم إنتاج إشارة MIDI تشير إلى ضرب المضرب للكرة. يجب على اللاعب الآخر بعد ذلك توجيه المضرب على طول الجزء السفلي من القبة بحيث تضرب الكرة للخلف.

الخطوة 15: صور القبة المكتملة

صور القبة المكتملة
صور القبة المكتملة
صور القبة المكتملة
صور القبة المكتملة
صور القبة المكتملة
صور القبة المكتملة
صور القبة المكتملة
صور القبة المكتملة
مسابقة اردوينو 2016
مسابقة اردوينو 2016
مسابقة اردوينو 2016
مسابقة اردوينو 2016

الجائزة الكبرى في مسابقة Arduino 2016

مسابقة ريمكس 2016
مسابقة ريمكس 2016
مسابقة ريمكس 2016
مسابقة ريمكس 2016

الجائزة الثانية في مسابقة ريمكس 2016

اجعلها توهج مسابقة 2016
اجعلها توهج مسابقة 2016
اجعلها توهج مسابقة 2016
اجعلها توهج مسابقة 2016

الجائزة الثانية في مسابقة Make it Glow 2016

موصى به: