Სარჩევი:

ATMega1284P გიტარა და მუსიკალური ეფექტების პედლები: 6 ნაბიჯი (სურათებით)
ATMega1284P გიტარა და მუსიკალური ეფექტების პედლები: 6 ნაბიჯი (სურათებით)

ვიდეო: ATMega1284P გიტარა და მუსიკალური ეფექტების პედლები: 6 ნაბიჯი (სურათებით)

ვიდეო: ATMega1284P გიტარა და მუსიკალური ეფექტების პედლები: 6 ნაბიჯი (სურათებით)
ვიდეო: Victor Mendoza- Redrum 2024, ივლისი
Anonim
ATMega1284P გიტარა და მუსიკალური ეფექტების პედლებიანი
ATMega1284P გიტარა და მუსიკალური ეფექტების პედლებიანი

მე Arduino Uno ATMega328 Pedalshield (როგორც შემუშავებულია Electrosmash– ის მიერ და ნაწილობრივ ღია მუსიკის ლაბორატორიაში მუშაობის საფუძველზე) გადავიყვანე ATMega1284P– ში, რომელსაც აქვს რვაჯერ მეტი ოპერატიული მეხსიერება ვიდრე Uno (16kB 2kB– ს წინააღმდეგ). დამატებითი მოულოდნელი სარგებელი ის არის, რომ Mega1284- ს აქვს გაცილებით დაბალი ხმაურის კომპონენტი - იმდენად, რამდენადაც როდესაც შევადარებ Uno- ს და Mega1284- ს ერთი და იგივე დამხმარე სქემის გამოყენებით, არ არის დაუსაბუთებელი Uno- ს აღწერა როგორც "ხმაურიანი" და Mega1284 როგორც " ჩუმად ". უფრო დიდი ოპერატიული მეხსიერება ნიშნავს იმას, რომ გაცილებით გრძელი ეფექტის მიღება შეიძლება - და ეს მეტყველებს Arduino სკეტჩის მაგალითზე, რომელიც მე ჩავრთე. ტრემელოს ეფექტის გამოყენებისას ფონური სუნთქვის ხმაური ასევე (თითქმის) არ არსებობს ATMega1284– ით.

სამი Atmel AVR მიკროპროცესორის შედარება, კერძოდ 328P, რომელიც არის Uno, 2560P რომ არის Mega2560 და Mega1284 აჩვენებს, რომ ამ უკანასკნელს აქვს სამიდან ყველაზე მეტი ოპერატიული მეხსიერება:

ასპექტი 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

დავიწყე Uno– ზე დაფუძნებული pedal SHIELD– ის პურით ჩასხმა, როგორც Electrosmash– ის სპეციფიკაციაში, მაგრამ მე არ მქონდა იგივე RRO OpAmp, როგორც ეს მითითებულია. შედეგად მე დავასრულე წრე, რომელიც ჩათვალე, რომ მისაღები შედეგების მომცემი იყო. ამ Uno ვერსიის დეტალები მოცემულია დანართში 2.

იგივე სქემა შემდეგ იქნა გადატანილი ATMega1284– ში - გასაკვირი გარდა არასასურველი ცვლილებებისა, როგორიცაა გადამრთველებისა და LED- ების სხვა პორტზე დანიშვნა და 12 000 კბ 2 000 კბ ოპერატიული მეხსიერების ნაცვლად, დაგვიანების ბუფერისთვის, მხოლოდ ერთი არსებითი ცვლილება უნდა განხორციელებულიყო წყაროს კოდში, კერძოდ 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 (გამოიყენება როგორც ინტერნეტ პროვაიდერი ჩატვირთვის ჩატვირთვისა და ესკიზების ATMega1284– ზე გადასატანად) OpAmp TLC2272 (ან მსგავსი RRIO (სარკინიგზო სარკინიგზო შესასვლელი და გამომავალი) OpAmp, როგორიცაა MCP6002, LMC6482, TL წითელი LED 16 MHz კრისტალი 2 x 27 pF კონდენსატორები 5 x 6n8 კონდენსატორები 270 pF კონდენსატორი 4 x 100n კონდენსატორები 2 x 10uF 16v ელექტროლიტური კონდენსატორები 6 x 4k7 რეზისტორები 100k resistor 2 x 1M რეზისტორები 470 ohm resistor 1M2 resistor 100k Potentiometer 3 x pushbutton კონცენტრატორები (ერთი მათგან უნდა შეიცვალოს 3 პოლუსიანი ორმხრივი ფეხის გადამრთველი, თუ ეფექტების ყუთი გამოიყენება ცოცხალი მუშაობისთვის)

ნაბიჯი 2: მშენებლობა

მშენებლობა
მშენებლობა
მშენებლობა
მშენებლობა
მშენებლობა
მშენებლობა

სქემატური 1 იძლევა ჩართულ სქემას და Breadboard 1 არის მისი ფიზიკური წარმოდგენა (Fritzing 1) ფოტო 1 – ით, ფაქტობრივი პურით დაფარული წრე. შეიძლება მომგებიანი იყოს პოტენომეტრი, როგორც მიქსერი მშრალი (შეყვანის ტოლი) და სველი (MCU– ით დამუშავების შემდეგ) სიგნალისთვის, ხოლო სქემატური 2, პურის დაფა 2 და ფოტო 2 (ჩამოთვლილია დანართში 2), სქემის დეტალები ადრე აგებული სქემისა, რომელიც მოიცავს ამგვარ შეყვანას გამომავალ მიქსერში. ასევე შეხედეთ Open Music Labs StompBox– ს კიდევ ერთი მიქსერის განხორციელებისათვის ოთხი OpAmps– ის გამოყენებით.

OpAmp შეყვანის და გამოყვანის ეტაპები: მნიშვნელოვანია, რომ RRO ან სასურველია RRIO OpAmp იქნას გამოყენებული დიდი ძაბვის ცვალებადობის გამო, რომელიც საჭიროა OpAmp გამომავალზე ATMega1284 ADC– ზე. ნაწილების სია შეიცავს უამრავ ალტერნატიულ OpAmp ტიპს. 100k პოტენომეტრი გამოიყენება შეყვანის მოგების დონის დასადგენად ნებისმიერი დამახინჯების ქვემოთ და ის ასევე შეიძლება გამოყენებულ იქნას შეყვანის მგრძნობელობის შესაცვლელად, გარდა გიტარისა, როგორიცაა მუსიკალური პლეერი. OpAmp გამომავალ საფეხურს აქვს უმაღლესი რიგის RC ფილტრი ციფრული გენერირებული MCU ხმაურის აუდიო ნაკადიდან ამოსაღებად.

ADC ეტაპი: ADC არის კონფიგურირებული, რომ კითხულობს წყვეტს მთელი დროის განმავლობაში. გაითვალისწინეთ, რომ 100nF კონდენსატორი უნდა იყოს დაკავშირებული ATMega1284– ის AREF პინსა და მიწას შორის ხმაურის შესამცირებლად, რადგან შიდა Vcc წყარო გამოიყენება საცნობარო ძაბვად - ნუ დააკავშირებთ AREF პინს +5 ვოლტთან პირდაპირ!

DAC PWM ეტაპი: ვინაიდან ATMega1284– ს არ აქვს საკუთარი DAC, გამომავალი აუდიო ტალღების ფორმები წარმოიქმნება RC ფილტრის პულსის სიგანის მოდულაციის გამოყენებით. ორი PWM გამომავალი PD4 და PD5 არის მითითებული, როგორც აუდიო გამომავალი მაღალი და დაბალი ბაიტი და შერეულია ორ რეზისტორთან (4k7 და 1M2) 1: 256 თანაფარდობით (დაბალი ბაიტი და მაღალი ბაიტი) - რაც წარმოქმნის აუდიოს გამომავალს რა შეიძლება ღირდეს ექსპერიმენტი სხვა რეზისტენტულ წყვილებთან, როგორიცაა 3k9 1M ohm წყვილი, რომელსაც Open Music Labs იყენებს StompBox– ში.

ნაბიჯი 3: პროგრამული უზრუნველყოფა

პროგრამული უზრუნველყოფა ემყარება electrosmash ესკიზებს და მაგალითი, რომელიც შეტანილია (pedalshield1284delay.ino), ადაპტირებულია მათი Uno დაგვიანებით ესკიზიდან. ზოგიერთი კონცენტრატორი და LED გადატანილი იქნა სხვა პორტებში, ISP პროგრამისტის მიერ (SCLK, MISO, MOSI და Reset) გამოყენებიდან, დაგვიანების ბუფერი 2000 ბაიტიდან გაიზარდა 12000 ბაიტამდე და PortD დაყენდა გამომავალი ორი PWM სიგნალისთვის. დაგვიანებული ბუფერის გაზრდის მიუხედავად, ესკიზი მაინც იყენებს 1284 ოპერატიული მეხსიერების მხოლოდ 70% -ს.

სხვა მაგალითები, როგორიცაა 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_ მაღალი;

რათა

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

ფეხის გადამრთველი უნდა იყოს სამ პოლუსიანი ორმხრივი გადამრთველი და უნდა იყოს დაკავშირებული როგორც ეს აღწერილია electrosmash ვებგვერდზე.

ნაბიჯი 4: ბმულები

ბმულები
ბმულები

(1) ელექტროშემცველი:

(2) გახსენით მუსიკალური ლაბორატორიები:

(3) პოლ გალაჰერი:

(4) 1284 ჩამტვირთავი:

(5) ATmega1284 8 ბიტიანი 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 ჩატვირთვის ჩამტვირთავი Arduino IDE– ში. (2) შეაერთეთ ATMega1284 პურის დაფაზე მისი მინიმალური კონფიგურაციით, რომელიც არის 16 MHz ბროლი, 2 x 22 pF კონდენსატორი, რომელიც ამყარებს კრისტალის ორ ბოლოს, შეაერთეთ ორი გრუნტის ქინძისთავი (ქინძისთავები 11 და 31) და შემდეგ Arduino Uno მიწასთან, შეაერთეთ Vcc და AVcc ერთად (ქინძისთავები 10 და 30), შემდეგ Uno +5v, შემდეგ დააკავშირეთ გადატვირთვის პინ 9 Uno D10 პინთან, MISO pin 7 UNO D12, MOSI პინი 8 Uno D11- ზე და SCLK პინ 7 Uno D13 პინზე. (3) შეაერთეთ Uno Arduino IDE– სთან და ჩადეთ ესკიზის მაგალითი Arduino როგორც პროვაიდერი Uno– ზე. (4) ახლა შეარჩიეთ 1284 "მანიაკი" ძლიერი ოპტიბუტის დაფა და აირჩიეთ Burn bootloader ვარიანტი. (5) შემდეგ შეარჩიეთ 1284 დაგვიანებული ესკიზი, რომელიც მოცემულია აქ, როგორც მაგალითი და ატვირთეთ იგი ესკიზების მენიუში Uno as programmer პარამეტრის გამოყენებით.

ბმულები, რომლებიც უფრო დეტალურად განმარტავს პროცესს, არის:

ATmega1284– ის გამოყენება Arduino IDEA– სთან ერთად Arduino Mightycore დიდი breadboard– ის მეგობრული AVR– ებისთვის ATM Mega 1284p პროტოტიპის მშენებლობა Arduino 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 იძლევა დეტალებს Uno დაფუძნებული წრის შესახებ, რომელიც წინ უსწრებდა AtMega1284 მშენებლობას.

შეიძლება მომგებიანი იყოს პოტენომეტრი, როგორც მიქსერი მშრალი (შეყვანის ტოლი) და სველი (MCU– ით დამუშავების შემდეგ) სიგნალისთვის, ხოლო სქემატური 2, Breadboard 2 და ფოტო 2 იძლევა სქემის დეტალებს ადრე აგებული წრის შესახებ რომელიც მოიცავს ამგვარ შეყვანას გამომავალ მიქსერში. ასევე შეხედეთ Open Music Labs StompBox– ს კიდევ ერთი მიქსერის განხორციელებისთვის ოთხი OpAmps– ის გამოყენებით

გირჩევთ: