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

סינטיסייזר מיקרו מידי: 5 שלבים (עם תמונות)
סינטיסייזר מיקרו מידי: 5 שלבים (עם תמונות)

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

וִידֵאוֹ: סינטיסייזר מיקרו מידי: 5 שלבים (עם תמונות)
וִידֵאוֹ: Dual AY-3-8910 MIDI synthesizer with envelope modes, part 5 2024, נוֹבֶמבֶּר
Anonim
סינטיסייזר מיקרו מידי
סינטיסייזר מיקרו מידי
סינטיסייזר מיקרו מידי
סינטיסייזר מיקרו מידי
סינטיסייזר מיקרו מידי
סינטיסייזר מיקרו מידי

מדריך זה מדגים את השימוש בשבב האודיו VLSI VS1053b ו- Midi DSP במצב Midi בזמן אמת שלו. במצב זה הוא פועל כסינתיסייזר Midi פוליפוני 64 (General Midi) פוליפוני. מיקרו עצמאי של Arduino Uno שולט על תצוגת OLED, שלושה כפתורים (בחירת פונקציות ולמעלה או למטה, ומעביר את זרם הנתונים של Midi אל DSP השמע. לוח המוסיקה שנבחר היה לוח הפריצה ל- Adafruit VS1053, אך לוח פריצת מוזיקה של Sparkfun. כמו כן נבדקה בהצלחה. ספריות Adafruit VS1053b שימשו במקום ספריית SFEMP3 הרבה יותר גדולה (המומלצת על ידי Sparkfun למרות שיש לה גם מערך ספריות משלהם), כיוון שקשה לי להבין את הקוד של Adafruit.

רוב הקוד המשמש לשליטה ב- DSP אודיו/midi פותח באמצעות Arduino Uno המחובר ללוח הפריצה של האודיו/midi באמצעות לוח לחם. לאחר שהתגלו כי הפונקציות פועלות באופן משביע רצון, ה- Uno שימש כמתכנת עבור ATmega 328 עצמאי אשר הונח לאחר מכן על Veroboard קטן בגודל 30x20 יחד עם IC-isolator 6N139 הנדרש בשקע הכניסה Midi (DIN 5 פינים). כמו כן, חובר מגן OLED קטן (64x48), שלושה כפתורים, נורית פעילות Midi ומחבר חבית +5 וולט לחיבור מתח ומחבר יציאת סטריאו שמע. דרישות ההספק צנועות מאוד - כ -20 mA ב -5 וולט.

שלב 1: רשימת חלקים

ATmega328 מיקרו 28 פינים DIP + שקע DIP 28 פינים 6N138 או 6N139 אופטואיזולטור + שקע DIP 4 פינים Wemos 64x48 I2C תצוגת OLED או דומה Adafruit VS1053b לוח פריצת קוד 3 כפתורי מיניאטורים 5 פינים DIN Midi שקע הרכבה מועדפים LED קטן כל סוג אספקת שמע שקע לחיבור למגבר או לאוזניות נגדים: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm קבלים: 0.1uF 50v פלסטיק, 10uf 25v אלקטרוליטי, 2 x 27 pF קרמיקה קטעי Veroboard קטנים (30 רצועות על 20 עמודים ו -4 רצועות על ידי 16 עמודים), מארז פלסטיק ABS כ- 85x55x25 מ מ, חיווט וכמה ברגים אגוזים ומכבסים.

שלב 2: בנייה

בְּנִיָה
בְּנִיָה
בְּנִיָה
בְּנִיָה
בְּנִיָה
בְּנִיָה

מכסה המארז מכיל את תצוגת OLED, שלושת הכפתורים המותקנים על פיסת Veroboard קטנה נוספת ומחבר החשמל של החבית. ללוח המעגלים הראשי של Vero יש שני חורים לתיקון לוח הפריצה למוסיקה מעל ה- ATmega328. לפרטי חיבור, עיין בתרשים לוח רצועות Fritzing.

ה- ATmega328 המתוכנת (עיין בפרק הבא של הקוד) מוכנס לשקע שלו ואחריו ה- 6N139 והכל מחובר.

הנורית משמשת כמחוון פעילות מידי והותקנה בצד הקדמי של המתחם. הוא מחובר ליציאת D2 של ה- ATmega328 באמצעות נגד של 470 אוהם.

תצוגת OLED משתמשת בהספק 3.3 וולט מלוח Adafruit לצורך הספק - הוא דורש פחות מ -20 mA.

נסה להחליף את שני חיבורי Midi Din אם אינך שומע שום שמע בעת השימוש הראשון בסינתר.

שלב 3: תוכנה

פרטי המערכון שצריך להעלות ל- ATmega328 ניתנים ב- MidA.ino. ישנן שבע פונקציות זמינות:

אפשרות P: שינוי תכנית - שנה את מכשיר ה- GM Midi מ- 1 ל- 128 (השתמשתי 0 עד 127) כגון צליל פסנתר או סינת 'אופציה B: שנה את בנק המכשיר בין Melodic (בנק 0) לבין כלי הקשה (בנק 1). אפשרות V: כוונן את עוצמת הקול מ -1 עד 10. אפשרות C: שנה את ערוץ ה- Midi שאליו יגיב ה- Synth. האפשרויות הן ערוץ 0, ערוץ 1, ערוץ 9 (כלי הקשה), ערוץ 0 ו -9, וערוץ 1 ו 9. אופציה R: הפעלה או כיבוי של אפקט הדהוד. אפשרות S: שמור את הפרמטרים הנוכחיים בזיכרון Eeprom (למעלה) או קרא (למטה) אותו חזרה מזיכרון Eeprom. הסיבה לכך היא שהגדרות אחרת אינן נשמרות בעת כיבוי. אפשרות X: שלח הודעה כולה של כל ההערות (איפוס Midi).

אופציה שמינית עדיין לא מיושמת - זה יעקוף את ה- ATmega כמסנן Midi ויחבר את פלט האופטואיסולטור ישירות לסיכה Rx של לוח ה- DSP.

שים לב ש- VS1053b מגפיים במצב Midi בזמן אמת על ידי טעינת תיקון דחוס של 1039 בתים במהלך האתחול - הדבר גם מגדיל את גודל מאגר ה- Midi ומסנן בתים בלעדיים של Data Midi. ניתן למצוא פרטים על תיקון זה באתר VLSI.

גרסה שונה מעט של ספריית הגרפיקה של Adafruit שימשה כדי לספק את רזולוציית 64x48 פיקסלים של תצוגת OLED - עיין בקישורים שניתנו בסוף עבור מר מקאוזר. רשימה של הספריות הנדרשות ניתנת בקוד הסקיצה.

חשוב לציין כאשר הסקיצה תבוצע בפעם הראשונה ב- ATmega328 בין אם היא ביחידת Uno או עצמאית, הקוד יטען הגדרות קבועות מראש של פרמטרים מ- ATmega328 Eeprom שאולי אינו תקף. במקרה זה אתה יכול לכתוב את כל האפסים ל- Eeprom באמצעות האפשרות X בלחצן למטה, או להעיר את השורה בפונקציית ההתקנה הריקת הטעינה של ערכים מה- Eeprom כאשר היא מופעלת לראשונה, להתאים את המכשירים שלך וכו '. אהבתי ולאחר מכן שמור את ההגדרות הקבועות מראש שלך באמצעות לחצן S למעלה.

קרדיט ניתן לכל האנשים והגופים שהוזכרו על הקוד והספריות שלהם.

שלב 4: קישורים

VLSI:

Adafruit:

Github VS1053b:

גרפיקת Github:

אולד:

Sparkfun:

שלב 5: שימוש בלוח Sparkfun עם ספריות Adafruit

שימוש בלוח Sparkfun עם ספריות Adafruit
שימוש בלוח Sparkfun עם ספריות Adafruit

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

מוּמלָץ: