תוכן עניינים:
- אספקה
- שלב 1: הרעיון
- שלב 2: עיבוד סכמטי וסאונד
- שלב 3: גלגל LED
- שלב 4: ויזואליזציות
- שלב 5: פקדי כפתור מגע
- שלב 6: זיהוי ביט ו"ריקודים "של סרוו
- שלב 7: צורות תלת מימד
- שלב 8: ספק כוח
- שלב 9: בקרת בלוטות '
- שלב 10: בקרת אפליקציה המבוססת על Blynk
- שלב 11: סקיצות וספריות
- שלב 12: שיפורים עתידיים
וִידֵאוֹ: אורות מסיבה ניידים: 12 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:13
פרויקטים של טינקרד »
האם תוכל להביא אור למסיבה ולהפוך אותה למהנה יותר?
זו הייתה השאלה. והתשובה היא כן (כמובן).
מדריך זה עוסק בייצור מכשיר נייד המאזין למוזיקה ויוצר הדמיה מוזיקלית מתוך טבעות קונצנטריות של נוריות Neopixel.
נעשה ניסיון לגרום למכשיר "לרקוד", כלומר לעבור לקצב המוזיקה, אך זיהוי פעימות התגלה כמשימה מסובכת יותר מכפי שזה נשמע (אין משחק מילים), כך ש"ריקוד "קצת מביך, אבל עדיין קיים.
המכשיר מופעל Bluetooth ויגיב לפקודות טקסט. לא היה לי זמן לכתוב אפליקציה לשליטה באורות המפלגה (אנדרואיד או iOS). אם אתה עומד במשימה - אנא יידע אותי !!!
אם אתה אוהב את זה מובן מאליו, אנא הצביע עבורו בתחרות Make It Glow!
אספקה
כדי לבנות אורות מסיבה תצטרך:
- מודול STM32F103RCBT6 עלים עלה מייפל מיני USB ARM Cortex -M3 עבור Arduino (קישור כאן) - מוח המכשיר. המכשירים הזולים יחסית הם כה עוצמתיים, שלא ברור מדוע תחזור לעולם לארדואינו.
- MSGEQ7 Band Graphic Equalizer IC DIP-8 MSGEQ7 (קישור כאן)
- מודול Bluetooth HC-05 או HC-06 (קישור כאן)
- מיקרופון Adafruit MAX9814 (קישור כאן)
- מנוע סרוו סטנדרטי (קישור כאן) הוא שאתה רוצה שהמכשיר שלך "ירקוד"
- CJMCU 61 סיביות WS2812 5050 RGB לוח לפיתוח נהגים (קישור כאן)
- מודול מפתח מגע TTP223 קיבולי מתכוונן לנעילה עצמית/ללא נעילה (קישור כאן)
-
אולטרה קומפקטי 5000 מאה יציאות USB כפולות סופר דק כוח (קישור כאן)
- נגדים, קבלים, חוטים, דבק, ברגים, לוחות אב טיפוס וכו 'וכו'.
שלב 1: הרעיון
הרעיון הוא להחזיק מכשיר נייד שיכול להיות ממוקם קרוב למקור מוזיקה, וייצור ויזואליזציות מוזיקה צבעוניות. אתה אמור להיות מסוגל לשלוט בהתנהגות המכשיר באמצעות לחצנים (מגע) ו- Bluetooth.
נכון לעכשיו, ב- Lights Party יש 7 ויזואליזציות המיושמות (הודע לי אם יש לך רעיונות נוספים!):
- עיגולים צבעוניים קונצנטריים
- צלב מלטזי
- אורות פועמים
- אח (האהוב האישי שלי)
- אורות ריצה
- עצים בהירים
- קטעים הצידה
כברירת מחדל, המכשיר יחזור בין הדמיות כל דקה. עם זאת, משתמש יכול לבחור להישאר עם הדמיה אחת ו/או לעבור ידנית דרכם.
ויזואליזציות המסובבות את לוח הצבעים שלהן יכולות להיות "קפואות" גם אם משתמש אוהב שילוב צבעים מסוים.
וככמה פקדים נוספים, המשתמש יכול לשנות את רגישות המיקרופון ולהפעיל/להשבית את מצב ה"ריקוד "של מנוע סרוו.
שלב 2: עיבוד סכמטי וסאונד
קובץ סכמטי מטלטל כלול בחבילה ב- Github בתיקיית המשנה "קבצים".
ביסודו של דבר, שבב MSEQ7 מבצע את עיבוד השמע ומחלק אות שמע ל -7 להקות: 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz ו- 16kHz
המיקרו -בקר משתמש ב -7 להקות אלה כדי ליצור הדמיות שונות, בעצם מיפוי אמפליטודות הלהקה המתאימות לעוצמת אור LED ושילובי צבעים.
מקור הצליל הוא מיקרופון עם 3 רמות של שליטת רווח. אתה יכול לעבור בין הגדרות הגברה באמצעות אחד הלחצנים, תלוי כמה רחוק/חזק מקור הצליל.
המיקרו -בקר גם מנסה לבצע זיהוי "ביט" בלהקת "הבס" של 63 הרץ. אני עדיין עובד על דרך אמינה לאתר ולשמור על יישור פעימות.
השימוש בכפתורי "מגע" היה ניסוי. אני חושב שהם עובדים די טוב, אולם חוסר משוב לעיתונות מבלבל במידה מסוימת.
שלב 3: גלגל LED
ליבת ההדמיה היא גלגל לד 61.
שימו לב כי החלק מגיע כטבעות בודדות אותן תצטרכו להרכיב. השתמשתי דווקא בחוטי נחושת לקווי מתח (שמחזיקים את הטבעות גם יחד יפה), וחוטי אות דקים.
הנוריות ממוספרות 0 עד 60 החל מהנורית החיצונית התחתונה ונכנסות בכיוון השעון פנימה. LED המרכזי הוא מספר 60.
כל ויזואליזציה מסתמכת על מערכי נתונים דו-ממדיים, הממפים כל נורית למיקום ספציפי עבור פלח הדמיית היעד.
לדוגמה, עבור מעגלים קונצנטריים, ישנם 5 קטעים:
- מעגל חיצוני, נוריות 0 - 23, 24 נוריות אור
- מעגל חיצוני שני, נוריות 24 - 39, אורך 16 נוריות
- עיגול שלישי (במרכז), נוריות 40 - 51, 12 נוריות אורך
- מעגל פנימי שני, נוריות 52 - 59, אורך 8 נוריות
- בפנים LED, LED 60, 1 LED ארוך
הוויזואליזציה ממפה 5 מתוך 7 ערוצי שמע ומאירה נוריות LED בהדרגה בהתאם למיקומן בלהקה המעגלית ביחס לרמת הצליל בלהקה.
ויזואליזציות אחרות משתמשות במבני נתונים ופורמטים שונים, אך הרעיון הוא תמיד שיהיו חזותיות המונעות על ידי מערכי הנתונים, לא כל כך על ידי הקוד. בדרך זו ניתן יהיה להתאים ויזואליזציות לצורות שונות (יותר או פחות נוריות, יותר להקות EQ) מבלי לשנות את הקוד, רק את הערכים במערכי הנתונים.
לדוגמה, כך נראה מבנה הנתונים להדמיה 1 בסקיצה:
// ויזואליזציה 1 & 3 - 5 בתים מלאים של מעגלים מלאים TOTAL_LAYERS1 = 5; const byte LAYERS1 [TOTAL_LAYERS1] [25] = {// 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 {24, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}, {16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39}, {12, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51}, {8, 52, 53, 54, 55, 56, 57, 58, 59}, {1, 60}};
שלב 4: ויזואליזציות
עד כה יש 7 ויזואליזציות ואנימציה לסטארט-אפ:
אנימציה לסטארט-אפ
כאשר המכשיר מופעל, מוצג חיקוי של זיקוקים. זה היה אמור להיות רצף בדיקות LED וסרוו, אך מאוחר יותר התפתח לגרסת אנימציה של בדיקה כזו
עיגולים צבעוניים קונצנטריים
האורות סובבים את התצוגה במעגלים קונצנטריים הפרופורציונליים למשרעת של פס ה eq בהתאמה. מעבר אקראי בין השעון ונגד כיוון השעון וסובב לאט את הצבעים מעל גלגל הצבעים 256
צלב מלטזי
להקה אחת היא ה- LED המרכזי. פס נוסף הוא הקווים האנכיים והאופקיים של נוריות LED, והקטעים הנותרים מייצגים כל פס EQ. כל הקטעים מסתובבים בצבעים ב- 128 קיזוז כדי להישאר בניגוד.
אורות פועמים
כל עיגול מאיר את כל נוריות הלשון ביחד עבור להקת eq ייעודית, תוך סיבוב איטי של צבעים עם קיזוז קל. להקות EQ עוברות בהדרגה ממעגל אחד למשנהו ויוצרות התקדמות כלפי חוץ.
אָח
הלהקות הן עיגולים למחצה מוארים מלמטה למעלה מלמעלה באדום בוהק ומוסיפים צהוב בדרך למעלה המדמים אש בוערת באח. מדי פעם "ניצוץ" לבן בוהק יורה באקראי. אין סיבוב צבע
אורות ריצה
כל מעגל קונצנטרי הוא להקת EQ נפרדת. נוריות ה- LED המובילות הן אלה שנמצאות בקו האנכי מתחת למנורת LED המרכזית. ברגע שהנורית מוארת באופן פרופורציונאלי למשרעת הלהקה, היא מתחילה "לרוץ" סביב המעגל בהתאמה ויורדת באיטיות בעוצמה. נתמכים גם סיבובים עם כיוון השעון וגם נגד כיוון השעון, תוך מעבר אקראי.
עצים בהירים
הקטעים מוארים בקו ישר מה- LED התחתון כלפי מעלה ואז הצידה במעגלים למחצה קונצנטריים המחקים עצי דקל. סיבוב צבע.
קטעים הצידה
זוהי גרסה של הצלב המלטזי הקודם עם 2 מקטעים אלכסוניים בלבד. אמור להידמות לאייקון גלי קול.
שלב 5: פקדי כפתור מגע
ישנם 4 כפתורים רגישים למגע:
- עברו בין ויזואליזציות ושמרו על הנוכחי עד שנבחר אחר (כברירת מחדל, מחזורים כל 30 שניות)
- ערכת הצבעים הנוכחית "הקפאה" / "ביטול הקפאה" - אם אתה אוהב שילוב צבעים מסוים אתה יכול להקפיא אותו - סיבוב הצבעים מושבת וההדמיה תמשיך רק בלוח הצבעים הזה
- התאם את רגישות המיקרופון
- הפעל / כבה את "מצב הריקוד"
במצב ריקודים, המכשיר ינסה לזהות את ה"פעימה "של המוזיקה שמשמיעה כרגע ולסובב את ראשו בהתאם לקצב. עד כה ה"ריקודים "די מביכים מאשר יפים, למען האמת.
שלב 6: זיהוי ביט ו"ריקודים "של סרוו
המכשיר מנסה כל הזמן לזהות את ה"קצב "של המנגינה הנוכחית כמרחק בין פסגות רצופות של פס ה -63 הרץ. לאחר זיהוי (ורק אם מצב הריקוד מופעל), המכשיר יפעיל את מנוע הסרוו שלו כדי לפנות באופן אקראי שמאלה או ימינה בהתאם לקצב.
כל רעיון בהיר כיצד להפוך את זה לאמין יותר יתקבל בברכה!
הסקיצה 'Music_Test_LED' מוציאה 7 להקות EQ באופן המתאים לתכנון באמצעות Arduino IDE.
שלב 7: צורות תלת מימד
מכלול אורות המסיבות תוכנן מאפס באמצעות Autodesk TinkerCAD.
העיצוב המקורי נמצא כאן. התיקייה "files/3D" ב- github.com מכילה את דגמי STL.
עיצוב זה ממחיש כיצד נראה המכשיר מורכב.
כל הרכיבים הודפסו ולאחר מכן הורכבו/הודבקו זה לזה.
"הכיפה" מארחת את המיקרו -בקר, לוח בלוטות 'ומיקרופון. המיקרו -בקר ממוקם על לוח 40 מ"מ על 60 מ"מ ונתמך על ידי מסילות ייעודיות.
הסרוו ממוקם ב"רגל "הכיפה, בעוד כפתורים ממוקמים בבסיס.
תא הסוללה מודפס במיוחד עבור סוג הסוללה המוזכר בסעיף חומרים מתכלים. אם תבחר להשתמש בסוללה אחרת, התא צריך להיות מעוצב מחדש בהתאם.
שלב 8: ספק כוח
נראה כי יציאות USB כפולות סופר-דקיקות מסוג 5000 מאה כפולות סאונד מספקות מספיק כוח לשעות הפעולה.
תא הסוללות מעוצב באופן שיתנתק משאר המכשיר ויכול להיות מוחלף במכשיר המיועד לסוללה מסוג אחר.
תקע ה- USB ממוקם ומודבק בחום כדי לחבר את הסוללה כשהיא מחליקה פנימה.
שלב 9: בקרת בלוטות '
מודול HC-05 נוסף כדי לספק דרך לשלוט בהתקן באופן אלחוטי.
כשהוא מופעל, המכשיר יוצר חיבור Bluetooth שנקרא "LEDDANCE", וניתן לשייך אליו את הטלפון שלך.
באופן אידיאלי, צריכה להיות אפליקציה המאפשרת שליטה ב- PartyLights (בחירת לוח צבעים, הדמיית לחיצות על כפתורים וכו '). עם זאת, לא כתבתי עדיין.
אם אתה מעוניין לעזור בכתיבת אפליקציית אנדרואיד או iOS לאורות המסיבה, אנא יידע אותי!
כדי לשלוט במכשיר, תוכל כעת להשתמש באפליקציית מסוף ה- Bluetooth ולשלוח את הפקודות הבאות:
- LEDDBUTT - היכן '1', '2', '3' או '4' מדמה לחיצה על כפתור בהתאמה. לדוגמא: LEDDBUTT1
- LEDDCOLRc - כאשר c הוא מספר מ 0 עד 255 - מיקום הצבע הרצוי בגלגל הצבעים. המכשיר יעבור לצבע ה- LED שצוין.
-
LEDDSTAT - מחזירה מספר תווים בן 3 תווים המורכבים מ- '0 ו- 1 בלבד:
- המיקום הראשון: '0' - הצבעים אינם מסתובבים, '1' - הצבעים מסתובבים
- מיקום שני: '0' - מצב הריקודים כבוי, '1' - מצב הריקוד מופעל
- המיקום השלישי: '0' - המיקרופון נמצא ברווח רגיל, '1' - המיקרופון ברווח גבוה
שלב 10: בקרת אפליקציה המבוססת על Blynk
Blynk (blynk.io) היא פלטפורמת IoT אגנוסטית לחומרה. השתמשתי ב- Blynk במערכת השקיה הצמחים האוטומטית שלי ב- IoT והתרשמתי מהקלות והעמידות של הרציף.
Blynk תומך בחיבור למכשירי edge באמצעות Bluetooth - בדיוק מה שאנחנו צריכים עבור PartyLights.
אם עדיין לא עשית זאת, הורד את אפליקציית Blynk, הירשם ושחזר את אפליקציית Blynk PartyLights באמצעות צילומי המסך המצורפים לשלב זה. אנא וודא שהקצאות הסיכה הווירטואלית זהות לתמונות המסך, אחרת הכפתורים באפליקציה לא יפעלו כמתוכנן.
הקובץ "blynk_settings.h" מכיל את מזהה ה- Blynk האישי שלי. בעת יצירת הפרויקט שלך, יוקצה לו פרוייקט חדש לשימושך.
העלה את הסקיצה של PartyLightsBlynk.ino, הפעל את האפליקציה. חבר עם מכשיר Bluetooth ותהנה מהמסיבה.
שלב 11: סקיצות וספריות
המערכון הראשי והקבצים התומכים נמצאים כאן באתר Github.com.
הספריות הבאות שימשו במערכון אורות המסיבה:
- TaskScheduler - ריבוי משימות שיתופיות - כאן (פיתחתי על ידי)
- ממוצע פילטר - מסנן ממוצע בתבניות - כאן (שפותח על ידי)
- סרוו - בקרת סרוו - היא ספריית ארדואינו סטנדרטית
- בקרת WS2812B -NEOPixel - מגיע כחלק מחבילת STM32
דף וויקי זה מסביר כיצד להשתמש בלוחות STM32 עם Arduino IDE.
שלב 12: שיפורים עתידיים
ניתן לשפר כמה דברים בעיצוב זה, אותם תוכל לשקול אם תצא לפרוייקט זה:
- השתמש ב- ESP32 במקום לוח מיני מייפל. ל- ESP32 2 מעבדים, ערימות Bluetooth ו- WiFi והוא יכול לפעול במהירות 60MHz, 120MHz ואפילו 240MHz.
- עיצוב קטן יותר - המכשיר המתקבל הוא גדול. יכול להיות קומפקטי יותר (במיוחד אם תפיל את הרעיון לריקוד והסרוו הקשור אליו)
- ניתן לשפר לאין שיעור את זיהוי הפעימות. מה שבא לנו באופן טבעי, בני האדם, נראה כמשימה קשה למחשב
- אפשר היה להמציא וליישם הרבה יותר ויזואליזציות.
- וכמובן שניתן לכתוב אפליקציה לשליטה במכשיר באופן אלחוטי באמצעות ממשק משתמש מגניב.
מוּמלָץ:
כיצד לקבל 18650 תאים מסוללות מחשבים ניידים מתים: 7 שלבים (עם תמונות)
כיצד להשיג 18650 תאים מסוללות מחשבים ניידים מתים!: כשזה מגיע לבניית פרויקטים אנו משתמשים בדרך כלל באספקת חשמל לאב טיפוס, אך אם מדובר בפרויקט נייד אז אנו זקוקים למקור כוח כמו 18650 תאי ליון, אך תאים אלה הם לפעמים יקר או שרוב המוכרים לא מוכרים
TiNM 2020 ZKJ - כובע מסיבה: 10 שלבים
TiNM 2020 ZKJ - כובע מסיבה: זוהי הוראה בסיסית ביותר שיצרתי כדי לתעד כיצד יצא לי להכין את "כובע המסיבה" המהנה הזה. שימוש במעגל המשחקים אקספרס
מסיבה בטוחה הקיץ עם כוס LED אלכוהול ריאקטיבית בדם-אלכוהול: 10 שלבים
מסיבה בטוחה הקיץ עם כוס LED אלכוהול תגובתית בדם-אלכוהול: קושי ברמת הפרויקט: בינוניים כישורים דרושים:- קריאה ושכפול תרשים- הלחמה אם אתה בוחר שלא לרכוש חלקים מולחמים מראש פרויקט מבוא בארצות הברית ובעולם כולו, אלכוהול יש היווה איומים בריאותיים חמורים כאשר
אורות חצר אינטראקטיביים, אורות שביל: 3 שלבים
אורות חצר אינטראקטיביים, אורות שביל: רציתי לבנות איזו אורות חצר אינטראקטיביים לחצר האחורית שלי. הרעיון היה שכאשר מישהו ילך בדרך אחת זה יניע אנימציה בכיוון שבו אתה הולך. התחלתי עם אורות שמש $ 1.00 דולר ג'נרל
אורות חג המולד עשויים מוזיקה - אורות בית כוריאוגרפים: 15 שלבים (עם תמונות)
אורות חג המולד DIY למוזיקה - אורות בית כוריאוגרפים: אורות חג המולד DIY למוזיקה - אורות בית כוריאוגרפים זה לא עשה זאת בעצמך מתחיל. תזדקק להבנה מושכלת של אלקטרוניקה, מעגל, תכנות בסיסי וחכמה כללית בנושא בטיחות חשמל. DIY זה מיועד לאדם מנוסה ולכן