Sisällysluettelo:
- Vaihe 1: Osaluettelo
- Vaihe 2: Rakentaminen
- Vaihe 3: Ohjelmisto
- Vaihe 4: Linkit
- Vaihe 5: Liite 1 ATMega1284P: n ohjelmointi
- Vaihe 6: Liite 2 Arduino Uno PedalSHIELD -muunnelma
Video: ATMega1284P -kitara- ja musiikkiefektipedaali: 6 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Olen siirtänyt Arduino Uno ATMega328 Pedalshieldin (Electrosmashin kehittämä ja osittain Open Music Labin työn perusteella) ATMega1284P: hen, jossa on kahdeksan kertaa enemmän RAM -muistia kuin Unoon (16 kt vs 2 kt). Odottamaton lisäetu on se, että Mega1284 -rakenteen kohinakomponentti on paljon pienempi - siinä määrin, että kun vertaan Unoa ja Mega1284: ää käyttämällä samaa tukipiiriä, ei ole kohtuutonta kuvata Unoa "meluisana" ja Mega1284: ää " hiljainen". Suurempi RAM -muisti tarkoittaa, että voidaan saavuttaa paljon pidempi viivevaikutus - ja sen osoittaa Arduino -luonnosesimerkki, jonka olen sisällyttänyt. Hengityksen taustamelu käytettäessä Tremelo -tehostetta puuttuu (lähes) myös ATMega1284: sta.
Vertaamalla kolmea Atmel AVR -mikroprosessoria, nimittäin 328P, joka on Uno, 2560P, joka on Mega2560, ja Mega1284 osoittavat, että jälkimmäisellä on eniten RAM -muistia kolmesta:
Aspect 328P 1284P 2560P RAM 2k 16k 8k Flash 32k 128k 256k EEPROM 1k 4k 4k UART 1 2 4 IO -nastat 23 32 86 Keskeytykset 2 3 8 Analoginen tulo 6 8 16
Aloitin leipomalla Uno-pohjaisen pedalSHIELD: n kuten Electrosmash-spesifikaatiossa, mutta minulla ei ollut samaa RRO OpAmpia kuin määritetty. Tämän seurauksena päädyin piiriin, jonka katsoin antavan hyväksyttävät tulokset. Tämän Uno -version tiedot ovat liitteessä 2.
Tämä sama piiri siirrettiin sitten ATMega1284: een - yllättäen lukuun ottamatta muita kuin oleellisia muutoksia, kuten kytkinten ja LED -valojen liittämistä eri porttiin ja vain 12 000 kt: n varaamista 2 000 kt: n RAM -muistia varten vain yksi olennainen muutos oli tehtävä lähdekoodiin, nimittäin Timer1/PWM OC1A ja OC1B -ulostulojen muuttaminen Unon portista B porttiin D (PD5 ja PD4) ATMega1284: ssä.
Löysin myöhemmin Paul Gallagherin erinomaiset muutokset sähköpuristuspiiriin, ja testin jälkeen esitän tämän piirin - mutta sitten myös muutoksilla: Unon korvaaminen Mega1284: llä, Texas Instruments TLC2272: n käyttö OpAmpina ja Mega1284: n erinomaisen kohinatehon vuoksi voisin myös nostaa alipäästösuodattimen taajuustasoa.
On tärkeää huomata, että vaikka ATMega1284-kehityskortteja on saatavana (Github: MCUdude MightyCore), paljaan (käynnistyslataamattoman) sirun ostaminen on helppoa (osta PDIP-versio, joka on leipä- ja strip-board-levy) ystävällinen), lataa sitten Maniacbug Mighty-1284p Core Optiboot -latauslaitteen tai MCUdude Mightycoren Mark Pendrith -haarukka käyttämällä Unoa Internet-palveluntarjoajan ohjelmoijana ja lataamalla sitten luonnokset uudelleen Unon kautta AtMega1284: een. Yksityiskohdat ja linkit tähän prosessiin ovat liitteessä 1.
Haluan tunnustaa kolme tärkeintä lähdettä, joista voi saada lisätietoja ja antaa linkkejä heidän verkkosivustoilleen ja tämän artikkelin loppuun: Electrosmash, Open Music Labs ja Tardate/Paul Gallagher
Vaihe 1: Osaluettelo
ATMega1284P (40 -nastainen PDIP -pakettiversio) Arduino Uno R3 (käytetään Internet -palveluntarjoajana käynnistyslataimen ja luonnosten siirtämiseen ATMega1284: een) OpAmp TLC2272 (tai vastaava RRIO (Rail to Rail Input and Output) OpAmp, kuten MCP6002, LMC6482, TL972) Punainen LED 16 MHz kide 2 x 27 pF kondensaattorit 5 x 6n8 kondensaattorit 270 pF kondensaattori 4 x 100n kondensaattorit 2 x 10uF 16v elektrolyyttikondensaattorit 6 x 4k7 vastukset 100k vastus 2 x 1M vastukset 470 ohmin vastus 1M2 vastus 100k potentiometri 3 x painikekytkimet (yksi niistä tulee korvata 3-napaisella 2-suuntaisella jalkakytkimellä, jos efektilaatikkoa käytetään live-työhön)
Vaihe 2: Rakentaminen
Kaaviossa 1 esitetään käytetty piiri ja Breadboard 1 on sen fyysinen esitys (Fritzing 1) ja kuva 1 todellinen käytössä oleva leipälevypiiri. Voi olla edullista, että potentiometri on sekoitin kuivalle (yhtä suuri kuin tulo) ja märkä (MCU: n käsittelyn jälkeen), ja kaavio 2, leipälevy 2 ja kuva 2 (lueteltu lisäyksessä 2) antaa piirin tiedot aiemmin rakennetusta piiristä, joka sisältää tällaisen tulon lähtösekoittimeen. Katso myös Open Music Labs StompBoxista toinen sekoittimen toteutus neljällä OpAmpilla.
OpAmp -tulo- ja lähtövaiheet: On tärkeää, että käytetään RRO: ta tai mieluiten RRIO OpAmpia, koska ATMega1284: n ADC: n OpAmp -lähdössä vaaditaan suuri jännitevaihtelu. Osaluettelo sisältää useita vaihtoehtoisia OpAmp -tyyppejä. 100k potentiometriä käytetään säätämään tulovahvistusta tasolle, joka on juuri vääristymien alapuolella, ja sitä voidaan käyttää myös säätämään tulon herkkyyttä muulle tulolähteelle kuin kitaralle, kuten musiikkisoittimelle. OpAmp -lähtövaiheessa on korkeamman asteen RC -suodatin, joka poistaa digitaalisesti syntyvän MCU -kohinan äänivirrasta.
ADC -vaihe: ADC on määritetty lukemaan keskeytyksen kautta koko ajan. Huomaa, että 100 nF: n kondensaattori on kytkettävä ATMega1284: n AREF -nastan ja maan väliin melun vähentämiseksi, koska sisäistä Vcc -lähdettä käytetään vertailujännitteenä - ÄLÄ kytke AREF -nasta +5 volttiin suoraan!
DAC PWM -vaihe: Koska ATMega1284: llä ei ole omaa DAC: ää, lähtöääniaaltomuodot generoidaan käyttämällä RC -suodattimen pulssileveysmodulaatiota. Kaksi PWM -lähtöä PD4: ssä ja PD5: ssä asetetaan äänilähdön korkeiksi ja mataliksi tavuiksi ja sekoitetaan kahden vastuksen (4k7 ja 1M2) kanssa suhteessa 1: 256 (matala tavu ja korkea tavu) - mikä tuottaa äänilähdön. Voi olla kannattavaa kokeilla muita vastuspareja, kuten Open Music Labsin StompBoxissa käyttämää 3k9 1M ohmia.
Vaihe 3: Ohjelmisto
Ohjelmisto perustuu electrosmash -luonnoksiin, ja mukana oleva esimerkki (pedalshield1284delay.ino) on mukautettu Uno -viivepiirustuksesta. Osa kytkimistä ja LED -valoista oli siirretty muihin portteihin kaukana Internet -palveluntarjoajan käyttämistä porteista (SCLK, MISO, MOSI ja Reset), viivepuskuria on lisätty 2000 tavusta 12000 tavuun ja PortD on asetettu lähtö kahdelle PWM -signaalille. Vaikka viivepuskuri kasvaa, luonnos käyttää edelleen vain noin 70% käytettävissä olevasta 1284 RAM -muistista.
Muita esimerkkejä, kuten oktaaveri tai tremolo, sähköpistoolin verkkosivustolta SHIELD Uno, voidaan mukauttaa Mega1284: n käyttöön muuttamalla koodin kolmea osaa:
(1) Muuta DDRB | = ((PWM_QTY << 1) | 0x02); muotoon DDRD | = 0x30; // Edellä oleva muutos on AINOA olennainen koodimuutos // siirrettäessä AtMega328: sta ATMega1284: een
(2) Vaihda #define LED 13 #define FOOTSWITCH 12 #define TOGGLE 2 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4
kohteeseen
#define LED PB0 #define FOOTSWITCH PB1 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4
(3) Vaihda pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (TOGGLE, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, LÄHTÖ)
kohteeseen
pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, LÄHTÖ);
Painikkeita 1 ja 2 käytetään joissakin luonnoksissa tehosteen lisäämiseksi tai vähentämiseksi. Viiveesimerkissä se lisää tai lyhentää viiveaikaa. Kun luonnos ladataan ensimmäisen kerran, se alkaa suurimmalla viiveellä. paina alas -painiketta - kestää noin 20 sekuntia laskea alas aina viive -asentoon - ja paina sitten ylös -painiketta ja pidä sitä painettuna. Kuuntele, kuinka painikkeen painamisen pyyhkäisyvaikutus muuttaa sen vaiheen, kuoron ja laipan vaikutukseksi sekä painikkeen vapauttamisen viiveen.
Jos haluat muuttaa viiveen kaikuefektiksi (lisää toistoa), muuta riviä:
DelayBuffer [DelayCounter] = ADC_high;
kohteeseen
DelayBuffer [DelayCounter] = (ADC_high + (DelayBuffer [DelayCounter])) >> 1;
Jalkakytkimen tulee olla kolminapainen kaksisuuntainen kytkin, ja se on liitettävä sähkömaskin verkkosivustolla kuvatulla tavalla.
Vaihe 4: Linkit
(1) Sähke:
(2) Open Music Labs:
(3) Paul Gallagher:
(4) 1284 Bootloader:
(5) ATmega1284 8 -bittinen AVR -mikrokontrolleri:
ElectrosmashOpenlabs MusicPaul Gallagher1284 Bootloader 11284 Bootloader 2ATmega1284 8bit AVR Microcontroller
Vaihe 5: Liite 1 ATMega1284P: n ohjelmointi
On olemassa muutamia verkkosivustoja, jotka antavat hyvän selityksen siitä, kuinka paljaat ATMega1284 -sirut ohjelmoidaan käytettäväksi Arduino IDE: n kanssa. Prosessi on olennaisesti seuraava: (1) Asenna Maniacbug Mighty-1284p Core Optiboot -latauslaitteen Mark Pendrith -haarukka Arduino IDE -laitteeseen. (2) Kytke ATMega1284 leipälevylle sen minimikokoonpanolla, joka on 16 MHz: n kide, 2 x 22 pF: n kondensaattorit, jotka maadoittavat kiteen kaksi päätä, Yhdistä kaksi maadoitettua nastaa yhteen (nastat 11 ja 31) ja Arduino Unon maahan, liitä Vcc ja AVcc yhteen (nastat 10 ja 30) ja sitten Uno +5v, kytke sitten nollausnasta 9 Uno D10 -tapaan, MISO -nasta 7 UNO D12: een, The MOSI nasta 8 Uno D11: een ja SCLK -nasta 7 Uno D13 -tappiin. (3) Liitä Uno Arduino IDE: hen ja lataa luonnosesimerkki Arduino Internet -palveluntarjoajaksi Unoon. (4) Valitse nyt 1284 "maniac" mahtava optiboot -kortti ja valitse vaihtoehto Burn bootloader. (5) Valitse sitten esimerkkinä 1284 viivepiirros ja lataa se käyttämällä Uno as programmer -vaihtoehtoa luonnosvalikossa.
Linkit, jotka selittävät prosessin tarkemmin, ovat:
ATmega1284: n käyttäminen Arduino IDEArduino Mightycoren kanssa suurille leipälautaystävällisille AVR -laitteille ATMega1284p -prototyypin rakentaminen Arduino ATmega1284p -latauslatain
Vaihe 6: Liite 2 Arduino Uno PedalSHIELD -muunnelma
Schematic3, Breadboard3 ja Photo3 sisältävät yksityiskohtia Uno-pohjaisesta piiristä, joka edelsi AtMega1284-rakennetta.
Voi olla edullista, että potentiometri on sekoitin kuivalle (yhtä suuri kuin tulo) ja märkä (MCU: n käsittelyn jälkeen), ja kaavio 2, leipälauta 2 ja kuva 2 antavat aikaisemmin rakennetun piirin piiritiedot joka sisältää tällaisen tulon lähtösekoittimeen. Katso myös Open Music Labs StompBoxista toinen sekoittimen toteutus neljällä OpAmps -toiminnolla
Suositeltava:
DIY 37 Leds Arduino -rulettipeli: 3 vaihetta (kuvilla)
DIY 37 Leds Arduino Roulette Peli: Ruletti on kasinopeli, joka on nimetty ranskalaisen sanan mukaan, joka tarkoittaa pientä pyörää
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: 20 vaihetta (kuvilla)
Covid -suojakypärä, osa 1: johdanto Tinkercad -piireihin!: Hei, ystävä! Tässä kaksiosaisessa sarjassa opimme käyttämään Tinkercadin piirejä - hauskaa, tehokasta ja opettavaista työkalua piirien toiminnasta! Yksi parhaista tavoista oppia on tehdä. Joten suunnittelemme ensin oman projektimme: th
Weasleyn sijaintikello neljällä kädellä: 11 vaihetta (kuvilla)
Weasleyn sijaintikello neljällä kädellä: Joten Raspberry Pi: n kanssa, joka oli pyörinyt jonkin aikaa, halusin löytää mukavan projektin, jonka avulla voisin hyödyntää sitä parhaalla mahdollisella tavalla. Löysin ppeters0502 tämän upean Instructable Build Your Own Weasley Location Clockin ja ajattelin, että
Ammattimainen sääasema käyttäen ESP8266- ja ESP32 -DIY: 9 vaihetta (kuvilla)
Ammattimainen sääasema käyttämällä ESP8266- ja ESP32 -DIY: LineaMeteoStazione on täydellinen sääasema, joka voidaan liittää Sensirionin ammattitunnistimiin sekä joihinkin Davis -instrumenttikomponentteihin (sademittari, tuulimittari)
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite