Cov txheej txheem:

Micro Midi Synthesizer: 5 Kauj Ruam (nrog Duab)
Micro Midi Synthesizer: 5 Kauj Ruam (nrog Duab)

Video: Micro Midi Synthesizer: 5 Kauj Ruam (nrog Duab)

Video: Micro Midi Synthesizer: 5 Kauj Ruam (nrog Duab)
Video: Qhia kaw suab kab noog thiab siv Multi Pad SX700 thb SX900 2024, Kaum ib hlis
Anonim
Micro Midi Synthesizer Cov
Micro Midi Synthesizer Cov
Micro Midi Synthesizer Cov
Micro Midi Synthesizer Cov
Micro Midi Synthesizer Cov
Micro Midi Synthesizer Cov

Cov lus qhia no qhia txog kev siv VLSI VS1053b Suab thiab Midi DSP nti hauv nws lub sijhawm tiag tiag Midi hom. Hauv hom no nws ua raws li 64 lub suab polyphonic GM (General Midi) Midi synthesizer. Arduino Uno standalone micro tswj lub OLED zaub, peb lub nyees khawm (Kev Xaiv Xaiv thiab nce lossis nqis, thiab hla Midi cov ntaub ntawv ntws mus rau lub suab DSP. Lub suab paj nruag pawg xaiv yog Adafruit VS1053 codec breakout board, tab sis Sparkfun suab paj nruag breakout board Adafruit VS1053b cov tsev qiv ntawv tau siv ntau dua li SFEMP3 Lub Tsev Qiv Ntawv loj dua (pom zoo los ntawm Sparkfun txawm hais tias lawv kuj muaj lawv lub tsev qiv ntawv), vim kuv pom Adafruit code nkag siab yooj yim dua.

Feem ntau ntawm cov cai siv los tswj lub suab/midi DSP tau tsim los siv Arduino Uno txuas nrog lub suab/midi breakout board los ntawm lub khob cij. Tom qab lub luag haujlwm tau pom los ua haujlwm txaus siab Uno tau siv los ua tus programmer rau tus kheej ATmega 328 uas tau muab tso rau ntawm 30x20 qhov me me Veroboard ua ke nrog 6N139 opto-isolator IC xav tau ntawm Midi lub qhov (socket) 5 tus pin DIN). Kuj tseem txuas nrog yog daim iav me me (64x48) OLED, peb lub nyees khawm, Midi kev ua haujlwm LED, thiab +5 volt chim txuas rau lub zog thiab lub tso suab tso suab tso zis txuas ntxiv. Lub zog xav tau yog qhov tsawg heev - txog 20 mA ntawm 5 volt.

Kauj Ruam 1: Daim Ntawv Teev Npe

ATmega328 Micro 28 tus pin DIP + 28 tus pin DIP socket6N138 lossis 6N139 optoisolator + 4 tus pin DIP socketWemos 64x48 I2C OLED Zaub lossis zoo sib xws Adafruit VS1053b Codec breakout board3 yam me me pushbuttons5 tus pin DIN Midi socket PCB mount nyiam dua me me txhua yam xim. lub qhov (socket) los txuas rau lub tshuab hluav taws xob lossis lub mloog pob ntseg Cov neeg tawm tsam: 7 x 10k, 2 x 470 ohm, 2 x 220 ohmCapacitors: 0.1uF 50v yas, 10uf 25v electrolytic, 2 x 27 pF ceramic los ntawm 16 kab ntawv), ABS yas ntim txog li 85x55x25mm, thaiv thiab ob peb ntsia hlau ntsia hlau thiab tshuab ntxhua khaub ncaws.

Kauj Ruam 2: Kev tsim kho

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

Lub hau ntawm lub thawv ntim tsev OLED cov duab, peb lub khawm uas tau teeb tsa ntawm lwm qhov me me ntawm Veroboard, thiab lub hwj chim txuas txuas. Lub rooj tsav xwm tseem ceeb ntawm Vero muaj ob lub qhov los txhim kho Music breakout board saum ATmega328. Txog cov ntsiab lus sib txuas thov mus saib Fritzing strip board diagram.

Qhov programme ATmega328 (thov saib mus rau ntu txuas ntxiv rau txoj cai) tom qab ntawd ntxig rau hauv nws lub qhov (socket) ua raws los ntawm 6N139 thiab txhua yam txuas nrog.

LED tau siv los ua qhov ntsuas Midi kev ua haujlwm thiab tau teeb tsa nyob rau sab xub ntiag ntawm lub thaiv. Nws txuas nrog D2 cov zis ntawm ATmega328 ntawm 470 ohm resistor.

OLED zaub siv 3.3 volt tso tawm los ntawm Adafruit board rau lub zog - nws xav tau tsawg dua 20 mA.

Sim pauv ob qhov kev sib txuas Midi Din yog tias koj tsis hnov lub suab thaum koj xub siv cov synth.

Kauj ruam 3: Software

Cov ntsiab lus ntawm daim duab uas yuav tsum tau muab xa mus rau ATmega328 tau muab rau hauv MidA.ino. Muaj xya txoj haujlwm muaj:

Kev Xaiv P: Hloov Txoj Haujlwm - hloov GM Midi Instrument los ntawm 1 txog 128 (Kuv siv 0 txog 127) xws li Piano lossis Synth sound. Option B: Hloov cov txhab nyiaj qiv ntawm Melodic (Bank 0) thiab Percussion (Bank 1). Kev Xaiv V: Kho qhov ntim ntawm 1 txog 10. Option C: Hloov Midi channel uas Synth yuav teb rau. Cov kev xaiv yog Channel 0, channel 1, channel 9 (percussion), channel 0 thiab 9, thiab channel 1 thiab 9. Option R: Hloov qhov Reverb effect los yog tua. Option S: Txuag tam sim no tsis rau Eeprom nco (Up) lossis Nyeem (Down) nws rov qab los ntawm Eeprom nco. Qhov no yog vim tias kev teeb tsa tsis tau txais kev cawmdim thaum lub zog poob.

Qhov kev xaiv thib yim tseem tsis tau ua tiav - qhov no yuav hla ATmega ua Midi lim thiab txuas cov khoom siv ntawm optoisolator ncaj qha rau Rx tus pin ntawm DSP board.

Nco ntsoov tias VS1053b khau raj nyob rau hauv lub sijhawm tiag tiag Midi hom los ntawm kev thauj khoom 1039 byte compressed thaj thaum lub caij khau raj - qhov no kuj ua rau me me ntawm Midi tsis thiab lim cov txheej txheem tshwj xeeb Midi cov ntaub ntawv bytes. Cov ntsiab lus ntawm thaj no tuaj yeem pom ntawm VLSI lub vev xaib.

Kev hloov kho me ntsis ntawm Adafruit Cov Tsev Qiv Duab Graphics tau siv los ua kom haum rau 64x48 pixel daws teeb meem ntawm OLED Zaub - thov mus saib cov kab ntawv txuas tom kawg rau Mr Mcauser. Ib daim ntawv teev cov tsev qiv ntawv xav tau muab rau hauv daim duab kos.

Qhov tseem ceeb thaum kos duab ua thawj zaug ntawm ATmega328 txawm tias nws nyob ntawm Uno lossis nyob ib leeg, tus lej yuav thauj khoom qhov ntsuas ua ntej los ntawm ATmega328 Eeprom uas yuav siv tsis tau. Hauv qhov xwm txheej ntawd koj tuaj yeem sau txhua qhov xoom rau Eeprom siv X qhov kev xaiv nrog khawm qis, lossis tawm tswv yim tawm kab hauv qhov tsis muaj teeb tsa teeb tsa uas thauj cov txiaj ntsig los ntawm Eeprom thaum nws tau pib ua ntej, kho koj cov cuab yeej thiab lwm yam rau koj nyiam, thiab tom qab ntawd khaws koj cov ntawv presets nrog S xaiv Up khawm.

Kev qiv nyiaj tau muab rau txhua tus neeg thiab cov koom haum tau hais rau lawv cov cai thiab tsev qiv ntawv..

Kauj ruam 4: Txuas

VLSI:

Adafruit:

Github VS1053b:

Github Cov Duab:

Oled:

Sparkfun:

Kauj Ruam 5: Siv Sparkfun Board Nrog Adafruit Libraries

Siv Sparkfun Board Nrog Adafruit Libraries
Siv Sparkfun Board Nrog Adafruit Libraries

Cov lus hauv daim duab piav qhia yuav ua li cas txuas nrog Adafruit lossis Sparkfun Music Boards kom siv lwm lub tsev qiv ntawv.

Pom zoo: