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

HX1 -DM - מכונת התופים DIY מופעל Arduino DUE מופעל DIY (עשוי עם מכונה מתה MK2): 4 שלבים
HX1 -DM - מכונת התופים DIY מופעל Arduino DUE מופעל DIY (עשוי עם מכונה מתה MK2): 4 שלבים

וִידֵאוֹ: HX1 -DM - מכונת התופים DIY מופעל Arduino DUE מופעל DIY (עשוי עם מכונה מתה MK2): 4 שלבים

וִידֵאוֹ: HX1 -DM - מכונת התופים DIY מופעל Arduino DUE מופעל DIY (עשוי עם מכונה מתה MK2): 4 שלבים
וִידֵאוֹ: Маленький секрет в тостере 2024, יולי
Anonim
Image
Image
התיקון
התיקון

המפרט

  • בקר / מכונת תופים היברידית מידי: מופעל על ידי Arduino DUE!
  • 16 רפידות חישה למהירות עם זמן אחזור נמוך מאוד 1> אלפיות השנייה
  • 8 ידיות משתמש שניתן להקצות לכל פקודה Midi #CC
  • 16ch sequencer מובנה (אין צורך במחשב !!)
  • פונקציונליות MIDI in/out/thru (יכולה לשמש כממשק USB midi!)
  • שעון MIDI חלקי ותמיכה ב- MTC (עובד על בקרת MMC ו- DAW)

זה בהחלט אחד הפרויקטים הכי מסובכים שעבדתי עליהם, דיברנו על 17 רשמי משמרות פלט, 6 רשמי משמרות קלט, 2x16 מרבצי ערוצים שעובדים על לוח מעגלים אין לי מושג מה מה ואיפה פלוס מעולם לא התעסקתי עם רשמי משמרות / מרבבים לפני ……

זה התחיל כקניית דחף ב- eBay, מאוד רציתי מכונת Native Instruments כי תמיד אהבתי את רפידות התופים שבהן בהשוואה לאלה באולפן MPC שבבעלותי אז כשראיתי פגום באיביי תמורת 40 ליש ט חשבתי הייתי מנסה לתקן את זה כשהתרחיש הגרוע ביותר הוא 'אם אני לא יכול לתקן את זה יש לי ארדואינו DUE וכמה UNO משקר, אני תמיד יכול לעשות קצת פריצה'

אני באמת אוהב את כריות התוף האלה בכל מקרה !!!!

אספקה

1 x מכשיר מקורי לא תקין MK2

1 x Arduino Due.

17 x SN74HC595 - רגיסי משמרות פלט של 8 סיביות

6 x SN74HC165 - רשימות משמרות קלט של 8 סיביות

2 x 74HC4067 - מרבב 16 ערוצים.

2 x 3.2 אינץ '256 x 64 צגי OLED.

קצת חוט שטוח (כבל תקליטון ישן יעשה)

שלב 1: התיקון

מוכר eBay היה אדיב מספיק לתת מושג למה לצפות בתיאור והסיר את יציאת ה- USB. הלוח סבל ממתח יתר ולא הופעל. רמז למולטימטר…. נראה כי הלוח היה קצר.. 'תיקנתי אינספור לוחות אם עם מכנסיים קצרים בעבר אז כמה קשה זה יכול להיות? רכיב בלוח כולל המעבד הראשי. הלוח הזה היה ממש רע!

המשכתי לדחוף ולנקוט עם המולטימטר שלי, עשיתי קצת מחקר על הרכיבים והבנתי מה כל אחד עושה פלוס NI עשה עבודה נהדרת להפוך את הדברים לברורים למדי עם נקודות הבדיקה השונות סביב לוח האם ??.

שלב 2: הפריצה

הפריצה
הפריצה
הפריצה
הפריצה
הפריצה
הפריצה

בידיעה שאני אצטרך להחליף הכל חוץ מהמעבד הראשי (שלא יהיה צורך) פניתי לאיביי. למרבה המזל כל מה שצריך היה זול אז להזמין המון מהם היה כיף. ?

17 x SN74HC595 - רשימות משמרות פלט של 8 סיביות

17 רשמי משמרות הפלט משמשים לשליטה על נוריות ה- LED הצבעוניות של משטח התוף ובכל נוריות הלחצנים (136 ליתר דיוק !!) אלה ממש קלים לשימוש ומצאו במהירות ספרייה באמצעות ה- Arduino IDE כדי להציל את עצמי מכינה אחת… הם כבולים יחד.

6 x SN74HC165 - רשום משמרות קלט של 8 סיביות

רשמי משמרות קלט אלה נהדרים לכניסות מרובות בערוץ אחד. בסך הכל יש 48 כפתורים.

2 x 74HC4067 - מרבב 16 ערוצים

נותרו לנו 16 רפידות ו -8 כפתורים אלה גם אנלוגיים. מצאתי שקל יותר להשתמש באלה שכן אלה שעל הלוח היו 8 ערוצים והיו לי בעיות למצוא היכן לחבר את סיכות הנתונים.. צומת ספגטי רמז….

2 x 3.2 אינץ '256 x 64 צגי OLED

זה חייב להיות כמה מסכים !!! לא הצלחתי למצוא מידע על מסכי ה- LCD המקוריים שהגיעו במכשיר ה- NI ולא יכולתי לטרוח לבזבז יותר זמן בניסיונות ולכן החלטתי להזמין כמה מסין … השתמשתי בספריית UG8x8 בכדי לגרום לזה לעבוד. המסכים החדשים היו קטנים במקצת מהמקור כך שפשוט סילקתי את ה"ביטים הגרועים ".

1 x Arduino Due

היה לי את זה שוכב זמן מה וחיכיתי לפרויקט הראוי מספיק לכל הכוח הזה !! הייתה בעיה שנתקלתי בה. נראה כי בכמה מהדורות של לוחות אלה יש בעיית איפוס, מה שאומר שהייתי צריך ללחוץ על כפתור האיפוס לפעמים כדי להפעיל את הדבר לאחר העלאת סקיצה. זה תוקן בקלות בעזרת נגד 10K (יש פוסט בפורום Arduino בנושא).

שלב 3: הקוד

התרשמתי מאוד מכמה תמיכה יש בקהילת הארדואינו, מציאת דוגמאות קוד וספריות לרכיבים השונים הייתה ממש פשוטה וישרה.

ההפעלה של ה- midi USB הייתה קלה ולקחה כמה דקות. הנורות לקחו קצת זמן והייתי צריך ליצור סקיצה שהגדירה בהדרגה כל סיכה HIGH במרווחים של שנייה אחת ורשמה הערה.. הכנתי מערך שהחזיק את מספרי ה- PIN כדי להקל על קידוד הכל.

הכנתי 2 ספריות כדי לדבר עם המרבבים, האחת מטפלת ברפידות האנלוגיות והשנייה בכפתורים. שוב זה היה ממש פשוט. צירפתי אותם אל תהסס להשתמש בעריכה וכו '.

רציתי שיהיה לי רצף והיכולת להקליט ללא צורך במחשב, מצאתי קצת מידע כיצד להמיר BPM ל- ms ומצאתי ספריית טיימר DUE של Arduino נהדרת.

באמצעות ספריית הטיימר הצלחתי להגדיר תשומות קריאה ודברים במרווחי זמן:

רפידות @ 1ms - מצאתי שזה נותן את האיזון הטוב ביותר בין ממצאי תגובה / ביטול קפיצה.

Buttons @ 40ms - השתמשתי בספריית תורים כך שלא החמיצו לחיצות.

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

Midi stuff @BPM (ב- ms) - לרצף, ב- BPM הרצוי נקראת פונקציה המעדכנת את הערות ETC ויש להעלות את מונה הפעימות.

שלב 4: מסקנה

סיכום
סיכום

לא בטוח מה עשיתי כאן אבל אני די גאה, הרפידות מגיבות מצוין, נאלצתי להתעסק עם העיתוי כדי להשיג את האיזון הנכון עם היענות והפחתת בעיות. הרצף עובד מצוין וברגע שאני מבין את תמיכת DAW אני יכול לשלב את הדבר הזה במלואו בזרימת העבודה שלי ולהוסיף דברים בבקר שתמיד רציתי!. זה היה פרויקט ממש כיף לעבוד עליו ותרגיל נהדר. בהיכרות עם C, הבנת הנדסת הרוורס וכיצד פועלים מרבבים, רישומי משמרות ורצף MIDI. אני ממשיך לשפר את הקוד הראשי ואולי אפרסם אותו יום כמעצב קצב בקוד פתוח.

טיפים:

מצאתי כיצד לשנות את שם ה- USB של ה- DUE על ידי עריכת אחד מקבצי הכותרת בתיקיית Arduino/SAM.

MIDI-OX הוא כלי נהדר לבדיקת פונקציונליות Midi

קישורים:

www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spech https://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -מי … קצת מידע על איך להמיר BPM ל- ms

travis-ci.com/SMFSW/Queue - לכניסות כפתורים כדי שלא נפספס שום לחיצה!

github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib עבור מסכי LED/LCD

github.com/ivanseidel/DueTimer/releases - Arduino DUE Timing lib

www.pjrc.com/teensy/td_libs_Encoder.html - Encoder Lib לכפתור הגדול

shiftregister.simsso.de/ - ShiftIn Register lib - נוצר על ידי הנריק היינה, 24 ביולי 2016

forum.arduino.cc/index.php?topic=57636.0 - דברים קוד קוד MIDI

מוּמלָץ: