Orodha ya maudhui:

ATMega1284P Gitaa na Athari za Muziki Kanyagio: Hatua 6 (na Picha)
ATMega1284P Gitaa na Athari za Muziki Kanyagio: Hatua 6 (na Picha)

Video: ATMega1284P Gitaa na Athari za Muziki Kanyagio: Hatua 6 (na Picha)

Video: ATMega1284P Gitaa na Athari za Muziki Kanyagio: Hatua 6 (na Picha)
Video: #EXCLUSIVE : SIRI YA CHAI YA TANGAWIZI KUTIBU NGUVU ZA KIUME HII HAPA 2024, Novemba
Anonim
ATMega1284P Gitaa na Athari za Muziki
ATMega1284P Gitaa na Athari za Muziki

Nimesambaza Arduino Uno ATMega328 Pedalshield (kama ilivyotengenezwa na Electrosmash na kwa sehemu kulingana na kazi katika Open Music Lab) kwenda ATMega1284P ambayo ina RAM mara nane zaidi ya Uno (16kB dhidi ya 2kB). Faida ya ziada isiyotarajiwa ni kwamba ujenzi wa Mega1284 una sehemu ya chini zaidi ya kelele - kwa kiwango ambacho wakati ninalinganisha Uno na Mega1284 kutumia mizunguko sawa ya usaidizi sio jambo la busara kuelezea Uno kama "kelele" na Mega1284 kama " kimya ". RAM kubwa inamaanisha kuwa athari ya kuchelewesha zaidi inaweza kupatikana - na hiyo inaonyeshwa na mfano wa mchoro wa Arduino ambao nimejumuisha. Sauti ya kupumua ya nyuma wakati wa kutumia athari ya Tremelo pia (karibu) haipo na ATMega1284.

Ulinganisho wa microprocessors tatu ya Atmel AVR ambayo ni 328P ambayo ni Uno, 2560P ambayo ni Mega2560, na Mega1284 inaonyesha mwisho kuwa na RAM zaidi ya hizo tatu:

Vipengele 328P 1284P 2560P RAM 2k 16k 8k Kiwango cha 32k 128k 256k EEPROM 1k 4k 4k UART 1 2 4 IO Pini 23 32 86 Kukatizwa 2 3 8 Analog Katika 6 8 16

Nilianza kwa kupanda mkate mkate uliowekwa na UnoSHIELD kama ilivyo kwenye vipimo vya Electrosmash lakini sikuwa na RRO OpAmp sawa na ilivyoainishwa. Kama matokeo niliishia na mzunguko ambao nilifikiria kutoa matokeo yanayokubalika. Maelezo ya toleo hili la Uno yametolewa katika kiambatisho 2.

Mzunguko huo huo ulisafirishwa kwa ATMega1284 - kwa kushangaza mbali na mabadiliko ambayo sio muhimu kama vile kupeana swichi na LED kwenye bandari tofauti, na kutenga 12, 000 kB badala ya 2, 000 kB ya RAM kwa bafa ya kuchelewesha, tu mabadiliko moja muhimu yalipaswa kufanywa katika nambari ya chanzo, ambayo ni kubadilisha matokeo ya Timer1 / PWM OC1A na OC1B kutoka Port B kwenye Uno hadi Port D (PD5 na PD4) kwenye ATMega1284.

Baadaye niligundua marekebisho bora kwa mzunguko wa electrosmash na Paul Gallagher na baada ya kujaribu, huu ndio mzunguko ambao nitawasilisha hapa - lakini pia na marekebisho: uingizwaji wa Uno na Mega1284, kwa kutumia Hati za Texas TLC2272 kama OpAmp, na kwa sababu ya utendaji mzuri wa kelele wa Mega1284, naweza pia kuongeza kiwango cha masafa ya chujio cha kupitisha chini.

Ni muhimu kutambua kwamba ingawa bodi za maendeleo za ATMega1284 zinapatikana (Github: MCUdude MightyCore), ni zoezi rahisi kununua chip (isiyo na bootloader) bila malipo (nunua toleo la PDIP ambalo ni bodi ya mkate na bodi-ya-strip) kirafiki), kisha pakia uma wa Mark Pendrith wa Maniacbug Mighty-1284p Core Optiboot bootloader au MCUdude Mightycore, kwa kutumia Uno kama programu ya ISP, na kisha kupakia michoro tena kupitia Uno hadi AtMega1284. Maelezo na viungo vya mchakato huu hutolewa katika kiambatisho 1.

Ningependa kutambua vyanzo vitatu muhimu zaidi ambavyo habari zaidi inaweza kupatikana na itatoa viungo kwa wavuti zao na mwisho wa nakala hii: Electrosmash, Maabara ya Muziki wazi, na Tardate / Paul Gallagher

Hatua ya 1: Orodha ya Sehemu

ATMega1284P (toleo la kifurushi cha pini 40 PD) Arduino Uno R3 (kutumika kama ISP kuhamisha kipakiaji buti na michoro kwa ATMega1284) OpAmp TLC2272 (au sawa na RRIO (Reli hadi Uingizaji wa Reli na Pato) OpAmp kama vile MCP6002, LMC6482, TL972) Vioo vyekundu vya 16 MHz 2 x 27 pF capacitors 5 x 6n8 capacitors 270 pF capacitor 4 x 100n capacitors 2 x 10uF 16v capacitors elektroni kati yao inapaswa kubadilishwa na kijiti cha njia-2 cha njia-mbili ikiwa sanduku la athari litatumika kwa kazi ya moja kwa moja)

Hatua ya 2: Ujenzi

Ujenzi
Ujenzi
Ujenzi
Ujenzi
Ujenzi
Ujenzi

Mpangilio 1 hutoa mzunguko uliotumiwa na Bodi ya mkate 1 ni uwakilishi wake wa mwili (Fritzing 1) na Picha 1 mzunguko halisi wa mkate uliotumika. Inaweza kuwa na faida kuwa na potentiometer kama mchanganyiko wa kavu (sawa na pembejeo) na mvua (baada ya kusindika na ishara ya MCU), na Schematic 2, Breadboard 2 na Picha 2 (iliyoorodheshwa katika Kiambatisho 2), inatoa maelezo ya mzunguko wa mzunguko uliojengwa hapo awali ambao unajumuisha pembejeo kama hiyo kwa mchanganyiko wa pato. Pia angalia Maabara ya Muziki Fungua StompBox kwa utekelezaji mwingine wa mchanganyiko kwa kutumia OpAmps nne.

Hatua za Uingizaji na Pato za OpAmp: Ni muhimu kwamba RRO au ikiwezekana RRIO OpAmp itumiwe kwa sababu ya swing kubwa ya voltage inayohitajika katika pato la OpAmp kwa ADC ya ATMega1284. Orodha ya sehemu ina idadi ya aina mbadala za OpAmp. Potentiometer ya 100k hutumiwa kurekebisha faida ya pembejeo kwa kiwango chini ya upotovu wowote, na inaweza pia kutumiwa kurekebisha unyeti wa pembejeo kwa chanzo cha kuingiza isipokuwa gitaa kama vile kicheza muziki. Hatua ya pato la OpAmp ina kichujio cha juu cha RC ili kuondoa kelele inayotokana na dijiti kutoka kwa mtiririko wa sauti.

Hatua ya ADC: ADC imeundwa kuwa inasoma kupitia kukatiza wakati wote. Kumbuka kuwa capacitor ya 100nF inapaswa kushikamana kati ya pini ya AREF ya ATMega1284 na ardhi ili kupunguza kelele kama chanzo cha ndani cha Vcc kinatumiwa kama voltage ya kumbukumbu - USIUNGANISHE pini ya AREF kwa + volt moja kwa moja!

Hatua ya DAC PWM: Kama ATMega1284 haina DAC yake mwenyewe, fomu za mawimbi ya sauti hutolewa kwa kutumia mpangilio wa upana wa kichungi cha RC. Matokeo mawili ya PWM kwenye PD4 na PD5 yamewekwa kama ka juu na ya chini ya pato la sauti na imechanganywa na vipinga viwili (4k7 na 1M2) kwa uwiano wa 1: 256 (baiti ya chini na baiti ya juu) - ambayo hutoa pato la sauti. Inaweza kuwa inafaa kujaribu na jozi zingine za kupinga kama vile jozi ya 3k9 1M ohm inayotumiwa na Maabara ya Open Music kwenye StompBox yao.

Hatua ya 3: Programu

Programu hiyo inategemea michoro ya electrosmash, na mfano uliojumuishwa (pedalshield1284delay.ino), imebadilishwa kutoka kwa mchoro wao wa kuchelewesha wa Uno. Baadhi ya swichi na LED zilikuwa zimehamishiwa bandari zingine mbali na zile zinazotumiwa na programu ya ISP (SCLK, MISO, MOSI na Rudisha), bafa ya kuchelewesha imeongezwa kutoka ka 2000 hadi ka 12000, na PortD imewekwa kama pato kwa ishara mbili za PWM. Hata kwa kuongezeka kwa bafa ya kuchelewesha mchoro bado unatumia tu 70% ya RAM ya 1284 inayopatikana.

Mifano zingine kama octaver au tremolo kutoka kwa wavuti ya electrosmash kwa pedalSHIELD Uno inaweza kubadilishwa kutumiwa na Mega1284 kwa kubadilisha sehemu tatu kwenye nambari:

(1) Badilisha DDRB | = ((PWM_QTY << 1) | 0x02); // DDRD | = 0x30;

(2) Badilisha #fafanua LED 13 #fasili FOOTSWITCH 12 #fasili TOGGLE 2 #fasili PUSHBUTTON_1 A5 #fafanua PUSHBUTTON_2 A4

kwa

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

(3) Badilisha pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (TOGGLE, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, OUTPUT)

kwa

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

Vifungo vya kushinikiza 1 na 2 hutumiwa katika baadhi ya michoro ili kuongeza au kupunguza athari. Katika mfano wa kuchelewesha huongeza au hupunguza wakati wa kuchelewesha. Mchoro unapopakiwa kwanza huanza na athari kubwa ya kuchelewesha. bonyeza kitufe cha chini - inachukua sekunde 20 kuhesabu hadi kwenye nafasi ya kuchelewesha - na kisha bonyeza na ushikilie kitufe cha juu. Sikiza jinsi athari ya kushikilia kwenye kitufe inabadilisha athari kuwa ya phaser, chorus na kupepesa, na pia kuchelewesha wakati kifungo kinatolewa.

Kubadilisha ucheleweshaji kuwa athari ya mwangwi (ongeza marudio) badilisha laini:

KucheleweshaBuffer [DelayCounter] = ADC_high;

kwa

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

Mchoro wa miguu inapaswa kuwa njia tatu za kubadili njia na lazima iunganishwe kama ilivyoelezewa kwenye wavuti ya electrosmash.

Hatua ya 4: Viungo

Viungo
Viungo

(1) Electrosmash:

(2) Maabara ya Muziki wazi:

(3) Paul Gallagher:

(4) 1284 Bootloader:

(5) ATmega1284 8bit AVR Mdhibiti mdogo:

ElectrosmashOpenlabs MusicPaul Gallagher1284 Bootloader 11284 Bootloader 2ATmega1284 8bit AVR Microcontroller

Hatua ya 5: Kiambatisho 1 Kupanga ATMega1284P

Kiambatisho 1 Kupanga ATMega1284P
Kiambatisho 1 Kupanga ATMega1284P
Kiambatisho 1 Kupangilia ATMega1284P
Kiambatisho 1 Kupangilia ATMega1284P
Kiambatisho 1 Kupanga ATMega1284P
Kiambatisho 1 Kupanga ATMega1284P

Kuna tovuti kadhaa ambazo hutoa ufafanuzi mzuri juu ya jinsi ya kupanga chip isiyo wazi ya ATMega1284 ya kutumiwa na Arduino IDE. Mchakato huo kimsingi ni kama ifuatavyo: (1) Sakinisha uma wa Mark Pendrith wa Maniacbug Mighty-1284p Core Optiboot bootloader ndani ya Arduino IDE. (2) Funga waya wa ATMega1284 kwenye ubao wa mkate na usanidi wake wa chini ambao ni kioo cha 16 MHz, 2 x 22 pF capacitors ambayo inaweka ncha mbili za kioo, Unganisha pini mbili za ardhi pamoja (pini 11 na 31), halafu kwenye ardhi ya Arduino Uno, unganisha Vcc na AVcc pamoja (pini 10 na 30), halafu kwa Uno + 5v, kisha unganisha pini ya kuweka upya 9 kwenye pini ya Uno D10, pini ya MISO 7 kwa UNO D12, MOSI piga 8 kwa Uno D11, na pini SCLK 7 kwa pini ya Uno D13. (3) Unganisha Uno na Arduino IDE na upakie mfano Arduino kama ISP kwenye Uno. (4) Sasa chagua bodi yenye nguvu ya macho ya 1284 "maniac", na uchague chaguo la kuchoma bootloader. (5) Kisha chagua mchoro wa kuchelewesha wa 1284 uliopewa hapa kama mfano na uipakie kwa kutumia chaguo la Uno kama programu katika menyu ya michoro.

Viungo vinavyoelezea mchakato kwa undani zaidi ni:

Kutumia ATmega1284 na IDE ya ArduinoArduino Mightycore kwa mikate mikubwa ya kirafiki ya AVRs Kuunda mfano wa ATMega1284pArduino ATmega1284p bootloader

Hatua ya 6: Kiambatisho 2 Arduino Uno PedalSHIELD Tofauti

Kiambatisho 2 Arduino Uno PedalSHIELD Tofauti
Kiambatisho 2 Arduino Uno PedalSHIELD Tofauti
Kiambatisho 2 Arduino Uno PedalSHIELD Tofauti
Kiambatisho 2 Arduino Uno PedalSHIELD Tofauti
Kiambatisho 2 Arduino Uno PedalSHIELD Tofauti
Kiambatisho 2 Arduino Uno PedalSHIELD Tofauti

Schematic3, Breadboard3, na Photo3 inatoa maelezo ya mzunguko wa Uno ambao ulitangulia ujenzi wa AtMega1284.

Inaweza kuwa na faida kuwa na potentiometer kama mchanganyiko wa kavu (sawa na pembejeo) na mvua (baada ya kusindika na ishara ya MCU), na Schematic 2, Breadboard 2 na Picha 2 inatoa maelezo ya mzunguko wa mzunguko uliojengwa hapo awali. ambayo inajumuisha pembejeo kama hiyo kwa mchanganyiko wa pato. Pia angalia Maabara ya Muziki Fungua StompBox kwa utekelezaji mwingine wa mchanganyiko kwa kutumia OpAmps nne

Ilipendekeza: