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

דוושת אפקטים של גיטרה ומוזיקה ATMega1284P: 6 שלבים (עם תמונות)
דוושת אפקטים של גיטרה ומוזיקה ATMega1284P: 6 שלבים (עם תמונות)

וִידֵאוֹ: דוושת אפקטים של גיטרה ומוזיקה ATMega1284P: 6 שלבים (עם תמונות)

וִידֵאוֹ: דוושת אפקטים של גיטרה ומוזיקה ATMega1284P: 6 שלבים (עם תמונות)
וִידֵאוֹ: שיעור גיטרה : מורה לגיטרה על מולטי אפקט 2024, נוֹבֶמבֶּר
Anonim
דוושת אפקטים של גיטרה ומוזיקה ATMega1284P
דוושת אפקטים של גיטרה ומוזיקה ATMega1284P

העברתי את ה- Pedalshield Arduino Uno ATMega328 (כפי שפותח על ידי Electrosmash ובחלקו מבוסס על עבודה במעבדת המוסיקה הפתוחה) ל- ATMega1284P בעל זיכרון RAM גדול פי 8 מה- Uno (16kB לעומת 2kB). יתרון בלתי צפוי נוסף הוא שלמבנה ה- Mega1284 יש רכיב רעש נמוך בהרבה - במידה שכאשר אני משווה את ה- Uno ו- Mega1284 באמצעות אותו מעגל תמיכה אין זה בלתי סביר לתאר את ה- Uno כ"רועש "ואת ה- Mega1284 כ-" שֶׁקֶט". RAM הגדול יותר אומר שאפשר להשיג אפקט עיכוב הרבה יותר ארוך - וזה מודגם על ידי דוגמת הסקיצה של Arduino שכללתי. רעש הנשימה ברקע בעת שימוש באפקט Tremelo גם הוא (כמעט) נעדר עם ה- ATMega1284.

השוואה של שלושה מעבדי Atmel AVR כלומר ה- 328P שהוא ה- Uno, ה- 2560P שהוא ה- Mega2560 וה- Mega1284 מראה כי האחרונים הם בעלי ה- RAM הגדול ביותר מבין השלושה:

Aspect 328P 1284P 2560P RAM 2k 16k 8k Flash 32k 128k 256k EEPROM 1k 4k 4k UART 1 2 4 IO Pins 23 32 86 Interrupts 2 3 8 Analog In 6 8 16

התחלתי על ידי לעלות על הלחם על ה- pedalSHIELD מבוסס Uno כמו במפרט Electrosmash אבל לא היה לי את אותו RRO OpAmp כפי שצוין. כתוצאה מכך הגעתי למעגל שחשבתי לתת תוצאות מקובלות. פרטי גרסת אונו זו מופיעים בנספח 2.

אותו מעגל הועבר אז ל- ATMega1284 - באופן מפתיע מלבד השינויים הלא חיוניים כגון הקצאת המתגים וה LED ליציאה אחרת, והקצאת 12, 000 kB במקום 2, 000 kB של זיכרון RAM למאגר העיכוב, רק היה צורך לבצע שינוי מהותי אחד בקוד המקור, כלומר שינוי יציאות Timer1/PWM OC1A ו- OC1B מיציאה B ביונו ליציאה D (PD5 ו- PD4) ב- ATMega1284.

מאוחר יותר גיליתי את השינויים המעולים במעגל האלקטרו -מאש על ידי פול גלאגר ולאחר הבדיקה, זהו המעגל שאציג כאן - אך לאחר מכן גם עם שינויים: החלפת ה- Uno במגה 1288, שימוש ב- Texas Instruments TLC2272 כ- OpAmp, ו בגלל ביצועי הרעש המעולים של ה- Mega1284, יכולתי גם להעלות את רמת תדר המסנן במעבר נמוך.

חשוב לציין כי למרות שלוחות פיתוח ל- ATMega1284 זמינים (Github: MCUdude MightyCore), זהו תרגיל קל לרכוש את השבב החשוף (נטול אתחול) (קנה את גרסת PDIP שהיא לוח ולוח ולוח) ידידותי), ולאחר מכן טען את מזלג מארק פנדריט של מטען האתחול Manibug Mighty-1284p Core Optiboot או ה- MCUdude Mightycore, באמצעות Uno כמתכנת ISP, ולאחר מכן טען שוב סקיצות באמצעות Uno ל- AtMega1284. פרטים וקישורים לתהליך זה מובאים בנספח 1.

ברצוני להכיר בשלושת המקורות החשובים ביותר מהם ניתן לקבל מידע נוסף ויתן קישורים לאתרי האינטרנט שלהם ולסיום מאמר זה: Electrosmash, Open Music Labs ו- Tardate/Paul Gallagher

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

