Micro Midi սինթեզատոր `5 քայլ (նկարներով)
Micro Midi սինթեզատոր `5 քայլ (նկարներով)
Anonim
Micro Midi սինթեզատոր
Micro Midi սինթեզատոր
Micro Midi սինթեզատոր
Micro Midi սինթեզատոր
Micro Midi սինթեզատոր
Micro Midi սինթեզատոր

Այս հրահանգը ցույց է տալիս VLSI VS1053b Audio և Midi DSP չիպի օգտագործումը իրական ժամանակի Midi ռեժիմում: Այս ռեժիմում այն գործում է որպես 64 ձայնային բազմաձայն GM (General Midi) Midi սինթեզատոր: Arduino Uno ինքնուրույն միկրո վերահսկում է OLED էկրանը, երեք կոճակ (Function Select և Up կամ Down և փոխանցում է Midi տվյալների հոսքը աուդիո DSP- ին: Ընտրված երաժշտական տախտակը Adafruit VS1053 կոդեկի բեկումնային տախտակն էր, բայց Sparkfun երաժշտության ճեղքման տախտակը: Adafruit VS1053b գրադարաններն օգտագործվել են շատ ավելի մեծ SFEMP3 գրադարանի փոխարեն (խորհուրդ է տրվում Sparkfun- ի կողմից, թեև նրանք ունեն իրենց սեփական գրադարանները), քանի որ ինձ համար ավելի հեշտ էր ընկալել Adafruit ծածկագիրը:

Աուդիո/midi DSP- ը վերահսկելու համար օգտագործվող կոդի մեծ մասը մշակվել է Arduino Uno- ի միջոցով, որը միացված է աշտարակի միջոցով միացված աուդիո/midi ճեղքման տախտակին: Այն բանից հետո, երբ պարզվեց, որ գործառույթները բավարար են աշխատում, Uno- ն օգտագործվում էր որպես ծրագրավորող անկախ ATmega 328- ի համար, որն այնուհետև դրվում էր 30x20 չափի փոքր Veroboard- ի վրա, ինչպես նաև 6N139 օպտո-մեկուսիչ IC- ով, որը պահանջվում էր Midi մուտքի վարդակից (5 փին DIN):. Միացված էր նաև մի փոքր (64x48) OLED վահանակ, երեք կոճակ, Midi գործունեության LED և էներգիայի համար +5 վոլտ տրամագծով միակցիչ և ավելացված աուդիո ստերեո ելքային միակցիչ: Էլեկտրաէներգիայի պահանջները շատ համեստ են `մոտ 20 մԱ 5 վոլտով:

Քայլ 1: Մասերի ցուցակ

ATmega328 Micro 28 pin DIP + 28 pin DIP socket6N138 or 6N139 optoisolator + 4 pin DIP socketWemos 64x48 I2C OLED Display կամ նմանատիպ Adafruit VS1053b Codec breakout board վարդակից ՝ ուժեղացուցիչին կամ ականջակալներին միանալու համար Դիմադրիչներ ՝ 7 x 10k, 2 x 470 օմ, 2 x 220 օմ Կոնդենսատորներ ՝ 0.1uF 50v պլաստիկ, 10uf 25v էլեկտրոլիտիկ, 2 x 27 pF կերամիկա Veroboard- ի փոքր կտորներ (30 շերտ 20 սյունակով և 4 շերտ) 16 սյուներով), ABS պլաստիկ պատյան ՝ մոտ 85x55x25 մմ, էլեկտրալարեր և մի քանի պտուտակներ ընկույզներ և լվացարաններ:

Քայլ 2: Շինարարություն

Շինարարություն
Շինարարություն
Շինարարություն
Շինարարություն
Շինարարություն
Շինարարություն

Պարիսպի կափարիչում տեղակայված են OLED էկրանը, երեք կոճակները, որոնք տեղադրված են Veroboard- ի մեկ այլ փոքր կտորի վրա, և տակառի հոսանքի միակցիչը: Հիմնական Vero տպատախտակն ունի երկու անցք ՝ ATmega328- ի վերևում Music breakout տախտակը ամրացնելու համար: Միացման մանրամասների համար դիմեք Fritzing շերտի տախտակին:

Medրագրավորված ATmega328- ը (խնդրում ենք ծածկագրի հաջորդ բաժինը) այնուհետև տեղադրվում է վարդակից, որին հաջորդում է 6N139- ը և ամեն ինչ միացված է:

LED- ն օգտագործվում է որպես Midi գործունեության ցուցիչ և տեղադրված էր պարիսպի առջևի մասում: Այն միացված է ATmega328- ի D2 ելքին 470 օհմ ռեզիստորի միջոցով:

OLED էկրանն օգտագործում է Adafruit տախտակից 3.3 վոլտ հզորությունը էներգիայի համար. Դրա համար պահանջվում է 20 մԱ -ից պակաս:

Փորձեք փոխանակել երկու Midi Din կապերը, եթե սինթեզն օգտագործելիս առաջին անգամ որևէ ձայն չեք լսում:

Քայլ 3: Softwareրագրակազմ

Էսքիզի մանրամասները, որոնք պետք է վերբեռնվեն ATmega328- ում, տրված են MidA.ino կայքում: Առկա է յոթ գործառույթ.

Տարբերակ P. Փոփոխել ծրագիրը. Փոխել GM Midi գործիքը 1 -ից 128 -ի (ես օգտագործել եմ 0 -ից մինչև 127 -ը), ինչպիսին է դաշնամուրը կամ Synth հնչյունը: Տարբերակ B. Փոխել գործիքի բանկը Melodic (Bank 0) և Percussion (Bank 1) միջև: Տարբերակ V. Կարգավորեք ձայնի ծավալը 1 -ից 10 -ը: Տարբերակ C: Փոխեք Midi ալիքը, որին Synth- ը կպատասխանի: Ընտրանքներն են `0 -րդ ալիք, 1 -ին ալիք, 9 -րդ (հարվածային գործիքներ), 0 -րդ և 9 -րդ ալիքներ, և 1 -ին և 9 -րդ ալիքներ: Տարբերակ R. Միացրեք կամ անջատեք Reverb- ի էֆեկտը: Տարբերակ S. Պահպանեք ընթացիկ պարամետրերը Eeprom հիշողության մեջ (վեր) կամ կարդացեք (ներքև) այն Eeprom հիշողությունից: Դա պայմանավորված է նրանով, որ անջատումներն այլ կերպ չեն պահվում: Ընտրանք X. Ուղարկեք բոլոր նշումները անջատված հաղորդագրություն (Midi Reset):

Ութերորդ տարբերակը դեռ չի իրականացվել. Սա շրջանցելու է ATmega- ն որպես Midi զտիչ և օպտոիզոլատորի ելքը միացնելու է անմիջապես DSP տախտակի Rx քորոցին:

Նկատի ունեցեք, որ VS1053b- ն բեռնվում է իրական ժամանակի Midi ռեժիմում `բեռնման ընթացքում բեռնելով 1039 բայթ սեղմված կարկատ: սա նաև մեծացնում է Midi բուֆերի չափը և զտում է համակարգի բացառիկ Midi տվյալների բայթերը: Այս կարկատանի մանրամասները կարելի է գտնել VLSI կայքում:

Adafruit Graphics գրադարանի մի փոքր փոփոխված տարբերակն օգտագործվել էր OLED ցուցադրման 64x48 պիքսել թույլատրելիության ապահովման համար: Էսքիզների ծածկագրում տրվում է պահանջվող գրադարանների ցանկը:

Կարևոր է, երբ էսքիզն առաջին անգամ կատարվի ATmega328- ում `լինի դա Uno- ով կամ ինքնուրույն, ծածկագիրը կբեռնի ATmega328 Eeprom- ի պարամետրերը, որոնք կարող են վավեր չլինել: Այդ դեպքում կարող եք կամ գրել բոլոր զրոները Eeprom- ի միջոցով ՝ օգտագործելով X տարբերակը ներքևի կոճակով, կամ մեկնաբանել դատարկ կարգաբերման գործառույթի այն տողը, որը արժեքներ է բեռնում Eeprom- ից այն սկսելու ժամանակ, հարմարեցնել ձեր գործիքները և այլն: դուր գալը, այնուհետև պահպանեք ձեր կանխադրվածները S ընտրանքով Up կոճակով:

Վարկը տրվում է բոլոր այն անձանց և անձանց, որոնք նշված են իրենց ծածկագրով և գրադարաններով:

Քայլ 4: Հղումներ

VLSI ՝

Ադաֆրուտ ՝

Github VS1053b:

Github Graphics:

Օլեդ ՝

Sparkfun ՝

Քայլ 5. Sparkfun Board- ի օգտագործումը Adafruit գրադարանների հետ

Օգտագործելով Sparkfun խորհուրդը Adafruit գրադարանների հետ
Օգտագործելով Sparkfun խորհուրդը Adafruit գրադարանների հետ

Նկարում պատկերված աղյուսակը բացատրում է, թե ինչպես կարելի է միացնել կամ Adafruit- ը, կամ Sparkfun Music Boards- ը ՝ այլ գրադարան օգտագործելու համար:

Խորհուրդ ենք տալիս: