فهرست مطالب:

پدال جلوه های گیتار و موسیقی ATMega1284P: 6 مرحله (همراه با تصاویر)
پدال جلوه های گیتار و موسیقی ATMega1284P: 6 مرحله (همراه با تصاویر)

تصویری: پدال جلوه های گیتار و موسیقی ATMega1284P: 6 مرحله (همراه با تصاویر)

تصویری: پدال جلوه های گیتار و موسیقی ATMega1284P: 6 مرحله (همراه با تصاویر)
تصویری: مولتی افکت گیتار الکتریک آنباکسینگ و تست صدا Harley Benton DNAfx GiT پدال افکت گیتار ـ پدال گیتار 2024, جولای
Anonim
پدال جلوه های گیتار و موسیقی ATMega1284P
پدال جلوه های گیتار و موسیقی ATMega1284P

من Arduino Uno ATMega328 Pedalshield (که توسط Electrosmash توسعه یافته و تا حدی بر اساس کار در Open Music Lab توسعه داده شده است) را به ATMega1284P که هشت برابر RAM بیشتری نسبت به Uno (16 کیلوبایت در مقابل 2 کیلوبایت) دارد منتقل کرده ام. یک مزیت غیرمنتظره دیگر این است که ساختار Mega1284 دارای نویز بسیار کمتری است - تا حدی که وقتی Uno و Mega1284 را با استفاده از مدارهای پشتیبانی مشابه مقایسه می کنم ، بی دلیل نیست که Uno را "پر سر و صدا" و Mega1284 را "" توصیف کنم. ساکت". رم بزرگتر به این معنی است که می توان اثر تاخیری بسیار بیشتری را بدست آورد - و این را با مثال طرح آردوینو که من اضافه کردم نشان می دهد. صدای تنفس پس زمینه هنگام استفاده از اثر ترملو نیز (تقریبا) با 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 23 32 86 وقفه 2 3 8 آنالوگ در 6 8 16

من با سوار شدن بر روی پدال SHIELD مبتنی بر Uno مانند مشخصات Electrosmash شروع کردم ، اما همان RRO OpAmp را که مشخص شده بود نداشتم. در نتیجه من به مداری رسیدم که به نظرم نتایج قابل قبولی می داد. جزئیات این نسخه Uno در پیوست 2 آمده است.

همین مدار سپس به ATMega1284 منتقل شد - به طور شگفت انگیزی جدا از تغییرات غیر ضروری مانند اختصاص کلیدها و LED به درگاه متفاوت ، و اختصاص 12000 کیلوبایت به جای 2،000 کیلوبایت RAM برای بافر تاخیری ، فقط یک تغییر اساسی باید در کد منبع انجام شود ، یعنی تغییر خروجی های Timer1/PWM OC1A و OC1B از پورت B در Uno به پورت D (PD5 و PD4) در ATMega1284.

بعداً متوجه تغییرات بسیار خوبی در مدار الکتروسماش توسط پل گالاگر شدم و پس از آزمایش ، این مدار است که در اینجا ارائه خواهم کرد - اما سپس با تغییرات: جایگزینی Uno با Mega1284 ، با استفاده از Texas Instruments TLC2272 به عنوان OpAmp ، و به دلیل عملکرد نویز عالی Mega1284 ، می توانم سطح فرکانس فیلتر پایین گذر را نیز افزایش دهم.

توجه به این نکته ضروری است که اگرچه تابلوهای توسعه ATMega1284 در دسترس هستند (Github: MCUdude MightyCore) ، اما خرید یک تراشه برهنه (بدون بوت لودر) (خرید نسخه PDIP که تخته نان و نوار است ، یک تمرین آسان است. دوستانه) ، سپس چنگال Mark Pendrith از بوت لودر Maniacbug Mighty-1284p Core Optiboot یا MCUdude Mightycore را با استفاده از Uno به عنوان برنامه نویس ISP بارگذاری کنید ، و سپس طرح ها را دوباره از طریق Uno به AtMega1284 بارگذاری کنید. جزئیات و پیوندهای این فرآیند در پیوست 1 آمده است.

من می خواهم از سه منبع مهم که می توان از آنها اطلاعات بیشتری کسب کرد و پیوندهایی به وب سایت های آنها و انتهای این مقاله می دهد ، اذعان کرد: Electrosmash ، Open Music Labs و Tardate/Paul Gallagher

مرحله 1: لیست قطعات

ATMega1284P (PDIP نسخه 40 پین بسته) Arduino Uno R3 (به عنوان ISP برای انتقال لودر بوت و طرح ها به ATMega1284 استفاده می شود) OpAmp TLC2272 (یا RRIO مشابه (Rail to Rail Input and Output) OpAmp مانند MCP6002 ، LMC6482 ، TL قرمز 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 کلیدهای دکمه ای (یک عدد اگر از جعبه جلوه ها برای کار زنده استفاده می شود ، باید از آنها یک سوئیچ دو طرفه 3 طرفه استفاده شود)

مرحله 2: ساخت و ساز

ساخت و ساز
ساخت و ساز
ساخت و ساز
ساخت و ساز
ساخت و ساز
ساخت و ساز

شماتیک 1 مدار مورد استفاده را نشان می دهد و Breadboard 1 نمای فیزیکی آن است (Fritzing 1) با عکس 1 مدار واقعی تخته نان در حال کار. ممکن است داشتن یک پتانسیومتر به عنوان میکسر برای سیگنال خشک (برابر ورودی) و مرطوب (پس از پردازش توسط MCU) مفید باشد و شماتیک 2 ، تخته نان 2 و عکس 2 (ذکر شده در پیوست 2) ، جزئیات مدار یک مدار ساخته شده قبلاً که چنین ورودی را در مخلوط کن خروجی دارد. همچنین برای پیاده سازی میکسر دیگر با استفاده از چهار OpAmps ، به Open Music Labs StompBox نگاه کنید.

مراحل ورودی و خروجی 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: نرم افزار

این نرم افزار بر اساس طرح های electrosmash طراحی شده است و مثال موجود (pedalshield1284delay.ino) از طرح تاخیر Uno آنها اقتباس شده است. برخی از سوئیچ ها و LED به درگاه های دیگر دورتر از پورت های مورد استفاده برنامه نویس ISP (SCLK ، MISO ، MOSI و Reset) منتقل شده بود ، بافر تأخیر از 2000 بایت به 12000 بایت افزایش یافته و PortD به عنوان خروجی برای دو سیگنال PWM حتی با افزایش بافر تاخیری ، طرح هنوز هم از حدود 70٪ RAM 1284 موجود استفاده می کند.

مثالهای دیگر مانند octaver یا tremolo از وب سایت electrosmash برای pedal SHIELD Uno را می توان با تغییر سه بخش در کد برای استفاده توسط Mega1284 تطبیق داد:

(1) تغییر DDRB | = ((PWM_QTY << 1) | 0x02) ؛ به DDRD | = 0x30 ؛ // تغییر بالا فقط تغییر کد اساسی است // هنگام انتقال از AtMega328 به ATMega1284

(2) تغییر #تعریف LED 13 #تعریف FOOTSWITCH 12 #تعریف TOGGLE 2 #تعریف PUSHBUTTON_1 A5 #تعریف PUSHBUTTON_2 A4

به

#تعریف LED PB0 #تعریف FOOTSWITCH PB1 #تعریف PUSHBUTTON_1 A5 #تعریف 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) Electrosmash:

(2) آزمایشگاه های موسیقی را باز کنید:

(3) پل گالاگر:

(4) 1284 بوت لودر:

(5) میکروکنترلر ATmega1284 8bit AVR:

ElectrosmashOpenlabs MusicPaul Gallagher1284 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 را در IDE Arduino نصب کنید. (2) ATMega1284 را با حداقل پیکربندی خود که یک کریستال 16 مگاهرتز است ، 2 خازن 22 F pF که دو سر کریستال را محکم کرده است ، سیم کشی کنید ، دو پایه زمین را به هم وصل کنید (پین 11 و 31) ، و سپس به زمین Arduino Uno ، Vcc و AVcc را با هم وصل کنید (پایه های 10 و 30) ، و سپس به Uno +5v ، سپس پین تنظیم مجدد 9 را به پین Uno D10 ، پین MISO 7 را به UNO D12 ، The MOSI وصل کنید. پین 8 به Uno D11 و پین SCLK 7 به پین Uno D13. (3) Uno را به Arduino IDE وصل کنید و نمونه طرح Arduino را به عنوان ISP در Uno بارگذاری کنید. (4) حالا تابلوی optiboot قدرتمند 1284 "maniac" را انتخاب کرده و گزینه Burn bootloader را انتخاب کنید. (5) سپس طرح تأخیر 1284 را که در اینجا آورده شده است به عنوان نمونه انتخاب کرده و با استفاده از گزینه Uno as programmer در منوی طرح ها بارگذاری کنید.

پیوندهایی که روند را با جزئیات بیشتری توضیح می دهند عبارتند از:

استفاده از ATmega1284 به همراه Arduino IDEA Arduino Mightycore برای AVR های دوست داشتنی برای نان ورق ساختن نمونه اولیه ATMega1284p Arduino ATmega1284p بوت لودر

مرحله 6: ضمیمه 2 Arduino Uno PedalSHIELD Variation

ضمیمه 2 Arduino Uno PedalSHIELD Variation
ضمیمه 2 Arduino Uno PedalSHIELD Variation
ضمیمه 2 Arduino Uno PedalSHIELD Variation
ضمیمه 2 Arduino Uno PedalSHIELD Variation
ضمیمه 2 Arduino Uno PedalSHIELD Variation
ضمیمه 2 Arduino Uno PedalSHIELD Variation

Schematic3 ، Breadboard3 و Photo3 جزئیاتی از مدار مبتنی بر Uno که قبل از ساخت AtMega1284 ساخته شده است را ارائه می دهد.

ممکن است داشتن یک پتانسیومتر به عنوان میکسر برای سیگنال خشک (برابر ورودی) و مرطوب (پس از پردازش توسط MCU) مفید باشد و شماتیک 2 ، Breadboard 2 و عکس 2 جزئیات مدار یک مدار ساخته شده قبلی را ارائه می دهد. که چنین ورودی را به میکسر خروجی وارد می کند. همچنین برای پیاده سازی میکسر دیگر با استفاده از چهار OpAmps ، به Open Music Labs StompBox نگاه کنید

توصیه شده: