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

אורות פיות מוזיקליים: 6 שלבים (עם תמונות)
אורות פיות מוזיקליים: 6 שלבים (עם תמונות)

וִידֵאוֹ: אורות פיות מוזיקליים: 6 שלבים (עם תמונות)

וִידֵאוֹ: אורות פיות מוזיקליים: 6 שלבים (עם תמונות)
וִידֵאוֹ: רק רציתי חברים 2024, יולי
Anonim
Image
Image

מאת IanCumming עקוב אחר מאת המחבר:

מד מרווח Arduino
מד מרווח Arduino
לא רק טיימר לשעה
לא רק טיימר לשעה
לא רק טיימר לשעה
לא רק טיימר לשעה
מדחום פיקסל אחד
מדחום פיקסל אחד
מדחום פיקסל אחד
מדחום פיקסל אחד

בערך: אני אוהב להכין דברים מרקטות ועד אלקטרוניקה. עוד על IanCumming »

ברוכים הבאים כולם

כמעט עונת החגים וכמה חנויות החלו לכבות את הקישוטים החגיגיים שלהן, חשבתי שזה הזמן הנכון לבנות כמה אורות פיות מוזיקליים!

שלב 1: חלקים בשימוש

חלקים בשימוש
חלקים בשימוש

אני אשתמש בדברים הבאים:

  • 12 נוריות LED
  • 12 נגדים המגבילים זרם
  • 1 מערך טרנזיסטור של דרלינגטון ULN 2803
  • כמה חוטי מגשר
  • רמקול פיזו
  • לוח לחם ו
  • ארדואינו
  • כדי ליצור את מחרוזת אורות הפיות השתמשתי ב -5 חוטים מכבל אתרנט

שלב 2: הקוד

// GLOBAL VARS int barTime = 1200; // 8/8 = 1000 ms בתים nrLEDS = 4; // 4 נוריות LED בסיסיות, אתה יכול להוסיף הרבה נוריות במקביל לבייט = {3, 4, 5, 6}; רמקול בתים = 11; byte patternLength = 64; // תבנית אורך בית אורך SongLength = 51; const byte song = {// Jingle Bells Data 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 3, 30, 1, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 29, 2, 27, 2, 27, 2, 29, 2, 27, 4, 32, 4, 29, 2, 29, 2, 29, 4, 29, 2, 29, 2, 29, 4, 29, 2, 32, 2, 25, 3, 27, 1, 29, 8, 30, 2, 30, 2, 30, 2, 30, 2, 30, 2, 29, 2, 29, 2, 29, 1, 29, 1, 32, 2, 32, 2, 30, 2, 27, 2, 25, 8}; // המבנה הוא מספר הערה ואז // NoteLength בתבנית ה- const byte של השמינית = {// נתוני תבנית 0b0001, 0b0010, 0b0100, 0b1000, // Bits המתאימים ל- Leds in Array 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b0001, 0b0010, 0b0100, 0b1000, 0b1000, 0b1100, 0b0100, 0b0110, 0b0010, 0b0011, 0b0001, 0b1001, 0b1000, 0b1100, 0b0100, 0b110, 0b, 0b 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1010, 0b0101, 0b1100, 0b0011, 0b1100, 0b0011, 0b0000, 01100, 01100, 01100 0b0011, 0b1100, 0b0011, 0b1100, 0b0011,};

ראשית אני מצהיר על המשתנים שלי, המעניינים הם שיר ותבנית.

  • השיר מאחסן את המנגינה; במקרה זה זהו פעמוני ג'ינגל.
  • התבנית מאחסנת מיקומים וכיבוי בפיסות הערכים במערך.

פונקציות מותאמות אישית

// FUNCTIONS int noteToHz (int note) {// המר הערה מספר. לתדירות המצוף של תדר = 440 * (pow (1.059463094359, הערה 21)); // -21 נותן לך הערה 1 ב- C3 (I Think) return int (freq); // התוצאות מדויקות עד 1 הרץ} נוריות תאורה חללות (בתים PORT_X) {// מצב LED של שליטה עבור (int q = 0; q

שתי הפונקציות שיש לי יעשו את הפעולות הבאות:

  • חשב את התדירות של פונקציית הטון בלולאה
  • הפעל או כבה את נוריות ה- LED בהתאם לערך שהועבר לפונקציה

פונקציית התקנה

הגדרת void () {// setup OUTPUT סיכות pinMode (רמקול, OUTPUT); for (int t = 0; t <nrLEDS; t ++) {pinMode (leds [t], OUTPUT); }}

בפונקציית ההתקנה הגדרתי את הסיכות הנדרשות ל- OUTPUT.

פונקציית לולאה

loop loop () {// Music Loop for (int t = 0; t <songLength; t ++) {// Notes, Length and play the melody int note = noteToHz (שיר [t * 2]); int length = ((שיר [(t * 2) +1] * barTime) / 8); טון (רמקול, הערה, אורך - 50); // אורות מהבהבים! lightLEDs (תבנית [t % patternLength]); עיכוב (אורך); } // Silence Loop int randomSilence = אקראי (1000, 5000); עבור (int t = 0; t

יש לי 2 לולאות בפונקציית הלולאה הראשית. לולאת שירים ולולאת שתיקה

לולאת השירים תקרא את הנתונים ממערך השירים, תשמיע את התו באמצעות פונקציית הטון

לולאת השירים תהיה,

  • קרא את הנתונים ממערך השירים,
  • נגן אז על הפתק בעזרת פונקציית הטון
  • הדליקו את מנורות הלדים, מערך תבניות הקריאה.

בלולאת השתיקה

רק נוריות LED מוארות

חבר את הארדואינו והעלה את הקוד. (לאחר מכן נתק אותו מהחשמל)

שלב 3: הפעלת המעגל

מתחילים את המעגל
מתחילים את המעגל
מתחילים את המעגל
מתחילים את המעגל
מתחילים את המעגל
מתחילים את המעגל
מתחילים את המעגל
מתחילים את המעגל

אני אתחיל עם מחרוזת האורות

  • השתמשתי בחוט מכבל אתרנט והלחמתי 3 נוריות במקביל ארבע פעמים, והקפד להרחיק את נוריות ה- LED באופן שווה על פני כ -2 מטרים.
  • הלחמתי את האנודה של כל אחת מהן מובילה לחוט אחד.
  • לאחר מכן הקתודה של כל LED ל -4 חוטים נפרדים. עם נגד כמובן
  • חזרתי על התהליך הזה 3 פעמים כדי לקבל מחרוזת של 12 נוריות LED ושמתי סיכות כותרת בקצה 5 החוטים

חבר את מסילות החיובי והטחון ללוח הלחם

שלב 4: ה- ULN2803

ה- ULN2803
ה- ULN2803
ה- ULN2803
ה- ULN2803
ה- ULN2803
ה- ULN2803

הנח את שבב ULN2308 על לוח הלחם

ה- ULN2308 הוא שבב מערך טרנזיסטורים; מגליון הנתונים אני יכול לראות

  • סיכה 1 זו קלט שהופך את סיכה 18 למצב מופעל.
  • סיכה 2 מפעילה 17. וכו.
  • סיכה 9 נטחנת
  • חבר את פין 9 של השבב למעקה הקרקע
  • חבר את המסילה החיובית לרצועה, רצועה אחת מעל סיכה 18. (תראה מדוע בעוד דקה)
  • חבר את סיכה 1 של השבב לסיכה 3 של הארדואינו
  • 2 הולך ל -4
  • 3 מהשבב עובר ל -5 ו
  • 4 הולך לפין 6 של הארדואינו
  • הנח את מחרוזת הלד על לוח הלחם. כאשר חוט האנודה הנפוץ מחובר לרצועה המחוברת ל -5 וולט. שאר סיכות אור הפיות צריכות לעבור לסיכה 18, 17, 16 ו -15 של השבב.

שלב 5: הוספת צליל

הוספת סאונד
הוספת סאונד
  • חבר את רמקול Piezo בין 2 רצועות מסוף
  • חבר את הקוטב השלילי של אלמנט הפיזו לאדמה ו
  • הקצה השני של הרמקול לסיכה 11

שלב 6: מסקנה

סיכום
סיכום
סיכום
סיכום

יש לי מחרוזת אור שתשחק אקראית פעמוני ג'ינגל כדי להזכיר לי שזו העונה החגיגית.

מוּמלָץ: