Turinys:

„ATMega1284P“gitaros ir muzikos efektų pedalas: 6 žingsniai (su nuotraukomis)
„ATMega1284P“gitaros ir muzikos efektų pedalas: 6 žingsniai (su nuotraukomis)

Video: „ATMega1284P“gitaros ir muzikos efektų pedalas: 6 žingsniai (su nuotraukomis)

Video: „ATMega1284P“gitaros ir muzikos efektų pedalas: 6 žingsniai (su nuotraukomis)
Video: Victor Mendoza- Redrum 2024, Liepa
Anonim
ATMega1284P gitaros ir muzikos efektų pedalas
ATMega1284P gitaros ir muzikos efektų pedalas

Aš perkėliau „Arduino Uno ATMega328 Pedalshield“(sukurtą „Electrosmash“ir iš dalies remiantis darbu „Open Music Lab“) į „ATMega1284P“, kurioje yra aštuonis kartus daugiau RAM nei „Uno“(16 KB, palyginti su 2 KB). Papildoma netikėta nauda yra ta, kad „Mega1284“konstrukcijoje yra daug mažesnis triukšmo komponentas - tiek, kad lyginant „Uno“ir „Mega1284“naudojant tą pačią palaikymo grandinę, nėra nepagrįsta apibūdinti „Uno“kaip „triukšmingą“, o „Mega1284“- kaip „ tylu . Didesnė operatyvioji atmintis reiškia, kad galima gauti daug ilgesnį atidėjimo efektą - ir tai rodo mano pateiktas „Arduino“eskizo pavyzdys. Naudojant „Tremelo“efektą foninio kvėpavimo triukšmo taip pat (beveik) nėra naudojant „ATMega1284“.

Palyginus tris „Atmel“AVR mikroprocesorius, būtent „328P“, tai yra „Uno“, „2560P“, tai yra „Mega2560“, ir „Mega1284“, matyti, kad pastarasis turi daugiausia RAM iš trijų:

Aspektas 328P 1284P 2560P RAM 2k 16k 8k Flash 32k 128k 256k EEPROM 1k 4k 4k UART 1 2 4 IO kaiščiai 23 32 86 Pertraukos 2 3 8 Analog In 6 8 16

Aš pradėjau nuo „Uno“pagrindo pedalo „SHIELD“duonos, kaip nurodyta „Electrosmash“specifikacijoje, tačiau neturėjau to paties „RRO OpAmp“, kaip nurodyta. Dėl to aš gavau grandinę, kuri, mano manymu, davė priimtinų rezultatų. Išsami informacija apie šią „Uno“versiją pateikta 2 priede.

Ta pati grandinė buvo perkelta į „ATMega1284“- stebėtinai, išskyrus neesminius pakeitimus, tokius kaip jungiklių ir šviesos diodų priskyrimas kitam prievadui ir tik 12 000 kB, o ne 2 000 kB RAM delsos buferiui, tik reikėjo atlikti vieną esminį šaltinio kodo pakeitimą, ty pakeisti „Timer1/PWM OC1A“ir „OC1B“išėjimus iš „Uno“prievado į „ATMega1284“prievadą „D“(PD5 ir PD4).

Vėliau atradau puikius Paulo Gallagherio elektros sumušimo grandinės pakeitimus, o po bandymų šią grandinę aš čia pristatysiu, bet ir su pakeitimais: „Uno“pakeitimą „Mega1284“, „Texas Instruments TLC2272“kaip „OpAmp“ir Dėl puikių „Mega1284“triukšmo savybių aš taip pat galėčiau padidinti žemo dažnio filtro dažnio lygį.

Svarbu pažymėti, kad nors „ATMega1284“kūrimo plokštės yra prieinamos („Github“: „MCUdude MightyCore“), nesudėtingas pratimas yra nusipirkti pliką (be įkrovos įkėlimo programos) mikroschemą (nusipirkti PDIP versiją, kuri yra duonos plokštė ir juostelė) draugiškas), tada įkelkite „Maniacbug Mighty-1284p Core Optiboot“įkrovos įkroviklio „Mark Pendrith“šakutę arba „MCUdude Mightycore“, naudodami „Uno“kaip ISP programuotoją, tada vėl įkelkite eskizus naudodami „Uno“į „AtMega1284“. Išsami informacija ir nuorodos į šį procesą pateikiamos 1 priede.

Norėčiau pripažinti tris svarbiausius šaltinius, iš kurių galima gauti daugiau informacijos ir pateikti nuorodas į jų svetaines bei šio straipsnio pabaigą: „Electrosmash“, „Open Music Labs“ir „Tardate“/Paul Gallagher

1 žingsnis: dalių sąrašas

„ATMega1284P“(PDIP 40 kontaktų paketo versija) „Arduino Uno R3“(naudojamas kaip IPT, norint perkelti įkrovos įkroviklį ir eskizus į „ATMega1284“) Raudonas LED 16 MHz kristalas 2 x 27 pF kondensatoriai 5 x 6n8 kondensatoriai 270 pF kondensatorius 4 x 100n kondensatoriai 2 x 10uF 16v elektrolitiniai kondensatoriai 6 x 4k7 rezistoriai 100k rezistorius 2 x 1M rezistoriai 470 omų rezistorius 1M2 rezistorius 100k potenciometras 3 x mygtukiniai jungikliai (vienas jei efektų dėžutė bus naudojama tiesioginiam darbui, juos reikia pakeisti 3 polių 2 krypčių kojų jungikliu)

2 žingsnis: Statyba

Statyba
Statyba
Statyba
Statyba
Statyba
Statyba

1 schemoje pateikiama naudojama grandinė, o „Breadboard 1“-jos fizinis vaizdas („Fritzing 1“) su 1 nuotrauka-faktinė veikianti duonos plokštės grandinė. Gali būti naudinga turėti potenciometrą kaip maišytuvą sausam (lygiam įėjimui) ir šlapiam (apdorojus MCU) signalą, o 2 schema, 2 duonos lentelė ir 2 nuotrauka (išvardyti 2 priedėlyje) grandinės informacija apie anksčiau sukurtą grandinę, kurioje yra toks įėjimas į išėjimo maišytuvą. Taip pat pažvelkite į „Open Music Labs StompBox“, jei norite įdiegti kitą maišytuvą, naudojant keturis „OpAmps“.

„OpAmp“įvesties ir išvesties etapai: Svarbu, kad būtų naudojamas RRO arba, pageidautina, „RRIO OpAmp“, nes reikalingas didelis įtampos svyravimas, reikalingas OpAmp išėjimui į ATMega1284 ADC. Dalių sąraše yra daug alternatyvių „OpAmp“tipų. 100k potenciometras naudojamas reguliuoti įvesties stiprumą iki lygio, kuris yra šiek tiek mažesnis už bet kokius iškraipymus, taip pat jis gali būti naudojamas reguliuoti įvesties jautrumą kitam įvesties šaltiniui nei gitara, pvz., Muzikos grotuvui. „OpAmp“išvesties pakopoje yra aukštesnės eilės RC filtras, pašalinantis skaitmeniniu būdu sukurtą MCU triukšmą iš garso srauto.

ADC etapas: ADC yra sukonfigūruotas taip, kad visą laiką skaitytų su pertraukimu. Atkreipkite dėmesį, kad 100 nF kondensatorius turi būti prijungtas tarp ATMega1284 AREF kaiščio ir įžeminimo, kad būtų sumažintas triukšmas, nes kaip atskaitos įtampa naudojamas vidinis Vcc šaltinis - NĖRA prijungti AREF kaiščio prie +5 voltų tiesiogiai!

DAC PWM etapas: Kadangi ATMega1284 neturi savo DAC, išvesties garso bangos formos generuojamos naudojant RC filtro impulsų pločio moduliaciją. Du PDW ir PD5 PWM išėjimai yra nustatyti kaip aukšti ir žemi garso išvesties baitai ir sumaišomi su dviem rezistoriais (4k7 ir 1M2) santykiu 1: 256 (žemas baitas ir didelis baitas), kuris sukuria garso išvestį. Galbūt verta eksperimentuoti su kitomis rezistorių poromis, tokiomis kaip 3k9 1M omų pora, kurią naudoja „Open Music Labs“savo „StompBox“.

3 žingsnis: programinė įranga

Programinė įranga yra pagrįsta „electrosmash“eskizais, o pateiktas pavyzdys (pedalshield1284delay.ino) buvo pritaikytas pagal jų „Uno“uždelsimo eskizą. Kai kurie jungikliai ir šviesos diodai buvo perkelti į kitus prievadus, išskyrus tuos, kuriuos naudoja ISP programuotojas (SCLK, MISO, MOSI ir Reset), delsos buferis padidintas nuo 2000 baitų iki 12000 baitų, o PortD nustatytas kaip išvestis dviem PWM signalams. Net ir padidinus delsos buferį, eskizas vis tiek naudoja tik apie 70% turimos 1284 RAM.

Kiti pavyzdžiai, tokie kaip aštuonetė ar tremolo iš „Electrosmash“pedalo SHIELD Uno, gali būti pritaikyti naudoti „Mega1284“, pakeitus tris kodo dalis:

(1) Pakeisti DDRB | = ((PWM_QTY << 1) | 0x02); į DDRD | = 0x30; // Aukščiau pateiktas pakeitimas yra TIK esminis kodo pakeitimas // perkeliant iš „AtMega328“į „ATMega1284“

(2) Pakeiskite #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) Keisti pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (TOGGLE, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); „pinMode“(šviesos diodas, išvestis)

į

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