ATMega1284P (גרסת חבילה של 40 פינים PDIP) Arduino Uno R3 (משמש כספקית להעברת מטעין האתחול והשרטוטים ל- ATMega1284) OpAmp TLC2272 (או RRIO דומה (קלט ויציאה של רכבת לרכבת) כגון MCP6002, LMC6482, TL972) LED אדום 16 מגהרץ קריסטל 2 x 27 pF קבלים 5 x 6n8 קבלים 270 pF קבלים 4 x 100n קבלים 2 x 10uF 16v קבלים אלקטרוליטיים 6 x 4k7 נגדים 100k נגד 2 x 1M נגדים 470 אוהם נגד 1M2 נגד 100k פוטנציומטר 3 x מתגי כפתור (אחד יש להחליף אותם במתג רגליים דו-כיווני דו-קוטבי אם תיבת האפקטים תשמש לעבודה חיה)

שלב 2: בנייה

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

סכמטי 1 נותן את המעגל המשמש ולוח הלוח 1 הוא הייצוג הפיזי שלו (Fritzing 1) עם תמונה 1 את המעגל הלוח בפועל בפועל. יתכן שיהיה יתרון אם יש פוטנציומטר כמיקסר לאות היבש (השווה לקלט) והרטוב (לאחר עיבוד על ידי ה- MCU), ו סכמטי 2, לוח לחם 2 ותמונה 2 (המופיעים בנספח 2) נותן את פרטי מעגל של מעגל שנבנה בעבר, המשלב מערבל קלט לפלט כזה. עיין גם ב- StompBox של Open Music Labs ליישום מיקסר נוסף באמצעות ארבעה OpAmps.

שלבי קלט ופלט של OpAmp: חשוב להשתמש ב- RRO או עדיף ב- RRIO OpAmp בגלל תנופת המתח הגדולה הנדרשת ביציאת OpAmp ל- ADC של ה- ATMega1284. רשימת החלקים מכילה מספר סוגי OpAmp חלופיים. פוטנציומטר 100k משמש לכוונון רווח הכניסה לרמה ממש מתחת לכל עיוות, וניתן להשתמש בו גם כדי להתאים את רגישות הכניסה למקור קלט אחר מאשר גיטרה כגון נגן מוזיקה. שלב הפלט של OpAmp כולל מסנן RC מסדר גבוה יותר כדי להסיר את רעש ה- MCU שנוצר דיגיטלית מזרם השמע.

שלב ADC: ה- ADC מוגדר לקריאה באמצעות הפרעה כל הזמן. שים לב שצריך לחבר קבל 100nF בין סיכת AREF של ה- ATMega1284 לאדמה כדי להפחית רעש מכיוון שמקור Vcc פנימי משמש כמתח התייחסות - אין לחבר את סיכת AREF ל -5 וולט ישירות!

שלב DAC PWM: מכיוון של- ATMega1284 אין DAC משלו, צורות גל השמע של הפלט נוצרות באמצעות אפנון רוחב דופק של מסנן RC. שני יציאות ה- PWM ב- PD4 ו- PD5 נקבעים כבייטים גבוהים ונמוכים של פלט השמע ומעורבים עם שני הנגדים (4k7 ו- 1M2) ביחס של 1: 256 (בתים נמוכים ובייט גבוה) - מה שיוצר את פלט השמע. יתכן שכדאי להתנסות עם זוגות נגדים אחרים כגון זוג 3k9 1M אוהם שמשמש את Open Music Labs ב- StompBox שלהם.

שלב 3: תוכנה

התוכנה מבוססת על סקיצות האלקטרו -סמאש, והדוגמה הכלולה (pedalshield1284delay.ino) הותאמה ממערכון השהיית Uno שלהם. חלק מהמתגים והמנורות הועברו ליציאות אחרות הרחק מאלו שבהן משתמש מתכנת ספק שירותי האינטרנט (SCLK, MISO, MOSI ו- Reset), מאגר ההשהיה גדל מ -2000 בתים ל -12000 בתים, ו- PortD הוגדר כ- פלט עבור שני אותות ה- PWM. גם עם הגידול במאגר העיכוב הסקיצה עדיין משתמשת רק בכ -70% מ- 1284 RAM הזמין.

דוגמאות אחרות כגון אוקטובר או טרמולו מאתר electrosmash עבור pedalSHIELD Uno ניתנות להתאמה לשימוש על ידי ה- Mega1284 על ידי שינוי שלושה חלקים בקוד:

(1) שנה DDRB | = ((PWM_QTY << 1) | 0x02); ל- DDRD | = 0x30; // השינוי שלמעלה הוא שינוי הקוד החיוני היחיד // בעת העברה מה- AtMega328 ל- ATMega1284

(2) שינוי #define LED 13 #define FOOTSWITCH 12 #define TOGGLE 2 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4

ל

#define LED PB0 #define FOOTSWITCH PB1 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4

(3) שנה pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (TOGGLE, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, OUTPUT)

ל

pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, OUTPUT);

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

כדי לשנות את העיכוב לאפקט הד (הוסף חזרה) שנה את השורה:

DelayBuffer [DelayCounter] = ADC_high;

ל

DelayBuffer [DelayCounter] = (ADC_high + (DelayBuffer [DelayCounter])) >> 1;

מתג הרגל צריך להיות מתג דו קוטבי דו כיווני וחייב להיות מחובר כמתואר באתר electrosmash.

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

קישורים
קישורים

(1) אלקטרוסמש:

(2) מעבדות מוסיקה פתוחות:

(3) פול גלאגר:

(4) מטען אתחול 1284:

(5) מיקרו -בקר AVR 8 ביט ATmega1284:

ElectrosmashOpenlabs MusicPaul Gallagher 1288 Bootloader 11284 Bootloader 2ATmega1284 8bit AVR מיקרו -בקר

שלב 5: נספח 1 תכנות ה- ATMega1284P

נספח 1 תכנות ה- ATMega1284P
נספח 1 תכנות ה- ATMega1284P
נספח 1 תכנות ה- ATMega1284P
נספח 1 תכנות ה- ATMega1284P
נספח 1 תכנות ה- ATMega1284P
נספח 1 תכנות ה- ATMega1284P

ישנם כמה אתרים שנותנים הסבר טוב כיצד לתכנת את שבב ATMega1284 החשוף לשימוש עם ה- Arduino IDE. התהליך הוא בעצם כדלקמן: (1) התקן את מזלג Mark Pendrith של מטען האתחול Maniacbug Mighty-1284p Core Optiboot לתוך Arduino IDE. (2) חבר את ה- ATMega1284 על לוח לחם עם התצורה המינימלית שלו שהוא קריסטל 16 מגה -הרץ, 2 קבלים של 22 x 22 pF המנמקים את שני קצות הגביש, חבר את שני סיכות הקרקע יחד (סיכות 11 ו -31) ולאחר מכן לקרקע Arduino Uno, חבר את ה- Vcc ו- AVcc יחד (סיכות 10 ו -30), ולאחר מכן ל- Uno +5v, ולאחר מכן חבר את סיכת האיפוס 9 לסיכה Uno D10, סיכת MISO 7 ל- UNO D12, ה- MOSI סיכה 8 ל- Uno D11, וסיכת SCLK 7 לסיכה Uno D13. (3) חבר את ה- Uno ל- Arduino IDE וטען את דוגמת הסקיצה Arduino כ- ISP על ה- Uno. (4) כעת בחר את לוח ה- Optiboot האדיר 1284 "מטורף" ובחר באפשרות Burnloader Burn. (5) לאחר מכן בחר את שרטוט ההשהיה של 1284 שניתן כאן כדוגמה והעלה אותו באמצעות האפשרות Uno as מתכנת בתפריט הסקיצות.

קישורים המסבירים את התהליך בפירוט רב יותר הם:

שימוש ב- ATmega1284 עם ה- Arduino IDEA Arduino Mightycore עבור AVR ידידותי ללוח גדול בניית אב טיפוס ATMega1284p Ardoino ATmega1284p מטען אתחול

שלב 6: נספח 2 וריאציה Arduino Uno PedalSHIELD

נספח 2 וריאציה Arduino Uno PedalSHIELD
נספח 2 וריאציה Arduino Uno PedalSHIELD
נספח 2 וריאציה Arduino Uno PedalSHIELD
נספח 2 וריאציה Arduino Uno PedalSHIELD
נספח 2 וריאציה Arduino Uno PedalSHIELD
נספח 2 וריאציה Arduino Uno PedalSHIELD

Schematic3, Breadboard3 ו- Photo3 נותנים פרטים על המעגל הלא מבוסס שקדם לבניית AtMega1284.

יתכן שיהיה יתרון אם יש פוטנציומטר כמיקסר לאות היבש (השווה לקלט) והרטוב (לאחר עיבוד על ידי ה- MCU), ו- Schematic 2, Breadboard 2 ותמונה 2 נותן את פרטי המעגל של מעגל שנבנה בעבר המשלב מערך קלט לפלט כזה. עיין גם ב- StompBox של Open Music Labs ליישום מיקסר נוסף באמצעות ארבעה OpAmps

מוּמלָץ: