תוכן עניינים:

אזימוטל הקרנה תלת מימד קישוט מפות X משחק פאזל מוזיקה עממית - ארדואינו: 7 שלבים
אזימוטל הקרנה תלת מימד קישוט מפות X משחק פאזל מוזיקה עממית - ארדואינו: 7 שלבים

וִידֵאוֹ: אזימוטל הקרנה תלת מימד קישוט מפות X משחק פאזל מוזיקה עממית - ארדואינו: 7 שלבים

וִידֵאוֹ: אזימוטל הקרנה תלת מימד קישוט מפות X משחק פאזל מוזיקה עממית - ארדואינו: 7 שלבים
וִידֵאוֹ: Демидовы (1 серия) (1983) фильм 2024, יולי
Anonim
Image
Image
עיצוב הלוח
עיצוב הלוח

מבוא

הדף הבא ינחה אותך כיצד ליצור פרויקט ארדואינו, שיש לו שני פונקציות עיקריות-קישוט פשוט עם תאורה ומוזיקת פאזל, המשלב את תחומי הגיאוגרפיה, הגיאומטריה, המפות, האו"ם והמוזיקה יחד יחד. בהתבסס על מבנה המשושים, המכשיר מציג את מפת העולם בהקרנה האקווידיסטנטית של אזימוטל, שהיא צורה של הקרנת מפות בה משתמשים האו"ם (וסמלה).

בעת הפעלת מצב הקישוט יבשות המפה זוהרות בצבעים שונים הנקבעים על ידי שילובים אקראיים של ערכי RGB באמצעות נוריות RGB.

מצב המשחק, לעומת זאת, דורש מהמשתמשים לזהות את מקורם של שירי מוסיקה עממית (שנבחר על ידי יצירת מספרים אקראיים מ -1 עד 20) ולהעמיד את הלוח הקונטיננטלי של התשובה שלו למיקומו המתאים על לוח העץ הראשי בתוך סט. זמן (מוגדר מראש לדקה אחת).

_

אספקה

חומרים בפועל

  • נוריות RGB 5 מ"מ *20
  • חוטים
  • נגדים *9
  • לוח Arduino *1 (כל סוג)
  • לוחות לחם *3
  • לחצנים *7
  • לוח תצוגת LCD I2C *1
  • קופסת קרטון (13*9*5.7 אינץ ', 33*23*14.5 ס"מ)
  • לוח עץ (37.5*29*0.8 ס"מ)
  • לוחות אקריליק (שקוף * 2, חצי שקוף * 1)
  • מטען נייד *1

כלים:

  • להב *1
  • דבקים לריפוי UV *1
  • סרט דו צדדי *גליל אחד
  • אקדח דבק חם *1

מכונות:

מכונת חיתוך בלייזר

תוֹכנָה:

  • אדובי אילוסטרייטור
  • אדוב פוטושופ
  • קרנף תלת מימד

שלב 1: עיצוב הלוח

תוכל להוריד ישירות את הקובץ המצורף או לבצע את השלבים שלהלן.

מתאר את המפה

  1. הורד מתווה מפה מגוגל

    1. גוגל "הלוגו של ארצות הברית"
    2. בחר "כלים - גודל - גדול"
    3. הורד את התמונה האהובה עליך ביותר (זו המשמשת את הפרויקט הזה: קישור) *נסה לא לבחור את אלה עם קווים מסובכים החופפים לאדמות היבשת *
  2. העבר את המפה שהורדת לגירסת ההדפסה

    1. צבע את האזורים הלא רצויים ללבן באמצעות פונקציית מברשת הצבעים ב- Adobe Photoshop
    2. ייצא את הקובץ (JPEG)
    3. ייבא את הקובץ ל- Adobe Illustrator והשתמש בפונקציה "מעקב אחר תמונות" כדי לעקוב אחר המפה
    4. ייצא את הקובץ (dxf)

הוספת הרקע המשושה

  1. ייבא את קובץ ה- dxf ל- Rhino
  2. בחר את הפונקציה "מצולע" והקש "6" עבור האפשרות "NumSides"
  3. הקלד "3.5" עבור ערך הרדיוס
  4. צייר 28 משושים בגודל שווה
  5. ייצא את הקובץ ב 3dm

שלב 2: חיתוך בלייזר

Image
Image
חיתוך בלייזר
חיתוך בלייזר
חיתוך בלייזר
חיתוך בלייזר
חיתוך בלייזר
חיתוך בלייזר
  1. ייבא את הקובץ שהושלם בעבר ל- xxx.
  2. בעזרת מכונת חיתוך הלייזר הדפיסו את החלק המרכזי על לוח העץ והיבשות על לוחות האקריליק (2 שקופים ו -1 חצי שקופים) (סרטונים מסופקים למעלה)

שלב 3: בנה את המכשיר

בנה את המכשיר
בנה את המכשיר
בנה את המכשיר
בנה את המכשיר
בנה את המכשיר
בנה את המכשיר

לוחות לאחר חיתוך בלייזר

  • יבשות אקריליק

    1. השתמש בדבקים הניתנים לריפוי UV כדי להדביק את שלושת הלוחות של כל יבשת יחד (כשהשקוף למחצה כשכבה האמצעית)
    2. השתמש באור ה- UV כדי להאיר על האזורים המודבקים על מנת לאפשר לדבקים להתמצק
  • קרן לוח עץ

    1. הסר ידנית את אזורי היבשה הקטנים שנתקעו על לוח העץ הראשי
    2. *אם חלק כלשהו של לוח העץ נשבר, השתמש בדבקים הניתנים לריפוי כדי להדביק אותם בחזרה*

בניית הבסיס (יסוד תחתון של המכשיר כולו)

  1. מצאו קופסת קרטון בגודל מתאים, עם מידות של עד 13*9*5.7 אינץ '(33*23*14.5 ס"מ)
  2. בעזרת לוח העץ כמודל ההתייחסות, עקוב אחר החלקים היבשתיים אל המשטח העליון של הקופסה
  3. עקוב אחר החלק התחתון של הכפתורים אל המשטח העליון של התיבה, כאשר כל כפתור מרוכז בתוך כל חלקים יבשתיים שנחקרו
  4. חותכים את חלקי הכפתורים בעזרת להב על ידי ביצוע עקבות
  5. בתוך החלקים היבשתיים המתחקים, השתמש בלהב כדי לחתוך קטעים קצרים המקיפים את הכפתור
  6. עקוב אחר שני חלקים תחתונים נוספים של הכפתור בצד הימני של התיבה (נסה ליישר את העקבות באותו גובה)
  7. עקוב אחר לוח הצג LCD בצד ימין של התיבה (מעל שני הכפתורים בשלב הקודם)
  8. השתמש בלהב כדי לחתוך את שני חלקי הכפתורים וחלק ה- LCD על ידי ביצוע עקבות בשלב 6 ו -7

שלב 4: בנה את המעגלים

בנה את המעגלים
בנה את המעגלים

בהתייחס לסכימות לעיל, בנה את המעגל.

הערה:

  • הנגדים של נוריות ה- RGB ואלו של הכפתורים שונים, תראו ברור!
  • מכיוון שללוח תצוגת LCD למעלה אין דגם I2C, הוא אינו מחובר בצורה מושלמת. (לוחות תצוגת LCD עם דגמי I2C חייבים לחבר ארבעה סיכות בלבד)

    • חבר GNDs על המציג ולוח Arduino
    • חבר את ה- VCC בתצוגה בעזרת הסיכות החיוביות בלוח הלחם
    • חבר את מכשירי ה- SDA בתצוגה ולוח ה- Arduino
    • חבר את ה- SCLs בתצוגה ולוח ה- Arduino

שלב 5: העלה את הקוד

הקוד לפרויקט זה ניתן למצוא כאן או למטה.

לכל קו קידוד יש הערה צדדית המסבירה את מטרתו ותפקודו.

הערה:

  • ניתן לשנות ולהתאים את כל סיכות ה- D הספציפיות בהתאם לפריסת המעגל שלך
  • ניתן לשנות את כל השניות המתעכבות לערכים שונים, אך אל תמחק אותן! (שניות מעוכבות אלה מאפשרות לקוד לזרום בצורה הגיונית יותר. בלעדיהן חלקים מסוימים בקוד עשויים שלא לפעול!)
  • בשורה 24 (המבוא של "עבור לולאה"), תוכל לקבוע את מספר החזרות שהיית רוצה שהלולאה תרוץ (הערך המקורי הוא 5)
  • ניתן להתאים ולהתאים את שילוב הצבעים של נוריות ה- RGB בלולאות "אם לוחצים" ו"אם לא לוחצים ". (במקור, נוריות ה- RGB היו מאירות בירוק אם לוחצים עליהן בזמן שהן היו מאירות באדום אם לא לוחצים עליהן. תוכל לשנות את הערכים כך שיהיו להם צבעים יצירתיים לענות ימינה ושגויה)

#לִכלוֹל

#כלול LiquidCrystal_I2C lcd_I2C_27 (0x27, 16, 2); // הגדר את כתובת ה- LCD עבור 16 תווים ו -2 שורות תצוגה int _R; // להציג משתנה R, המייצג את הערך האדום של נוריות RGB int _G; // להציג משתנה G, המייצג את הערך הירוק של נוריות RGB int _B; // להציג משתנה B, המייצג את הערך הכחול של נוריות RGB int _SongNumber; // להציג משתנה SongNumber הגדרת חלל () {pinMode (10, INPUT); // מגדיר את D10 כקלט לכפתור קישוט המפה pinMode (9, INPUT); // מגדיר את D9 כקלט לכפתור pinMode (8, INPUT) למשחק הפאזל; // מגדיר את D8 כקלט עבור לחצן Eurasia pinMode (4, INPUT); // מגדיר D4 כקלט לכפתור pinMode של צפון אמריקה (3, INPUT); // מגדיר D3 כקלט לכפתור pinMode של דרום אמריקה (2, INPUT); // מגדיר D2 כקלט עבור לחצן אפריקה pinMode (1, INPUT); // מגדיר 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 של נוריות ה- RGB עבור הקבוצה הראשונה מחליף וכותב את הערך המשתנה מ -0 עד 255 analogWrite (12, (_G /4)); // ערך G של נוריות ה- RGB עבור הקבוצה הראשונה מחליף וכותב את הערך המשתנה מ -0 עד 255 analogWrite (11, (_B /4)); // ערך B של נוריות ה- RGB עבור הקבוצה הראשונה מחליף וכותב את הערך המשתנה מ -0 עד 255 analogWrite (7, (_R /4)); // ערך R של נוריות RGB עבור הקבוצה השנייה מחליף וכותב את הערך המשתנה מ -0 עד 255 analogWrite (6, (_G /4)); // ערך G של נוריות ה- RGB עבור הקבוצה השנייה מחליף וכותב את הערך המשתנה מ -0 עד 255 analogWrite (5, (_B /4)); // ערך B של נוריות ה- RGB עבור הקבוצה השנייה מחליף וכותב את הערך המשתנה מ- 0 עד 255 עיכוב (3000); // המתן 3000 אלפיות השנייה (3 שניות)} // מכיוון שערכי המשתנה R, G, B נקבעים בלולאה, יהיו חמישה שילובי צבעים שונים ללולאה} if (digitalRead (9)) {// if לחצו על כפתור משחק הפאזל _SongNumber = random (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 שניות; דקה 1) אם (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 היו מאירות בצבע ירוק אחרת {// אם לא נלחץ על כפתור אוקיאניה 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); // אנלוגי כתוב את הערך של D5 כ- 0} // כל נוריות ה- RGB היו מאירות בצבע אדום} // מכיוון שהתשובות הנכונות עבור SongNumber 18 עד 20 כולן אוקיאניה, "אם לולאה" זו ניגשת אם התשובה של השחקן נכונה או לא lcd_I2C_27.clear (); // לנקות את עיכוב לוח תצוגת LCD (1000); // חכה 1000 אלפיות השנייה (שנייה אחת)}}

שלב 6: סיום המכשיר

  1. פתח את קופסת הקרטון והכנס את המעגלים שנבנו בעבר (כולל כל האלמנטים, למשל: שלושה לוחות לחם, לוח Arduino, המטען הנייד)
  2. בהתייחס לקוד ולחלקים היבשתיים העוקבים בחלק העליון של הקופסה, הכניסו את הכפתורים לכל אחת מהמיקומים המתאימים להם

    *תוכל להתייחס להערות הצד שמאחורי הקודים על מנת להבטיח איזו כפתור סיכה מיועד לאיזו יבשת*

  3. הכניסו את שני "לחצני הפונקציות" (מפת דקו של D10 ומשחק פאזל של D9) לכל אחד מחלקי החיתוך בצד ימין של הקופסה.
  4. התקן את לוח הצג LCD בחלקו החתוך בצד ימין של הקופסה
  5. פתח את הקופסה וודא שכל החוטים מחוברים כראוי ללוחות
  6. הדבק את בסיס לוח העץ לחלקו העליון של הקופסה באמצעות סרט דו צדדי (הקפד ליישר כראוי כך שהכפתורים יוכלו להיכנס ישירות לחלק החתוך של לוחות העץ)
  7. השתמש באקדח דבק חם למילוי חלקי האזור הקטן (לא היבשות העיקריות)

שלב 7: בוצע !!!!

למשחק הפאזל, היכנסו לקישור לרשימת ההשמעה של הבדיקות!

מוּמלָץ: