Բովանդակություն:

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

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

Video: Micro Midi սինթեզատոր `5 քայլ (նկարներով)
Video: Կամիգավա, Նեոնյան դինաստիա. Ես բացում եմ 30 Magic The Gathering ընդլայնման խթանիչների տուփը 2024, Հուլիսի
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- ը ՝ այլ գրադարան օգտագործելու համար:

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