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

בואו לבנות סינתזת MIDI USB מסוג SN76489 עם Arduino Nano: 7 שלבים
בואו לבנות סינתזת MIDI USB מסוג SN76489 עם Arduino Nano: 7 שלבים

וִידֵאוֹ: בואו לבנות סינתזת MIDI USB מסוג SN76489 עם Arduino Nano: 7 שלבים

וִידֵאוֹ: בואו לבנות סינתזת MIDI USB מסוג SN76489 עם Arduino Nano: 7 שלבים
וִידֵאוֹ: «Развлечение с музыкой и программированием», Коннор Харрис и Стивен Крюсон 2024, נוֹבֶמבֶּר
Anonim
Image
Image
בואו לבנות SN76489 USB MIDI Synth עם Arduino Nano
בואו לבנות SN76489 USB MIDI Synth עם Arduino Nano
בואו לבנות סינתזת MIDI USB מסוג SN76489 עם Arduino Nano
בואו לבנות סינתזת MIDI USB מסוג SN76489 עם Arduino Nano

תמיד רצית לבנות סינתיסייזר משלך המבוסס על שירי צ'יפס ישנים משנות ה -80? לנגן מנגינות פוליפוניות פשוטות שנשמעות בדיוק כמו ששמעו את משחקי הווידאו הישנים מסוג Sega Master System ומשחקי הווידאו Megadrive?

יש לי, אז, הזמנתי כמה שבבי SN76489 מ- ebay וממשק מארח midi ונתתי לזה זריקה. ובכן, זה לא היה טיול בפארק בשבילי, אבל נהניתי מכל רגע.

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

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

ברגע שהבנתי כיצד לשלוט בשבב וכיצד להתממשק למקלדת ה- midi USB שלי, הדבר היחיד שנותר לעשות היה לכתוב קוד כלשהו שיעטוף את כל זה יחד ויאפשר לי להשתמש במקלדת לשליטה על השבב.

בדרך למדתי שצלילים בתדירות נמוכה יותר מאלו שניסיתי לייצר עבור תווי midi 0x2f לא נשמעים נכון, אז החלטתי להשתמש בזה כדי לאפשר שליחת רעש למחולל הרעשים עבור כל תווי midi בין 0x28 ל 0x2f וגם לאפשר הפעלת תווים עם מגע ערבי מזרחי אליו בכל דבר נמוך יותר מאשר midi 0x28.

במבט לאחור, היה מאוד כיף ומאוד מעניין לבנות.

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

אם אהבת את הפרויקט הזה, אנא הצביע עבורו למטה כדי לעזור לזכות בתחרות בה הוא משתתף

אספקה

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

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

ebay.us/svA4z4 | 1 x לוח ביצועים

ebay.us/ZyEFNp | 1 x ארדואינו ננו

ebay.us/t1zy0v | 1 x USB מיני מגן

ebay.to/2QrHl1C | 1 x שבב קול SN76489

ebay.us/aaaj8p | 1 x מרשם משמרות 595

ebay.us/DSvTHO | 1 x מתנד קריסטל של 4MHz

ebay.us/XQeM0Q | ווסת מתח 1 x 5V 7805

ebay.us/6R6Fpf | 1 x גוף קירור עבור ווסת המתח

ebay.us/xkLbn4 | 3 קבלים 10uF

ebay.us/pnm2BH | חוטים

ebay.us/PMbUfY | 1 x LED אדום עבור כוח

ebay.us/zokHtc | נגד 1 x 220 אוהם להגבלת זרימת הזרם LED

ebay.us/qjbesJ | 1 x מחבר מתח לאספקת חשמל 12 וולט

ebay.us/cS0wwv | 1 x מתג הפעלה/כיבוי

קופסה מתאימה (בניתי את שלי ממגירה ישנה שנחה באחסון שלי במשך שנים)

שלב 1: הכנת מגן ה- USB Mini Host לכונן התקן 5V Midi

הכנת מגן ה- USB Mini Host להנעת מכשיר Midi 5V
הכנת מגן ה- USB Mini Host להנעת מכשיר Midi 5V

מכיוון שמגן המארח USB מיני פועל על 3.3V ומקלדות ה- midi USB שבהן אני משתמש דורשות 5V, הוא נדרש להתאים את מתח המוצא של המגן על ידי חיתוך קו 3.3V העובר ל- USB out Vcc, כך שנוכל לחבר אותו מאוחר יותר. ל 5V.

יש הרבה הדרכות כיצד לעשות זאת והתברר כי די פשוט:

פשוט חתכו את הקו בין הנגד 2k2 לקו ה- Vcc (ראו תמונה מצורפת). השתמשתי במברג כדי לגרד את הקו הזה ובדקתי אם הוא עובד עם מד המשכיות.

שלב 2: חבר את מגן ה- USB Mini עם ה- Arduino Nano שלך

חבר את מגן ה- USB Mini עם ה- Arduino Nano שלך
חבר את מגן ה- USB Mini עם ה- Arduino Nano שלך
חבר את מגן ה- USB Mini עם ה- Arduino Nano שלך
חבר את מגן ה- USB Mini עם ה- Arduino Nano שלך

למרבה המזל, יש הרבה מידע על איך לעשות זאת, ולכן, על ידי חיפוש בגוגל אחר "Arduino Nano ו- mini USB host shield" נחתתי בשרשור זה

הוא תיאר כיצד לחבר את מגן ה- USB mini v2.0 ואחרי שעקבתי אחריו הלכתי ישר לבדוק כמה דוגמאות USB midi.

תִיוּל:

מגן מארח Arduino

10--------------5

11--------------6

12--------------7

13--------------8

2----------------2

5V -------------- 1

3.3V ------------ 9

GND ----------- 3

RST ------------ 4

בשרשור זה צוין גם כי הם חתכו את מוליך 3.3V כך שה- USB יכול לקבל 5V מ- VBUS.

התיאור והתמונות המצורפות הגיעו מהשרשור הזה.

BTW, יש טעות בהדפסה על הלוח הזה, אז זה היה קצת מבלבל, עם זאת, אתה יכול לראות את המשוב שלי על זה (tyrkelko) ומאיפה למדתי את זה.

שלב 3: צ'יפס מישהו? הוספת SN76489 עם 4 מגה -הרץ Osc. ו -595 משמרת משמרות

צ'יפס מישהו? הוספת SN76489 עם 4MHz Osc. ו -595 משמרת משמרות
צ'יפס מישהו? הוספת SN76489 עם 4MHz Osc. ו -595 משמרת משמרות

עכשיו הגיע הזמן להוסיף את השבב שעושה את הצליל המדהים הזה.

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

הספרייה משוחררת ב- github תחת GPLv3 (גרסת הקוד הפתוח הראשון שלי).

github.com/tyrkelko/sn76489

החיבור בין 76489 ו -595 היה כמו בתמונה המצורפת שנלכדת מהקובץ readme.txt של הספרייה

ה- Write Enable on Low (NotWE) של 76489 היה מחובר עם סיכה 3 של הננו וניתן לשנות אותו בקוד.

#הגדר PIN_NotWE 3

ה- 595 חובר לננו כדלקמן וניתן להתאים אותו גם על ידי עריכת מספרי הסיכה:

#הגדר PIN_SER 7

#הגדר PIN_LATCH 6

#הגדר PIN_CLK 5

המתנד בו השתמשתי היה מתנד קריסטל 4MHz בעל 4 רגליים.

הוא הוגדר בקוד כדלקמן ותוכל להתאים את ערכו לכל תדר מתנד שבין 500kHz ל- 4MHz:

#define FREQUENCY 4000000.0

חיבור המתנד בו השתמשתי היה כדלקמן:

סיכה 1 - לא מחובר

סיכה 7 - טחון

סיכה 8 - מחוברת ל- 76489 סיכה 14 - שעון אוסק

שלב 4: פשוט הוסף קוד - הוספת הספריות, הידור והעלאת הקוד

יש להוסיף את הספריות המשמשות בפרויקט זה ל- Arduino IDE כדלקמן:

פתח את ה- IDE של Arduino

הורד את הספריות הבאות לתיקיית הספרייה של ה- IDE שלך (מקווה לראות אותן בתפריט "נהל ספריות …" בתפריט "כלים" של IDE בקרוב):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

השתמש בקוד מפרויקט github הבא:

github.com/tyrkelko/usb_midi_tone

הורד usb_midi_tone.ino, הידור והעלה לננו הארדואינו שלך.

שלב 5: חבר מגבר ורמקול, חבר את מקלדת ה- USB Midi שלך ובדוק

עכשיו הגיע הזמן לבדוק הכל עובד.

לשם כך אנו צריכים:

1. מגבר ורמקול

2. מקלדת מידי USB

חבר את סיכה SN76489 פין 7, אודיו החוצה, אל שמע המגבר.

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

חבר את מקלדת ה- midi USB ובדוק.

אם הכל עובד נכון, אתה אמור להיות מסוגל לנגן 3 טונים בו זמנית, וגם לשחק 8 סוגי רעש ואפילו איזה רבע טון של 24 EDO-Scale.

אם זה לא עובד, עברו על השלבים כדי לראות מה אולי השתבש.

אם אתה מרגיש שזה נובע מהוראות לא ברורות, שלח לי הערה כדי שאעדכן את ההוראות לתיקון.

שלב 6: השלם את המעגל עם ווסת מתח 5V, מחבר 12V, מתג הפעלה/כיבוי ונורית הפעלה

בשלב זה אתה אמור להיות מסוגל לסכם את המעגל לאחר הבדיקה שהוא פועל כהלכה.

1. הוסף וסת כוח עם LM7805 ושני קבלים 10uF ו- 0.1uF. יש הרבה הדרכות בנושא, אתה יכול להשתמש בהנחיות הבאות כדי להשיג זאת-https://www.instructables.com/id/7805-Regulator-5V…

2. הוסף מחבר מתח 12V כאשר ה- Vcc עובר באמצעות מתג הפעלה/כיבוי

3. הוסף נורית LED עם נגד זרם מגביל כדי לציין מתי הכוח מופעל.

שלב 7: סגור בקופסה, צייר ותהנה מהסינתור החדש שלך

ברגע שהמעגל נבדק ועובד לטעמך, לא נשאר הרבה מה לעשות חוץ מבניית מארז נחמד, צובעים אותו בצבעים מדהימים ומשמיע מוזיקה.

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

אנא הגיב למטה עם כל שאלה ואם בנית משהו דומה על סמך הדרכה זו יהיה נהדר אם תשתף את מה שעשית ב"הכנתי את זה! " באזור או בקטע המשוב.

מוּמלָץ: