Բովանդակություն:
- Քայլ 1: Տեսանյութ
- Քայլ 2: Մասեր և նյութեր
- Քայլ 3. Հաղորդալարեր - SAA1099
- Քայլ 4. Էլեկտրամոնտաժ - TTL տատանում
- Քայլ 5. Լարերի մոնտաժ - Iref և չիպի միջերես
- Քայլ 6: Լարեր - ձայնային բաղադրիչներ
- Քայլ 7: Լարեր - Աուդիո Jack
- Քայլ 8. Հաղորդալարում - Հզորություն Breadboard- ին
- Քայլ 9. Լարերի մշակում - Տվյալների գծեր
- Քայլ 10: Լրացուցիչ LED (ներ)
- Քայլ 11: Կոդ
- Քայլ 12: Փորձարկիր այն:
- Քայլ 13 ՝ Օգտագործելով ձեր սեփական MIDI ֆայլերը - փոխակերպման ծրագիր
- Քայլ 14: MIDI ֆայլերի փոխարկում
- Քայլ 15: Օգտագործելով ձեր փոխարկված MIDI ֆայլը
- Քայլ 16: Վերջ
Video: Retro Sound Chip With Arduino - SAA1099: 16 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Այս ուսանելի ծրագրում ես ձեզ ցույց կտամ, թե ինչպես օգտագործել Arduino Uno- ն խաղողի բերքահավաքի ձայնային սինթեզի չիպով ՝ midi ֆայլերը քառակուսի ալիքավոր բարությամբ նվագելու համար:
Եթե ցանկանում եք պարզապես ակնարկ ունենալ, թե ինչ է անում այս նախագիծը, դիտեք վերը նշված տեսանյութը: Հակառակ դեպքում, շարունակեք:
Քայլ 1: Տեսանյութ
Եթե նախընտրում եք ձեր բոլոր հրահանգները հստակ, հակիրճ տեսանյութերում, մենք ձեզ լուսաբանել ենք:
Մնացածներիս համար կարող եք շարունակել ՝ մի փոքր ավելի մանրամասն և գրավոր ցուցումների համար:
Քայլ 2: Մասեր և նյութեր
Դրա համար ձեզ հարկավոր են հետևյալ իրերը.
(Հղումները eBay- ի իրերի համար են)
- Արդուինո (Ունո, Նանո, Լեոնարդո, նրանք բոլորը պետք է աշխատեն)
- Առնվազն միջին չափի տախտակ
- SAA1099 Stereo Sound Generator չիպը
- Breadboard jumper մետաղալարեր (Այլապես, ես սիրում եմ օգտագործել dupont իգական և իգական ցատկողներ, որոնց երկու ծայրերում տեղադրված են 20 մմ գլխիկի կապում- շատ ավելի ամուր)
- 8Mhz TTL տատանում (AliExpress- ի հղումը, ինչպես տրամադրված է zweigelt- ի կողմից)
- Ստերեո (կամ մոնո) աուդիո Jack
- 2 x 1K դիմադրություն (100 հատ)
- 1 x 10K դիմադրություն (շատ 50)
- 2 x 100pF կոնդենսատորներ
- (Լրացուցիչ) Որոշ LED- ներ, առնվազն 1 (colorանկացած գույն, ահա 100 տարբեր գույներ մեկ դոլարի դիմաց):
Օգտագործելով տրամադրված հղումները ՝ ընդհանուր արժեքը 23,25 դոլար է ՝ ներառյալ առաքումը: Իհարկե, դրա մեծ մասը գալիս է աշխարհի կեսից, ուստի առաքումը սովորաբար տևում է մոտ մեկ ամիս: Եթե ցանկանում եք ավելի արագ առաքում, հավանաբար ստիպված կլինեք մի փոքր ավելի շատ վճարել:
Քայլ 3. Հաղորդալարեր - SAA1099
Եթե սխեմաները ձերն են, ահա դուք գնում եք: Մնացածս կարող ենք կամ քայլ առ քայլ անցնել, կամ դիտել տեսանյութը:
- Տեղադրեք SAA1099- ը հացահատիկի վերջում, իսկ խազը չիպի վրա նայեք դեպի ծայրը:
- Հիմա ՝ իշխանություն: VAD- ը (18 -րդ կապը) SAA1099- ի վրա անցնում է ուժի, այնուհետև կապում VSS- ի (փին 9) գետնին:
- Հաջորդը, մետաղալար տեղադրեք CS- ի (քորոց 2) և գետնի միջև, որպեսզի այն ցածր քաշվի
Ես նաև խորհուրդ կտայի նայել տվյալների թերթիկին, որը ես կցել եմ:
Քայլ 4. Էլեկտրամոնտաժ - TTL տատանում
- Մենք TTL Oscillator- ը կդնենք հացահատիկի կողքին, այնպես, որ ժամացույցի ելքային փինն ամենամոտ լինի SAA1099- ի ժամացույցի մուտքին (Pin 8)
- Կարող եք առաջ գնալ և միացնել հոսանքը և հոսանքը TTL տատանումին: (Ես սպասեցի մինչև հետագայում իմ տեսանյութում, այնպես որ ես նկար չունեմ): Վերոնշյալ նկարը ցույց է տալիս, թե որ քորոցներն են:
Քայլ 5. Լարերի մոնտաժ - Iref և չիպի միջերես
- 10K ռեզիստորը միացրեք Iref- ի (փին 6) և 5V- ի միջև:
- Միացրեք թվային 8 -րդ կապը WR- ին (փին 1) SAA1099- ում:
- Միացրեք թվային 9 -րդ կապը A0- ին (փին 3) SAA1099- ի վրա:
Քայլ 6: Լարեր - ձայնային բաղադրիչներ
- Միացրեք 100pF կոնդենսատոր OUTR- ի (PIN 4) և GND- ի միջև
- Միացրեք 1K ռեզիստոր OUTR- ի (փին 4) և 5V- ի միջև
- Մենք նույնը կանենք OUTL- ի համար (փին 5)
- Միացրեք 100pF կոնդենսատոր OUTL- ի (PIN 5) և GND- ի միջև
- Միացրեք 1K դիմադրություն OUTL- ի (փին 5) և 5V- ի միջև
Նշում! Համոզվեք, որ ռեզիստորների/կոնդենսատորների լարերից ոչ մեկը չի դիպչում, հակառակ դեպքում իրերը չեն աշխատի, և կարող է (նախնական) պոտենցիալ պայթել ձեր դեմքին:
Քայլ 7: Լարեր - Աուդիո Jack
- Միացրեք մի փոքր ցատկող մետաղալար 5 Վ -ի և տախտակի վրա դատարկ տողի միջև:
- Տեղադրեք ձեր աուդիո խցիկը, որպեսզի 5 Վ -ից ցատկողը միանա Աուդիո խցիկի «Թև» կապին
- Միացրեք L և R (Կամ Աուդիո կապը, եթե ունեք Մոնո վարդակ) համապատասխանաբար SAA1099- ի OUTL (PIN 5) և OUTR (PIN 4) կապումներին:
Նշում! Մոնո աուդիո խցիկների վրա իսկապես կարևոր չէ, թե ինչ է կատարվում, քանի դեռ մեկ կապում է միանում 5 Վ լարման, իսկ մեկը `OUTL կամ OUTR: Դա պարզապես լավ կհնչի: Եթե դա այդպես չէ, այս դեպքում գուցե ցանկանաք նորից ստուգել ձեր էլեկտրագծերը:
Քայլ 8. Հաղորդալարում - Հզորություն Breadboard- ին
- Միացրեք Breadboard հոսանքի ավտոբուսի երկու կողմերը միմյանց ՝ օգտագործելով jumper լարերը:
- Մի կողմը միացրեք Arduino- ի 5V և GND կապումներին ՝ համոզվելով, որ լարերը ոչ մի տեղ չեք խառնել: Եթե դա արեցիք, ապա կախարդական ծուխը կարող է դուրս գալ:
Քայլ 9. Լարերի մշակում - Տվյալների գծեր
Arduino- ի միջոցով D0- ից D7- ը միացրեք D0- ին (PIN 10) մինչև D7 (PIN 17) SAA1099- ով, ըստ հերթականության:
Ես գտնում եմ, որ DuPont կին-կին ցատկող լարերը, որոնցից երկու ծայրերում կան 15-20 մմ գլխի կապիչներ, շատ ավելի լավ են աշխատում, քան արական և արական դուպոնտի լարերը: Բացի այդ, դրանք կարող եք օգտագործել նաև իգական-իգական, կամ արական-իգական: Երկուսն էլ հեշտությամբ կարելի է գտնել eBay- ում մեծ քանակությամբ ՝ փոքր քանակությամբ փոփոխությունների դիմաց: Լավ ամանորյա նվեր ձգտող Arduino- ի սիրահարին:
Քայլ 10: Լրացուցիչ LED (ներ)
Ես քայլ առ քայլ չեմ անդրադառնա, թե ինչպես կառուցել այստեղ ամեն ինչ, բայց LED- ները ավելացնելու մի քանի լավ տեղեր կան: Առաջին հերթին, ես 3 մմ կարմիր LED կապեցի WR- ի (PIN 1) և GND- ի միջև ՝ ցույց տալու ամեն անգամ, երբ Arduino- ն հրաման է ուղարկում SAA1099- ին:
Նախկինում ես նաև LED- ները միացրել եմ տվյալների տողերին, ինչը թույլ է տալիս տեսնել յուրաքանչյուր տողի փաստացի երկուական տվյալները: Ես օգտագործել եմ այս կարգավորումը իմ «Arduino and SAA1099 - Fireflies» տեսանյութում, ինչպես նաև ևս 6 LED և լրացուցիչ կոդ ՝ յուրաքանչյուր LED- ի համար ակտիվ յուրաքանչյուր LED լուսավորելու համար:
Որքան շատ LED- ներ, այնքան սառը տեսք ունի:
Քայլ 11: Կոդ
Այժմ, երբ դուք կառուցել եք սխեման, կրկնակի ստուգեք կապերը: Դուք չեք ցանկանում պայթեցնել ձեր թանկարժեք arduino- ն և Soundchip- ը: (Եթե դա անեք, լավ: Դա իմ գործը չէ)
Ենթադրելով, որ դու ողջամիտ ես և ստուգել ես ամեն ինչ, մենք կարող ենք սկսել այն ծրագրավորել:
- Գրադարանը գտնվում է https://github.com/Bobcatmodder/SAATunes հասցեում
- Դուք կցանկանաք SAATunes.zip ֆայլը, այնպես որ առաջ գնացեք և ներբեռնեք այն:
- Այժմ բացեք Arduino IDE- ն:
- «Էսքիզ», «Ներառել գրադարանը» բաժնում կտտացրեք «Ավելացնել.zip գրադարան»
- Գնացեք այնտեղ, որտեղ ներբեռնել եք SAATunes գրադարանը: (Ինձ չի հետաքրքրում ՝ դա ձեր աշխատասեղանն էր, ներլցումներ, թե՞ (տեղադրեք ամոթալի բան) թղթապանակ- պարզապես գտեք այն)
- Ընտրեք այն և կտտացրեք «Բացել»
- Այն պետք է ասի ձեզ, որ այն ավելացվել է ձեր գրադարաններին:
Քայլ 12: Փորձարկիր այն:
- Բացեք SAATunes ծրագրի օրինակը ՝ «Ֆայլ», «Օրինակներ», «SAATunes», «SAATunes-Uno» բաժիններում:
- Միացրեք ձեր Arduino- ն համակարգչին և մի տեսակ բարձրախոսին:
- Վերբեռնեք ծրագիրը Arduino- ում:
Դուք պետք է լսեք ակորդ, այնուհետև Բեթհովենի կատաղությունը կորցրած կոպեկի դիմաց: Եթե դասականը ձեր գործը չէ, մի՛ վախեցեք, քանի որ մենք շուտով կսովորենք, թե ինչպես օգտագործել դրա հետ մեր ընտրած MIDI ֆայլերը:
Եթե ոչինչ չեք լսում, ստուգեք մի քանի բան. Նախ, խոսափողը միացված է՞: Ամբողջովին վեր բարձրացրեք այն: Հետո, արդուինոն իրո՞ք միացված է: Արդյո՞ք ծրագիրը ճիշտ է վերբեռնվել: Ստուգեք բոլոր լարերը սխեմատիկ և տվյալների թերթիկով, ապա նորից փորձեք:
Քայլ 13 ՝ Օգտագործելով ձեր սեփական MIDI ֆայլերը - փոխակերպման ծրագիր
Պատրա՞ստ եք այլ բան փորձել, քան Բեթհովենը: Շատ լավ, ահա դու գնում ես:
MIDI ֆայլերը C ++ Bytestreams- ի փոխարկելու համար մեզ անհրաժեշտ կլինի Len Shustek- ի ծրագիրը: Նա այն գրադարանի ստեղծողն է, որի հիման վրա ես հիմնեցի իմ կոդը, և իմ գրադարանը օգտագործում է իր կողմից կատարված նույն bytestream ձևաչափը:
- Theրագիրը կարող եք գտնել https://github.com/LenShustek/miditones կայքում
- Ձեր ուզած ծրագիրը «miditones.exe» է: Առաջ գնացեք և ներբեռնեք այն:
Քայլ 14: MIDI ֆայլերի փոխարկում
Wգուշացում. Այստեղ կլինեն ascii վիշապներ: Հավանաբար, ձեզ համար ավելի հեշտ կլինի դիտել տեսանյութը, որտեղ կարող եք տեսնել, թե կոնկրետ ինչի մասին եմ խոսում: Եթե համարձակվում եք ներս մտնել, ապա շարունակեք:
MIDI- ից Bytestream փոխակերպման ծրագիր օգտագործելու համար հարկավոր է բացել հրամանի տողերի պատուհան: Ներեցեք Mac- ի և Linux- ի օգտվողներին, գուցե ստիպված լինեք լուծում գտնել:
- Բացեք մեկնարկի ընտրացանկը և մուտքագրեք «CMD», այնուհետև սեղմեք Enter:
- Մենք հիմա մի փոքր MS-DOS կախարդանք կսովորենք: Օգտագործելով «CD» հրամանը ՝ նավարկեք այնտեղ, որտեղից բեռնել եք «miditones.exe» ֆայլը: Շատ դեպքերում, հրամանները կլինեն «cd ներլցումներ»:
- Գործարկեք «miditones.exe» ծրագիրը ՝ մուտքագրելով «miditones»: Այն պետք է ձեզ ցույց տա օգնության ցուցակ, որը ցույց է տալիս ամենատարածված հրամանները:
Այժմ փոխարկելու համար մեզ անհրաժեշտ է MIDI ֆայլ: Որևէ տեղ գտեք interwebs- ում, գերադասելի է առանց հարվածային գործիքների կամ հատուկ էֆեկտների, բացի միջոցներից/արագությունից: (Եթե չգիտեք, թե դրանք ինչ են, մի անհանգստացեք, լավ կլինեք)
- Ներբեռնեք ձեր MIDI ֆայլը նույն տեղում, որտեղ ունեք «miditones» ծրագիրը:
- Այժմ, օգտագործելով հրամանի տողերի պատուհանը, մուտքագրեք «miditones -d -v [filename]» (Փոխարինեք [ֆայլի անունը] ինչ էլ որ լինի ձեր MIDI ֆայլի անունը):
- miditones- ը կստեղծի. C ֆայլ C ++ bytestream- ով ՝ նույն թղթապանակում, նույն անունով, ինչ MIDI ֆայլը:
Քայլ 15: Օգտագործելով ձեր փոխարկված MIDI ֆայլը
Այժմ, երբ դուք վերածել եք ձեր MIDI ֆայլը, եկեք այն փոքր բայթերով կերակրենք arduino- ին:
- Ենթադրելով, որ դուք արդեն ունեք SAATunes-Uno օրինակը բաց, եկեք առաջ գնանք և «պահպանենք որպես» այլ բան, որպեսզի կարողանանք այն խմբագրել:
- Պահելուց հետո կտտացրեք վերևի աջ անկյունում գտնվող «ներքև սլաք» պատկերակին:
- Կտտացրեք «նոր ներդիր» և անվանեք այն «[անուն].հ» (Փոխարինեք [անունը] ձեր MIDI երգի անունով կամ ինչ ուզում եք)
- Այժմ, բացեք. C ֆայլը, որն ավելի վաղ ստեղծել էին միջնադարյան հնչյունները: Դուք կարող եք օգտագործել նոթատետրը այն բացելու համար:
- Օգտագործեք CNTRL/A ՝ ամեն ինչ ընտրելու համար, այնուհետև պատճենեք այն:
- Տեղադրեք այն ձեր նոր «[name].h» ներդիրում arduino խմբագրիչում:
Այստեղ ամեն ինչ լավ է, ուստի վերադառնանք ծրագրին:
- Գտեք այնտեղ, որտեղ գրված է "#include" RagePenny.h "" և պատճենեք/տեղադրեք այն ներքևի նոր տողի վրա:
- Փոփոխեք «RagePenny.h» - ը ՝ ինչ էլ որ անվանեք ձեր նոր ֆայլին:
- Այժմ, մեկնաբանեք «#include» RagePenny.h » - ը ՝ դրա դիմաց ավելացնելով երկու շեղ (//):
- Վերբեռնեք ծրագիրը:
Եթե ամեն ինչ լավ է ընթանում, այն պետք է նվագարկի ձեր սեփական MIDI ֆայլը: Եթե ոչ, նորից ստուգեք ՝ համոզվելու համար, որ նոր ներդիրի անունները և «#ներառել» RagePenny.h "" - ում փոխված անունը նույնն են: Ստուգեք մնացած քայլերը և համոզվեք, որ ամեն ինչ ճիշտ եք արել: Որոշ MIDI ֆայլեր պարզապես չեն աշխատում, բայց դրանք հազվադեպ են լինում:
Քայլ 16: Վերջ
Հուսանք, որ ձեզ մոտ ամեն ինչ լավ է ընթանում, և դուք խցանում եք MIDI ֆայլերը հին տեխնոլոգիայի շնորհիվ, որը նոր կյանք է պարգևում:
Այնուամենայնիվ, եթե դուք չեք, մի հանձնվեք: Ուղարկեք մեկնաբանություն իմ ձևով, և ես ուրախ կլինեմ օգնել: Իհարկե, ազատ զգացեք ինձ մեկնաբանություններում առաջարկություններ անելու մասին:
Շնորհավոր chiptunes:
Խորհուրդ ենք տալիս:
The Sound Sleuthers: 6 քայլ (նկարներով)
The Sound Sleuther- ը բարձրակարգ խոսափող է, որը հիմնված է PUI 5024 խոսափողի պարկուճի վրա: Նրանք իսկապես հանգիստ ու զգայուն են ՝ կատարյալ բնության խոսափող ստեղծելով: Նրանք էժան են, ինչպես նաև 3 դոլարից յուրաքանչյուրը 10 -ի չափով: Նրանք ունեն ներքին FET, որը
Sound Bending Synth: 14 քայլ (նկարներով)
Sound Bending Synth. Ես նախկինում մի քանի ձայնամեկուսիչ սարք եմ կառուցել (ստուգեք ստորև բերված «ibles» հղումները): Այս անգամ ես ավելացրեցի արձագանք և ուժեղացուցիչ մոդուլ, որն իսկապես տալիս է հնչյունների մի ամբողջ շարք, որոնց հետ կարելի է նվագել: Բացի այդ, ձայնագրման մոդուլը, որն օգտագործվում է
MP3 նվագարկումը Sound FX Wall: 12 քայլ (նկարներով)
MP3 նվագարկումը Sound FX Wall. Ստեղծեք զվարճալի և ինտերակտիվ ձայնային պատ, որը Mp3- երը նվագում է պարզ հպումով: Ի՞նչ եք անում դատարկ պատի հետ: Կարո՞ղ եք դրան մի քանի գեղեցիկ նկար ավելացնել: Կամ ծածկեք այն գունագեղ տնային բույսով: Մենք նույնիսկ տեսել ենք, թե ինչպես են որոշ մարդիկ թաքցնում մերկ պատերը գրքի հետևում
Arduino Infinity Mirror (Bluetooth & Sound React). 9 քայլ (նկարներով)
Arduino Infinity Mirror (Bluetooth & Sound Reactive). Ես ստեղծեցի Infinity Mirror Arduino- ի հետ դպրոցական նախագծի համար, որը կարող եք կառավարել ձեր հեռախոսով կամ պլանշետով `օգտագործելով Bluetooth: Հայելին ունի նաև ներկառուցված խոսափող, որը հայտնաբերում է ձայնը/երաժշտությունը և համապատասխանաբար արձագանքում ՝ առաջացնելով գրավիչ
Առանձին Arduino / ATMega Chip Breadboard- ում `8 քայլ (նկարներով)
Standalone Arduino / ATMega Chip on Breadboard. Եթե դուք ինձ նման եք, իմ Arduino- ն ձեռք բերելուց և իմ առաջին չիպի վրա վերջին ծրագրավորում կատարելուց հետո, ես ուզում էի այն հանել իմ Arduino Duemilanove- ից և տեղադրել այն իմ սեփական սխեմայի վրա: Սա նաև ազատելու էր իմ Arduino- ն հետագա նախագծերի համար: Խնդիրը