Kai kuriuose eskizuose mygtukai 1 ir 2 naudojami efektui padidinti arba sumažinti. Atidėjimo pavyzdyje jis padidina arba sumažina uždelsimo laiką. Kai eskizas pirmą kartą įkeliamas, jis prasideda nuo maksimalaus uždelsimo efekto. paspauskite žemyn esantį mygtuką - užtrunka apie 20 sekundžių, kol suskaičiuosite iki vėlinimo padėties - ir paspauskite ir palaikykite nuspaudę mygtuką aukštyn. Klausykitės, kaip mygtuko laikymo efektas pakeičia fazerio, choro ir flanšo efektą, taip pat atidėjimo mygtuką, kai mygtukas atleidžiamas.

Norėdami pakeisti delsą į aido efektą (pridėti pakartojimą), pakeiskite eilutę:

DelayBuffer [DelayCounter] = ADC_high;

į

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

Kojinis jungiklis turi būti trijų polių dvipusis jungiklis ir prijungtas, kaip aprašyta „Electrosmash“svetainėje.

4 žingsnis: nuorodos

Nuorodos
Nuorodos

(1) Elektros masė:

(2) Atviros muzikos laboratorijos:

(3) Paulas Gallagheris:

(4) 1284 įkrovos įkroviklis:

(5) ATmega1284 8 bitų AVR mikrovaldiklis:

„Electrosmash“„Openlabs Music“Paul Gallagher1284 įkrovos įkroviklis 11284 įkrovos įkroviklis 2ATmega1284 8 bitų AVR mikrovaldiklis

5 žingsnis: 1 priedas ATMega1284P programavimas

1 priedas ATMega1284P programavimas
1 priedas ATMega1284P programavimas
1 priedas ATMega1284P programavimas
1 priedas ATMega1284P programavimas
1 priedas ATMega1284P programavimas
1 priedas ATMega1284P programavimas

Yra keletas svetainių, kuriose pateikiamas geras paaiškinimas, kaip užprogramuoti pliką „ATMega1284“lustą, skirtą naudoti su „Arduino IDE“. Procesas iš esmės yra toks: (1) Į „Arduino IDE“įdiekite „Maniacbug Mighty-1284p Core Optiboot“įkrovos įkroviklio „Mark Pendrith“šakutę. (2) Prijunkite „ATMega1284“prie duonos lentos, kurios minimali konfigūracija yra 16 MHz kristalas, 2 x 22 pF kondensatoriai, kurie sumontuoja du kristalo galus, prijunkite du įžeminimo kaiščius (11 ir 31 kaiščiai), tada prie „Arduino Uno“žemės, prijunkite „Vcc“ir „AVcc“(10 ir 30 kaiščiai), tada prie „Uno +5v“, tada prijunkite atstatymo kaištį 9 prie „Uno D10“kaiščio, MISO kaištį 7 prie UNO D12, „The MOSI“8 kištuką prie „Uno D11“, o SCLK kaištį 7 - prie „Uno D13“kaiščio. (3) Prijunkite „Uno“prie „Arduino IDE“ir į „Uno“įkelkite eskizo pavyzdį „Arduino“kaip IPT. (4) Dabar pasirinkite 1284 „maniako“galingą optiboot plokštę ir pasirinkite parinktį „Burn bootloader“. (5) Tada pasirinkite čia pateiktą 1284 uždelsimo eskizą kaip pavyzdį ir įkelkite jį naudodami eskizų meniu parinktį Uno kaip programuotoją.

Nuorodos, kurios išsamiau paaiškina procesą:

„ATmega1284“naudojimas su „Arduino IDEArduino Mightycore“, skirtas dideliems duonos plokštėms pritaikytiems AVR ATMega1284p prototipo kūrimas „Arduino ATmega1284p“įkrovos įkroviklis

6 veiksmas: 2 priedas „Arduino Uno PedalSHIELD“variantas

2 priedas „Arduino Uno PedalSHIELD“variantas
2 priedas „Arduino Uno PedalSHIELD“variantas
2 priedas „Arduino Uno PedalSHIELD“variantas
2 priedas „Arduino Uno PedalSHIELD“variantas
2 priedas „Arduino Uno PedalSHIELD“variantas
2 priedas „Arduino Uno PedalSHIELD“variantas

Schema3, „Breadboard3“ir „Photo3“pateikia išsamią informaciją apie „Uno“grandinę, buvusią prieš „AtMega1284“kūrimą.

Gali būti naudinga turėti potenciometrą kaip maišytuvą sausam (lygiam įėjimui) ir šlapiam (apdorojus MCU) signalui, o 2 schemoje, duonos lentelėje 2 ir 2 nuotraukoje pateikiama informacija apie anksčiau sukurtą grandinę kuriame yra toks įėjimas į išvesties maišytuvą. Taip pat pažvelkite į „Open Music Labs StompBox“, jei norite įdiegti kitą maišytuvą, naudojant keturis „OpAmps“

Rekomenduojamas: