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

Azimuthal Projection 3D Map Decoration X Folk Music Puzzle Game - Arduino: 7 Steps
Azimuthal Projection 3D Map Decoration X Folk Music Puzzle Game - Arduino: 7 Steps

فيديو: Azimuthal Projection 3D Map Decoration X Folk Music Puzzle Game - Arduino: 7 Steps

فيديو: Azimuthal Projection 3D Map Decoration X Folk Music Puzzle Game - Arduino: 7 Steps
فيديو: Why all world maps are wrong 2024, يوليو
Anonim
Image
Image
تصميم المجلس
تصميم المجلس

المقدمة

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

عند تنشيط وضع الزخرفة ، ستتوهج قارات الخريطة بألوان مختلفة تحددها مجموعات عشوائية من قيم RGB من خلال استخدام RGB LEDs.

من ناحية أخرى ، يتطلب وضع اللعبة من المستخدمين التعرف على أصل أغاني الموسيقى الشعبية (يتم تحديدها عن طريق توليد الأرقام عشوائيًا من 1 إلى 20) ووضع اللوحة القارية للرد في موقعها المقابل على اللوحة الخشبية الرئيسية داخل مجموعة. الوقت (مضبوط مسبقًا لمدة دقيقة واحدة).

_

اللوازم

المواد الفعلية

  • 5 مم RGB LEDs * 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
  • مواد لاصقة علاج الأشعة فوق البنفسجية * 1
  • شريط على الوجهين * 1 لفة
  • مسدس الغراء الساخن * 1

الآلات:

آلة القطع بالليزر

برمجة:

  • Adobe Illustrator
  • أدوبي فوتوشوب
  • الكركدن 3D

الخطوة 1: تصميم اللوحة

يمكنك تنزيل الملف المرفق مباشرة أو اتباع الخطوات أدناه.

تحديد الخريطة

  1. قم بتنزيل مخطط الخريطة من Google

    1. Google "شعار الأمم المتحدة"
    2. حدد "أدوات - الحجم - كبير"
    3. قم بتنزيل الصورة المفضلة لديك (الصورة التي يستخدمها هذا المشروع: رابط) * حاول عدم تحديد الصور ذات الخطوط المعقدة المتداخلة مع الأراضي القارية *
  2. انقل الخريطة التي تم تنزيلها إلى نسخة الطباعة

    1. قم بتلوين المناطق غير المرغوب فيها باللون الأبيض باستخدام وظيفة الرسام في Adobe Photoshop
    2. تصدير الملف (JPEG)
    3. قم باستيراد الملف إلى Adobe Illustrator واستخدم وظيفة "تتبع الصورة" لتتبع الخريطة
    4. تصدير الملف (dxf)

إضافة الخلفية السداسية

  1. استيراد ملف dxf إلى وحيد القرن
  2. حدد وظيفة "المضلع" وأدخل الرقم "6" لخيار "NumSides"
  3. أدخل "3.5" لقيمة نصف القطر
  4. ارسم 28 شكل سداسي متساوي الحجم
  5. تصدير الملف في 3dm

الخطوة الثانية: القطع بالليزر

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. استخدم شفرة لقطع جزأي الزر وجزء LCD باتباع الآثار في الخطوتين 6 و 7

الخطوة 4: بناء الدوائر

بناء الدوائر
بناء الدوائر

بالرجوع إلى المخططات أعلاه ، قم ببناء الدائرة.

ملحوظة:

  • المقاومات الخاصة بمصابيح RGB LED ومقاومات الأزرار مختلفة ، انظر بوضوح!
  • نظرًا لأن لوحة عرض LCD أعلاه لا تحتوي على طراز I2C ، فهي غير متصلة بشكل مثالي. (يجب على لوحات عرض LCD مع طرازات I2C توصيل أربعة دبابيس فقط)

    • قم بتوصيل GNDs بجهاز العرض ولوحة Arduino
    • قم بتوصيل VCC على جهاز العرض مع المسامير الموجبة على اللوح
    • قم بتوصيل SDAs بجهاز العرض ولوحة Arduino
    • قم بتوصيل SCLs على جهاز العرض ولوحة Arduino

الخطوة 5: قم بتحميل الكود

يمكن العثور على رمز هذا المشروع هنا أو أدناه.

يحتوي كل سطر ترميز على ملاحظة جانبية توضح الغرض منه ووظيفته.

ملحوظة:

  • يمكن تغيير جميع دبابيس D المحددة وتعديلها بناءً على تخطيط دائرتك
  • يمكن تغيير كل الثواني المتأخرة إلى قيم مختلفة ، لكن لا تحذفها! (تسمح هذه الثواني المتأخرة بالتدفق المنطقي للشفرة. وبدون هذه الثواني ، قد لا تعمل بعض أجزاء الكود!)
  • في السطر 24 (مقدمة "for loop") ، يمكنك تعيين عدد التكرار الذي تريد تشغيل الحلقة من أجله (القيمة الأصلية هي 5)
  • يمكن ضبط مجموعة ألوان RGB LEDs في كل زر "إذا تم الضغط عليه" وحلقات "إذا لم يتم الضغط عليه" وتخصيصها. (في الأصل ، ستضيء مصابيح RGB LED باللون الأخضر إذا تم الضغط عليها بينما تتألق باللون الأحمر إذا لم يتم الضغط عليها. يمكنك تغيير القيم للحصول على ألوان إبداعية للإجابة على "اليمين" و "الخطأ")

#يشمل

# تتضمن LiquidCrystal_I2C lcd_I2C_27 (0x27، 16، 2) ؛ // تعيين عنوان LCD لعرض 16 حرفًا و 2 سطر int _R ؛ / / أدخل المتغير R ، والذي يرمز إلى القيمة الحمراء لمصابيح RGB LEDs int _G ؛ / / أدخل المتغير G ، والذي يرمز إلى القيمة الخضراء لمصابيح RGB LEDs int _B ؛ / / أدخل المتغير B ، والذي يرمز إلى القيمة الزرقاء لمصابيح RGB LED int _SongNumber ؛ // إدخال الإعداد المتغير SongNumber void () {pinMode (10، INPUT)؛ // يعين D10 كمدخل لزر زخرفة الخريطة pinMode (9 ، INPUT) ؛ // يعين D9 كمدخل لزر لعبة الألغاز pinMode (8 ، INPUT) ؛ // يعين D8 كمدخل لزر أوراسيا pinMode (4 ، INPUT) ؛ // يعين D4 كمدخل لزر أمريكا الشمالية pinMode (3 ، INPUT) ؛ // يعين D3 كمدخل لزر أمريكا الجنوبية pinMode (2 ، INPUT) ؛ // يعين D2 كمدخل لـ Africa button pinMode (1 ، INPUT) ؛ // يعين D1 كمدخل لزر أوقيانوسيا lcd_I2C_27.init () ؛ // تهيئة لوحة شاشة LCD lcd_I2C_27.backlight () ؛ // تشغيل الإضاءة الخلفية للوحة شاشة LCD} حلقة فارغة () {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 لمصابيح RGB LED لاستبدال المجموعة الأولى وتكتب القيمة المتغيرة من 0 إلى 255 analogWrite (12، (_G / 4)) ؛ // قيمة G لمصابيح RGB LED لاستبدال المجموعة الأولى وتكتب القيمة المتغيرة من 0 إلى 255 analogWrite (11، (_B / 4)) ؛ // قيمة B لمصابيح RGB LED لاستبدال المجموعة الأولى وتكتب القيمة المتغيرة من 0 إلى 255 analogWrite (7، (_R / 4)) ؛ // قيمة R لمصابيح RGB LED لاستبدال المجموعة الثانية وتكتب القيمة المتغيرة من 0 إلى 255 analogWrite (6 ، (_G / 4)) ؛ // قيمة G لمصابيح RGB LED لاستبدال المجموعة الثانية وتكتب القيمة المتغيرة من 0 إلى 255 analogWrite (5، (_B / 4)) ؛ // القيمة B لمصابيح RGB LED لاستبدال المجموعة الثانية وتكتب القيمة المتغيرة من 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 analogWrite (11 ، 0) ؛ // إعادة تعيين وكتابة قيمة D11 كـ 0 analogWrite (7 ، 0) ؛ // إعادة تعيين وكتابة قيمة D7 كـ 0 analogWrite (6 ، 0) ؛ // إعادة تعيين وكتابة قيمة D6 كـ 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 ثانية ؛ دقيقة واحدة) إذا (digitalRead (1)) {// إذا تم الضغط على زر أوقيانوسيا 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} // ستلمع جميع مصابيح RGB LED باللون الأخضر else {// إذا لم يتم الضغط على زر 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) ؛ // analogWrite D5 كـ 0} // ستلمع جميع مصابيح RGB LED باللون الأحمر} // نظرًا لأن الإجابات الصحيحة لـ SongNumber 18 إلى 20 كلها أوقيانوسيا ، فإن "حلقة if" تصل إلى ما إذا كانت إجابة اللاعب صحيحة أم لا lcd_I2C_27.clear () ؛ // مسح تأخير لوحة شاشة LCD (1000) ؛ // انتظر 1000 مللي ثانية (ثانية واحدة)}}

الخطوة 6: الانتهاء من الجهاز

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

    * يمكنك الرجوع إلى الملاحظات الجانبية خلف الرموز للتأكد من زر الدبوس المخصص للقارة *

  3. حشو "الأزرار الوظيفية" (map-deco of D10 و Puzzle-game of D9) في كل جزء من الأجزاء المقطوعة على الجانب الأيمن من الصندوق
  4. قم بتثبيت لوحة شاشة LCD في الجزء المقطوع على الجانب الأيمن من الصندوق
  5. افتح الصندوق وتأكد من توصيل جميع الأسلاك بشكل صحيح باللوحات
  6. قم بلصق أساس اللوح الخشبي بالجزء العلوي من الصندوق باستخدام شريط على الوجهين (تأكد من المحاذاة بشكل صحيح حتى تتناسب الأزرار مع الجزء المقطوع من الألواح الخشبية)
  7. استخدم مسدس الغراء الساخن لملء أجزاء المنطقة الصغيرة (وليس القارات الرئيسية)

الخطوة 7: تم !!!!

بالنسبة إلى لعبة الألغاز ، انتقل إلى الرابط الخاص بقائمة التشغيل التجريبية!

موصى به: