Cov txheej txheem:

ATMega1284P Guitar thiab Music Effects Pedal: 6 Kauj Ruam (nrog Duab)
ATMega1284P Guitar thiab Music Effects Pedal: 6 Kauj Ruam (nrog Duab)

Video: ATMega1284P Guitar thiab Music Effects Pedal: 6 Kauj Ruam (nrog Duab)

Video: ATMega1284P Guitar thiab Music Effects Pedal: 6 Kauj Ruam (nrog Duab)
Video: SCARY TEACHER 3D MANDELA EFFECT LESSON 2024, Lub Xya hli ntuj
Anonim
ATMega1284P Guitar thiab Music Effects Pedal
ATMega1284P Guitar thiab Music Effects Pedal

Kuv tau xa Arduino Uno ATMega328 Pedalshield (raws li tsim los ntawm Electrosmash thiab ib feem raws kev ua haujlwm ntawm Open Music Lab) mus rau ATMega1284P uas muaj yim zaug ntau dua RAM dua li Uno (16kB piv rau 2kB). Ib qho txiaj ntsig ntxiv uas tsis tau xav txog yog qhov Mega1284 tsim muaj lub suab nrov qis dua - rau qhov uas thaum kuv piv Uno thiab Mega1284 siv tib lub zog txhawb nqa nws tsis yog qhov tsis tsim nyog piav txog Uno li "nrov nrov" thiab Mega1284 li " nyob ntsiag to ". Qhov loj dua RAM txhais tau tias qhov ua tau qeeb qeeb tuaj yeem tau txais - thiab qhov ntawd tau qhia los ntawm Arduino tus qauv piv txwv uas kuv tau suav nrog. Lub suab nrov tom qab ua pa thaum siv cov txiaj ntsig Tremelo kuj tseem (yuav luag) tsis tuaj nrog ATMega1284.

Kev sib piv ntawm peb Atmel AVR microprocessors uas yog 328P uas yog Uno, 2560P uas yog Mega2560, thiab Mega1284 qhia qhov tom kawg kom muaj RAM ntau ntawm peb:

Yam 328P 1284P 2560P RAM 2k 16k 8k Flash 32k 128k 256k EEPROM 1k 4k 4k UART 1 2 4 IO Pins 23 32 86 cuam tshuam 2 3 8 Analog Hauv 6 8 16

Kuv pib los ntawm qhob cij-nce lub Uno-based pedalSHIELD zoo li hauv Electrosmash qhov tshwj xeeb tab sis kuv tsis muaj tib RRO OpAmp raws li tau teev tseg. Raws li qhov tshwm sim kuv tau xaus nrog lub Circuit Court uas kuv txiav txim siab muab cov txiaj ntsig tau txais. Cov ntsiab lus ntawm qhov Uno version no tau muab rau hauv daim ntawv ntxiv 2.

Cov xwm txheej qub no tau xa mus rau ATMega1284 - qhov tsis txaus ntseeg qhov sib txawv ntawm qhov tsis tseem ceeb hloov pauv xws li muab cov hloov pauv thiab LED mus rau lwm qhov chaw nres nkoj, thiab faib 12, 000 kB tsis yog 2, 000 kB ntawm RAM rau qhov ncua sij hawm, tsuas yog ib qho kev hloov pauv tseem ceeb yuav tsum tau ua hauv qhov chaws, uas yog hloov Timer1/PWM OC1A thiab OC1B cov txiaj ntsig los ntawm Chaw nres nkoj B ntawm Uno mus rau Chaw D (PD5 thiab PD4) ntawm ATMega1284.

Kuv tom qab nrhiav pom qhov kev hloov pauv zoo tshaj plaws rau lub tshuab hluav taws xob electrosmash los ntawm Paul Gallagher thiab tom qab sim, qhov no yog Circuit Court kuv yuav nthuav qhia ntawm no - tab sis tom qab ntawd kuj tseem muaj kev hloov kho: hloov pauv ntawm Uno nrog Mega1284, siv Texas Instruments TLC2272 ua OpAmp, thiab vim yog qhov ua tau zoo ntawm lub suab Mega1284, Kuv kuj tseem tuaj yeem nce qib qis lim zaus.

Nws yog ib qho tseem ceeb kom nco ntsoov tias txawm hais tias kev txhim kho cov laug cam rau ATMega1284 muaj (Github: MCUdude MightyCore), nws yog ib qho yooj yim siv los yuav lub khoob (bootloader-free) nti (yuav lub PDIP version uas yog qhob cij-board thiab strip-board) tus phooj ywg), tom qab ntawd rub Mark Pendrith diav rawg ntawm Maniacbug Mighty-1284p Core Optiboot bootloader lossis MCUdude Mightycore, los ntawm kev siv Uno ua tus ISP programmer, thiab tom qab ntawd thawb duab dua ntawm Uno mus rau AtMega1284. Cov ncauj lus kom ntxaws thiab txuas rau cov txheej txheem no tau muab hauv ntu 1.

Kuv xav lees paub peb qhov tseem ceeb tshaj plaws los ntawm cov ntaub ntawv ntxiv tuaj yeem tau txais thiab yuav muab txuas rau lawv lub vev xaib thiab qhov kawg ntawm kab lus no: Electrosmash, Qhib Music Labs, thiab Tardate/Paul Gallagher

Kauj Ruam 1: Daim Ntawv Teev Npe

ATMega1284P (PDIP 40 tus lej pob ntawv) Arduino Uno R3 (siv los ua ISP los hloov lub khau raj loader thiab kos duab mus rau ATMega1284) OpAmp TLC2272 (lossis zoo li RRIO (Rail rau Rail Input thiab Output) OpAmp xws li MCP6002, LMC6482, TL972) Liab LED 16 MHz crystal 2 x 27 pF capacitors 5 x 6n8 capacitors 270 pF capacitor 4 x 100n capacitors 2 x 10uF 16v electrolytic capacitors 6 x 4k7 resistors 100k resistor 2 x 1M resistors 470 ohm resistor 1M2 resistor 100k Potentiometer 3 x pushbutton switches (ib qho) ntawm lawv yuav tsum tau hloov pauv nrog 3-ncej 2-txoj kev footswitch yog lub thawv cuam tshuam yuav raug siv rau kev ua haujlwm nyob)

Kauj Ruam 2: Kev tsim kho

Kev tsim kho
Kev tsim kho
Kev tsim kho
Kev tsim kho
Kev tsim kho
Kev tsim kho

Schematic 1 muab cov khoom siv hluav taws xob siv thiab Breadboard 1 yog nws lub cev sawv cev (Fritzing 1) nrog Duab 1 qhov tseeb ntawm cov mov ci-boarded Circuit hauv kev ua haujlwm. Nws yuav yog qhov muaj txiaj ntsig kom muaj lub zog ntsuas hluav taws xob ua cov sib tov rau qhov qhuav (sib npaug rau cov tswv yim) thiab ntub (tom qab ua tiav los ntawm MCU) teeb liab, thiab Schematic 2, Breadboard 2 thiab Photo 2 (teev nyob rau hauv ntu 2 ntxiv), muab rau cov ntsiab lus Circuit Court ntawm kev tsim vaj tsev yav dhau los uas suav nrog qhov kev nkag mus rau cov khoom sib tov. Tsis tas li saib ntawm Qhib Music Labs StompBox rau lwm qhov kev siv tov khoom siv plaub OpAmps.

OpAmp Kev Tawm Tswv Yim thiab Cov Sijhawm Tawm: Nws yog qhov tseem ceeb uas RRO lossis nyiam dua RRIO OpAmp tau siv vim tias qhov hluav taws xob loj viav vias xav tau ntawm OpAmp tso tawm rau ADC ntawm ATMega1284. Daim ntawv teev npe muaj cov lej ntawm lwm hom OpAmp. 100k potentiometer tau siv los kho cov tswv yim nce mus rau qib qis dua ib qho kev txawv txav, thiab nws kuj tseem tuaj yeem siv los kho qhov nkag siab nkag siab rau cov tswv yim nkag uas tsis yog siv guitar xws li lub tshuab ntaus nkauj. Cov theem OpAmp tso tawm muaj qhov kev txiav txim siab RC lim kom tshem tawm cov digitally MCU nrov nrov los ntawm cov suab.

ADC Theem: ADC tau teeb tsa kom nyeem tau los ntawm kev cuam tshuam txhua lub sijhawm. Nco ntsoov tias 100nF lub tshuab hluav taws xob yuav tsum txuas nrog ntawm AREF tus pin ntawm ATMega1284 thiab hauv av kom txo suab nrov raws li sab hauv Vcc qhov chaw tau siv los ua qhov ntsuas hluav taws xob - tsis txhob txuas tus pin AREF rau +5 volt ncaj qha!

DAC PWM Theem: Raws li ATMega1284 tsis muaj nws tus kheej DAC, cov suab tso tawm suab tau tsim los ntawm kev siv tes taw dav dav hloov pauv ntawm RC lim. Ob qho PWM tso tawm ntawm PD4 thiab PD5 tau teeb tsa ua qhov siab thiab qis bytes ntawm cov suab tso tawm thiab sib xyaw nrog ob lub resistors (4k7 thiab 1M2) hauv 1: 256 piv (qis byte thiab siab byte) - uas tsim cov suab tso tawm. Nws yuav yog qhov tsim nyog sim nrog lwm tus neeg tawm tsam xws li 3k9 1M ohm khub siv los ntawm Qhib Music Labs hauv lawv StompBox.

Kauj ruam 3: Software

Lub software yog ua raws cov duab hluav taws xob electrosmash, thiab piv txwv suav nrog (pedalshield1284delay.ino), tau hloov pauv los ntawm lawv qhov Uno ncua kev kos duab. Qee qhov hloov pauv thiab LED tau txav mus rau lwm qhov chaw nres nkoj deb ntawm cov uas siv los ntawm ISP programmer (SCLK, MISO, MOSI thiab Pib dua), ncua ncua tau nce los ntawm 2000 bytes mus rau 12000 bytes, thiab PortD tau teeb tsa raws li tso tawm rau ob lub cim PWM. Txawm hais tias nrog kev nce hauv ncua ncua tsis kos duab tseem siv tsuas yog li 70% ntawm muaj 1284 RAM.

Lwm yam piv txwv xws li octaver lossis tremolo los ntawm lub vev xaib electrosmash rau tus pedalSHIELD Uno tuaj yeem hloov kho rau kev siv los ntawm Mega1284 los ntawm kev hloov peb ntu hauv txoj cai:

(1) Hloov DDRB | = ((PWM_QTY << 1) | 0x02); rau DDRD | = 0x30; // Qhov kev hloov pauv saum toj no tsuas yog hloov pauv qhov tseem ceeb // thaum xa los ntawm AtMega328 mus rau ATMega1284

(2) Hloov #define LED 13 #define FOOTSWITCH 12 #define TOGGLE 2 #define PUSHBUTTON_1 A5 #define PUSHBUTTON_2 A4

rau

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

(3) Hloov pinMode (FOOTSWITCH, INPUT_PULLUP); pinMode (TOGGLE, INPUT_PULLUP); pinMode (PUSHBUTTON_1, INPUT_PULLUP); pinMode (PUSHBUTTON_2, INPUT_PULLUP); pinMode (LED, NTAWV)

rau

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

Lub pob nyem 1 thiab 2 tau siv hauv qee qhov kev kos duab kom nce lossis txo qhov cuam tshuam. Hauv qhov piv txwv ncua nws nce lossis txo lub sijhawm ncua. Thaum cov duab kos tau pib ua ntej nws pib nrog qhov cuam tshuam siab tshaj plaws. nias lub pob nyem - nws yuav siv sijhawm li 20 vib nas this los suav txhua txoj hauv kev mus rau txoj haujlwm ncua - thiab tom qab ntawd nias thiab tuav hauv lub pob nce. Mloog li cas qhov cuam tshuam ntawm tuav hauv lub pob hloov pauv qhov cuam tshuam rau qhov ntawm phaser, chorus thiab flanging, ntxiv rau ncua sijhawm thaum lub pob raug tso tawm.

Txhawm rau hloov qhov ncua mus rau cov txiaj ntsig ncho (ntxiv rov ua dua) hloov kab:

DelayBuffer [DelayCounter] = ADC_high;

rau

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

Tus footswitch yuav tsum yog peb tus ncej ob txoj kev hloov thiab yuav tsum tau txuas nrog raws li tau piav qhia hauv lub vev xaib electrosmash.

Kauj ruam 4: Txuas

Txuas
Txuas

(1) Electrosmash:

(2) Qhib Music Labs:

(3) Paul Gallagher:

(4) 1284 Bootloader:

(5) ATmega1284 8bit AVR Microcontroller:

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

Kauj Ruam 5: Cov Ntawv Ntxiv 1 Ua Haujlwm ATMega1284P

Cov ntawv txuas ntxiv 1 Programming the ATMega1284P
Cov ntawv txuas ntxiv 1 Programming the ATMega1284P
Cov ntawv txuas ntxiv 1 Programming the ATMega1284P
Cov ntawv txuas ntxiv 1 Programming the ATMega1284P
Cov ntawv txuas ntxiv 1 Programming the ATMega1284P
Cov ntawv txuas ntxiv 1 Programming the ATMega1284P

Muaj ob peb lub vev xaib uas muab cov lus piav qhia zoo txog yuav ua li cas txhawm rau teeb tsa ATMega1284 nti rau siv nrog Arduino IDE. Cov txheej txheem yog qhov tseem ceeb raws li hauv qab no: (1) Nruab Mark Pendrith diav rawg ntawm Maniacbug Mighty-1284p Core Optiboot bootloader rau hauv Arduino IDE. (2) Hlau nce lub ATMega1284 ntawm lub khob cij nrog nws qhov kev teeb tsa yam tsawg kawg nkaus uas yog 16 MHz siv lead ua, 2 x 22 pF capacitors uas ua rau ob qhov kawg ntawm cov siv lead ua, Txuas ob lub hauv paus pins ua ke (pins 11 thiab 31), thiab tom qab ntawd mus rau Arduino Uno hauv av, txuas Vcc thiab AVcc ua ke (tus pin 10 thiab 30), thiab tom qab ntawd mus rau Uno +5v, tom qab ntawv txuas tus pin rov pib dua 9 rau Uno D10 tus pin, MISO tus pin 7 rau UNO D12, MOSI tus pin 8 rau Uno D11, thiab SCLK tus pin 7 rau Uno D13 tus pin. (3) Txuas Uno rau Arduino IDE thiab thauj cov duab piv txwv Arduino ua ISP mus rau Uno. (4) Tam sim no xaiv 1284 "maniac" muaj zog optiboot board, thiab xaiv Burn Burnloader xaiv. (5) Tom qab ntawd xaiv qhov 1284 ncua sijhawm kos duab muab rau ntawm no ua piv txwv thiab xa nws los ntawm kev siv Uno ua tus programmer xaiv hauv kab ntawv qhia zaub mov.

Cov kab ntawv txuas uas piav qhia cov txheej txheem kom ntxaws yog:

Siv ATmega1284 nrog Arduino IDEArduino Mightycore rau lub khob cij loj tus phooj ywg AVRsBuilding ATMega1284p prototypeArduino ATmega1284p bootloader

Kauj Ruam 6: Ntxiv 2 Arduino Uno PedalSHIELD Variation

Cov ntawv txuas ntxiv 2 Arduino Uno PedalSHIELD Variation
Cov ntawv txuas ntxiv 2 Arduino Uno PedalSHIELD Variation
Cov ntawv txuas ntxiv 2 Arduino Uno PedalSHIELD Variation
Cov ntawv txuas ntxiv 2 Arduino Uno PedalSHIELD Variation
Cov ntawv txuas ntxiv 2 Arduino Uno PedalSHIELD Variation
Cov ntawv txuas ntxiv 2 Arduino Uno PedalSHIELD Variation

Schematic3, Breadboard3, thiab Photo3 muab cov ntsiab lus ntawm Uno-based Circuit Court uas ua ntej AtMega1284 tsim.

Tej zaum nws yuav muaj txiaj ntsig kom muaj lub zog ntsuas hluav taws xob ua cov sib xyaw ua kom qhuav (sib npaug rau cov tswv yim) thiab ntub (tom qab ua tiav los ntawm MCU) teeb liab, thiab Schematic 2, Breadboard 2 thiab Photo 2 muab cov lus qhia ntxaws ntawm qhov tsim ua yav dhau los uas suav nrog xws li cov tswv yim rau cov khoom sib tov. Tsis tas li saib ntawm Qhib Music Labs StompBox rau lwm qhov kev siv tov khoom siv plaub OpAmps

Pom zoo: