תוכן עניינים:
וִידֵאוֹ: לוחם Arduino Uno Midi: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
מדריך זה נוצר להגשמת דרישת הפרוייקט של מסלול המכוניות באוניברסיטת דרום פלורידה (www.makecourse.com)
מבוסס על MidiFighter הפופולרי של DJ Techtools, בקר ביתי מסוג ממשק דיגיטלי (MIDI) תוצרת בית מסוג Arduino יכול לשמש כמכשיר MIDI בכל תוכנת תחנת עבודה דיגיטלית (DAW). בקר MIDI יכול לשלוח ולקבל הודעות MIDI ממחשב וניתן להשתמש בו כדי לשלוט ישירות על התוכנה שבה נעשה שימוש. בנוסף, הפקדים בבקר MIDI ניתנים להתאמה אישית מלאה - כלומר ניתן למפות כל כפתור, מחוון וכפתור בודדים לכל פונקציה ב- DAW. לדוגמה, לחיצה על כפתור יכולה לנגן תו ספציפי או להיות מתוכנת להחליף את הקצב של פרויקט השמע שלך.
github.com/jdtar/Arduino-Midi-Controller
שלב 1: חומרים
להלן רשימת החומרים והכלים המשמשים בפרויקט זה.
ארדואינו אונו
לוח לחם
4051/4067 מרבב
חוטי מגשר
חוט נוסף
2x10k ohm פוטנציומטרים שקופיים ליניאריים
16x כפתורי Sanwa 24 מ מ
כיווץ חום
מלחם
סכין גילוח
נגד 4.7 kΩ
גיליון אקרילי (למכסה)
דיור לכפתורים וארדואינו
מדפסת תלת מימד
חותך לייזר
שלב 2: עיצוב
כבר קיבלתי דיור לבקר ה- MIDI שלי לפני תחילת הפרויקט, אז לעגתי למערכון על המכסה על מנת לדמיין היכן הכל אמור להיות ממוקם. ידעתי שאני רוצה לפחות 16 כפתורים וכמה פוטנציומטרים כתכונה, אז ניסיתי לחלל את המרכיבים בצורה שווה ככל האפשר.
לאחר שציירתי את הפריסה של המכסה, ייצאתי את הקובץ כקובץ PDF 1: 1 ושלחתי אותו לחותך לייזר כדי לחתוך דף אקריליק. עבור חורי בורג, סימנתי היכן אני רוצה שהחורים יהיו עם סמן והמסתי את האקריליק בעזרת נימה חמה.
מצורף קובץ ה- PDF 1: 1 שניתן להדפיס כ- 1: 1 ולחתוך בעזרת כלים חשמליים אם חותך לייזר אינו זמין.
שלב 3: בנייה וחיווט
לאחר חיתוך חיתוך האקריליק גיליתי שהאקריליק דק מדי מכדי לתמוך מספיק בכל הרכיבים. לאחר מכן גזרתי גיליון נוסף והדבקתי אותם זה לזה שבמקרה עבד בצורה מושלמת.
חיווט הרכיבים לקח קצת ניסוי וטעייה אך הביא למערכון פריץ המצורף. תחילה חיברתי את חוטי הקרקע ואת הנגד 4.7kΩ, הלחמתי וחום כיווץ את החיבורים בכפתורים. הרכבת שני פוטנציומטרי השקופיות דרשה חורי התכה עבור הברגים באקריליק. לאחר הברקת שני הפוטנציומטרים, הם היו מחוברים לסיכות האנלוגיות A0 ו- A1. לאחר שהחיווט הושלם, נזכרתי שאין כובעי כפתורים לאופיינים שלי ולכן במקום לרכוש אותם, הדפסתי כמה כובעי ידיות באמצעות מדפסת תלת-ממדית על ידי שרטוט זה ב- Autodesk Fusion 360 וייצוא לקובץ STL. דה
ל- Arduino Uno יש רק 12 סיכות קלט דיגיטליות זמינות אך 16 כפתורים היו מחוברים. כדי לפצות על זה, חיברתי מכפלת 74HC4051 על לוח לחם שמשתמש ב -4 סיכות קלט דיגיטליות ומאפשרת לאותות מרובות להשתמש בקו משותף וכתוצאה מכך 8 סיכות קלט דיגיטליות זמינות עבור סך של 16 סיכות דיגיטליות הזמינות לשימוש.
חיבור הכפתורים לפינים הנכונים היה פשוט עניין של יצירת מטריצה 4x4 ושימוש בקוד. עם זאת, החלק המסובך היה שלמרבב הספציפי שנרכש הייתה פריסת סיכה ספציפית שבה גיליון הנתונים עזר וגם חשבתי על פריסת פתק ספציפית בעת חיווט הכפתורים שבסופו של דבר נראו קצת כך:
שימו לב מטריקס
[C2] [C#2] [D2] [D#2]
[G#2] [A1] [A#2] [B1]
[E1] [F1] [F#1] [G1]
[C2] [C#2] [D2] [D#2]
PIN MATRIX (M = קלט MUX)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
שלב 4: תכנות
לאחר השלמת ההרכבה, התכנות של הארדואינו היא כל שנותר. התסריט המצורף כתוב באופן שניתן להתאמה אישית בקלות.
תחילת התסריט כוללת את ספריית MIDI.h וספריית בקר שאולה מהבלוג Notes and Volts ששניהם כלולים בקובץ ה- zip של הקוד. באמצעות ספריית הבקר ניתן ליצור אובייקטים לכפתורים, פוטנציומטרים ולחצנים מרובבים המכילים ערכי נתונים הכוללים את מספר ההערה, ערכי הבקרה, מהירות ההערה, מספר ערוץ MIDI וכו '. ספריית MIDI.h מאפשרת תקשורת MIDI I/O ברשת יציאות סדרתיות של Arduino אשר מצידן לוקחות את הנתונים מאובייקטים הבקר, ממירה אותן להודעות MIDI ושולחת את ההודעות לכל ממשק המידי המחובר.
חלק הגדרת הריק של התסריט מאתחל את כל הערוצים כבולים וגם יוצר חיבור טורי ב -115200 באוד, קצב מהיר יותר מאשר החלפת אותות ה- MIDI.
הלולאה הראשית למעשה לוקחת את מערכי הכפתורים והכפתורים המרובבים ומפעילה לולאה for אשר בודקת אם הכפתור נלחץ או שוחרר ושולח את בתות הנתונים המתאימות לממשק המידי. לולאת הפוטנציומטר בודקת את מיקום הפוטנציומטר ושולחת את שינויי המתח המתאימים בחזרה לממשק המידי.
שלב 5: התקנה
לאחר שהסקריפט נטען על הארדואינו, השלב הבא הוא חיבור והפעלה. עם זאת, ישנם מספר שלבים לפני שניתן יהיה להשתמש בו.
ב- OSX, אפל שילבה תכונה ליצירת מכשירי midi וירטואליים שניתן לגשת אליהם באמצעות יישום Audio Midi Setup במחשבי Mac. לאחר יצירת המכשיר החדש, ניתן להשתמש ב- Hairless MIDI ליצירת חיבור טורי בין הארדואינו לבין מכשיר המידי הווירטואלי החדש. החיבור הטורי מה- Arduino דרך Hairless MIDI פועל בקצב השידור המוגדר בחלק הגדרת הריק של התסריט ויש להגדיר אותו שווה ערך בהגדרות העדפת MIDI ללא שיער.
למטרות בדיקה השתמשתי ב- Midi Monitor כדי לבדוק אם הנתונים הנכונים נשלחים חשבו שחיבור MIDI טורי. לאחר שקבעתי שכל כפתור שולח את הנתונים הנכונים דרך הערוצים הנכונים, הגדרתי את אות ה- MIDI לנתב ל- Ableton Live 9 כקלד MIDI. באבלטון הצלחתי למפות דוגמאות שמע פרוסות לכל כפתור ולנגן כל דוגמא.
מוּמלָץ:
מזין דגים Arduino Uno ב 6 שלבים זולים וקלים !: 6 שלבים
מזין הדגים Arduino Uno ב -6 שלבים זולים וקלים !: כך שאולי יהיה צורך בקצת סיפור רקע לפרויקט זה. לאנשים עם דגים לחיות מחמד הייתה כנראה אותה בעיה כמוני: חופשות ושכחה. כל הזמן שכחתי להאכיל את הדגים שלי ותמיד הסתבכתי לעשות זאת לפני שהגיע ל
עצור ידיים ורגליים מזיעות עם לוחם זיעה !: 7 שלבים (עם תמונות)
עצור ידיים ורגליים מזיעות עם לוחם זיעה! אני אעדכן את הקוד כדי לצמצם את הבעיה, אך בינתיים עליך להתעכב על בניית זה. הזעת יתר היא מצב הגורם לעודף
ה- Arduino-UNO החזק יותר, Massduino-UNO: 9 שלבים
Arduino-UNO החזק יותר, Massduino-UNO: מה Massduino? Massduino הוא קו מוצרים חדש, המשלב את הפלטפורמה היקפית של פלטפורמת Arduino, פיתוח נוח ומהיר, בעלות נמוכה וקל לייצור יתרונות ייצור בקנה מידה גדול. כמעט כל הקוד של Arduino יכול להיות
לוחם MIDI מבוסס Arduino (רגיש למגע): 7 שלבים (עם תמונות)
לוחם MIDI מבוסס Arduino (רגיש למגע): MIDI מייצג ממשק דיגיטלי של כלי נגינה. כאן אנו יוצרים לוחם MIDI רגיש למגע. יש לו 16 רפידות. ניתן להגדיל או להקטין אותם. כאן השתמשתי ב -16 בגלל סיכות הארדואינו המוגבלות. כמו כן השתמשתי בסיכות קלט אנלוגיות
בקר אור רצועת MIDI 5V LED עבור Spielatron או סינתזת MIDI אחרת: 7 שלבים (עם תמונות)
בקר אור רצועת MIDI 5V LED עבור ה- Spielatron או סינתזת MIDI אחרת: בקר זה מהבהב אורות רצועות LED בשלושה צבעים עבור 50mS לכל הערה. כחול עבור G5 עד D#6, אדום עבור E6 עד B6 וירוק עבור C7 עד G7. הבקר הוא מכשיר ALSA MIDI כך שתוכנת MIDI יכולה לפלט לנורות במקביל למכשיר סינתטי MIDI