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

נגן מוסיקה AdaBox004: 4 שלבים
נגן מוסיקה AdaBox004: 4 שלבים

וִידֵאוֹ: נגן מוסיקה AdaBox004: 4 שלבים

וִידֵאוֹ: נגן מוסיקה AdaBox004: 4 שלבים
וִידֵאוֹ: כינור צרפתי ישן Labert, גודל 4/4 2024, יולי
Anonim
נגן מוסיקה AdaBox004
נגן מוסיקה AdaBox004

השתמשתי בחלקים ב- AdaBox004 כדי ליצור נגן מוזיקה פשוט. הוא מתחבר ליציאת USB ומתחיל להשמיע שירים באופן אקראי מכרטיס ה- micro SD. הוא מיועד לסדנא שלי למקור ללא מהומה של שירים אופטימיים.

שלב 1: חלקים

AdaBox004 (https://www.adafruit.com/product/3370)

שלב 2: הכינו את תיבת המוסיקה

הכינו את תיבת המוסיקה
הכינו את תיבת המוסיקה
הכינו את תיבת המוסיקה
הכינו את תיבת המוסיקה

ההנחיות הכלליות נמצאות באתר AdaFruit בכתובת

חשוב לשים לב:

כשקוראים את ההוראות של AdaBox004 קל להתעלם מקישורים לאתרי הדרכה של הרכיבים. הקפד לשים לב לתיבות הירוקות הכוללות קישורים עבור: Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266). מתחת לסעיף "שימוש ב- Arduino IDE" ללוח, יש לו קישורים למנהלי התקן שתצטרך לחבר את הלוח ולהוריד קוד מה- Arduino IDE, כמו גם הוראות להוספת הלוח כאופציה ל- Arduino IDE.

כמו כן שימו לב לקישור ל- Music Maker FeatherWing (https://learn.adafruit.com/adafruit-music-maker-featherwing/). יש בו הוראות להתקנת הספריות הדרושות ל- Arduino.

חיברתי את הפוטנציומטר בדיוק כפי שמוצג (https://learn.adafruit.com/adabox004/adding-a-volume-knob)-אך שים לב שהזזתי את הנוצה לאחור יותר על לוח הלחם כדי שהכבל USB יתאים.

הקופסה הלבנה מגיעה עם הערכה. פשוט השתמשתי באגרוף חור כדי ליצור חורים גדולים מספיק בכדי לכבל ה- USB הכלול להיכנס. עשיתי חריץ קטן עם סכין בתיבה המקופלת, כך שידעתי היכן בכל פאנל לחתוך.

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

שלב 3: קוד נגן המוסיקה

שיניתי קוד דוגמה לנגן הנוצות, והוציא קוד שלא חל. אתה יכול לחתוך ולהדביק אותו ב- Arduino IDE ואז לטעון אותו על הנוצה שלך.

שים לב שהיה לי קשה לנסות לזהות את הקבצים. מה שיש לי כאן עובד, אבל אתה צריך להתאים את הקוד כדי לשנות את מספר השירים הזמינים. ושימו לב שדרך שעשיתי את זה תקשה על מעל 100 שירים (000 - 099) מכיוון שהיא בוחרת רק 2 ספרות בודדות. יכולתי לבחור את מספר הרצועה בפועל, אבל אז הייתי צריך לנתח אותו כדי ליצור את שם הקובץ הנכון. אולי באיטרציה עתידית כלשהי.

הקובץ זמין גם ב- GitHub בכתובת https://github.com/KFW/AdaBox004. אם אעשה שינויים, שם הם יהיו.

// שירים של AdaBox004_random_

// ספציפית לשימוש עם נוצת Adafruit, הסיכות מוגדרות מראש כאן! מחרוזת לעבודה המרה סוג מחרוזת // שכן קריאת הפונקציה למשחק משתמשת במערך צ'אר // לאחר שניסיתי גישות שונות זהו הקלדן שהגעתי אליו // רצועות נקראות TRACK ##. mp3 // יש לי 60 שירים בכרטיס SD I אני משתמש ב- (000 - 059) // היה חכם יותר לספור מספר קבצים או למצוא דרך אחרת להשיג שם קובץ באופן אקראי // ובכן בפעם הבאה

// כולל ספריות SPI, MP3 ו- SD

#include #include #include

// אלה הסיכות המשמשות

#define VS1053_RESET -1 // סיכת איפוס VS1053 (לא בשימוש!) // Feather ESP8266 -באמצעות HUZZAH featther #define VS1053_CS 16 // סיכת בחירת שבב VS1053 (פלט) #define VS1053_DCS 15 // VS1053 סיכה לבחירת נתונים/פקודות (פלט) #define CARDCS 2 // סיכת בחירת שבב כרטיסים #הגדר VS1053_DREQ 0 // VS1053 בקשת נתונים, באופן אידיאלי סיכת הפסקה #הגדר VOLUME_KNOB A0

int lastvol = 10;

int loopcounter = 0; trackNumber ארוך; String trackString; שיר char [13] = {'T', 'R', 'A', 'C', 'K', '0', '2', '0', '.', 'm', 'p', '3', '\ 0'};

Adafruit_VS1053_FilePlayer musicPlayer =

Adafruit_VS1053_FilePlayer (VS1053_RESET, VS1053_CS, VS1053_DCS, VS1053_DREQ, CARDCS);

הגדרת בטל () {

// Serial.begin (115200); // נחוץ רק לצורך פתרון בעיות // בעוד (! סדרתי) {עיכוב (1); } // המתן לפתיחת יציאה טורית, // Serial.println ("\ n / nAdafruit VS1053 Test Feather"); randomSeed (ESP.getCycleCount ()); // ל- HUZZAH יש רק סיכה אנלוגית אחת שכבר בשימוש // צריך זרע אקראי אחר // רעיון זה מ https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin (); musicPlayer.sineTest (0x44, 500); // עשה צליל לציון ש- VS1053 פועל SD.begin (CARDCS);

// הגדר עוצמת קול לערוצים ימין ושמאל. מספרים נמוכים יותר == עוצמת קול חזקה יותר!

musicPlayer.setVolume (lastvol, lastvol); musicPlayer.useInterrupt (VS1053_FILEPLAYER_PIN_INT); // DREQ int}

לולאת חלל () {

// בדוק מדי פעם כדי להתאים את עוצמת הקול!

לופקופר ++; if (loopcounter> = 1000) {loopcounter = 0; int vol = 0; vol = analogRead (VOLUME_KNOB); כרך /= 10; if (abs (vol - lastvol)> 3) {// Serial.println (כרך); lastvol = vol; musicPlayer.setVolume (lastvol, lastvol); }}

// הפעל קובץ ברקע, REQUIRES מפריע!

אם (! musicPlayer.playingMusic) {trackNumber = random (6); // צריך לעשות את זה ספרה אחת בכל פעם; הספרה הראשונה 0-5 תווים c = char (trackNumber + 48); // ASCII 48 הוא '0'; צריך לשנות ערך כדי לקבל שיר תו נכון [6] = c; // להחליף את ערך העשרות במערך char trackNumber = random (10); // ספרה שנייה 0-9 c = char (trackNumber + 48); שיר [7] = c; // Serial.println (שיר); musicPlayer.startPlayingFile (שיר); עיכוב (10); }}

שלב 4: תהנה

פשוט חבר לחשמל USB ותיהנה מהשירים האהובים עליך.

ניתן לכוונן את עוצמת הקול בעזרת הפוטנציומטר שבתוך הקופסה. אחרת אין בקרות.

מוּמלָץ: