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

Retro Sound Chip With Arduino - SAA1099: 16 քայլ (նկարներով)
Retro Sound Chip With Arduino - SAA1099: 16 քայլ (նկարներով)

Video: Retro Sound Chip With Arduino - SAA1099: 16 քայլ (նկարներով)

Video: Retro Sound Chip With Arduino - SAA1099: 16 քայլ (նկարներով)
Video: SAA1099 & Arduino - How to DIY 2024, Նոյեմբեր
Anonim
Image
Image
Հաղորդալարեր - SAA1099
Հաղորդալարեր - SAA1099

Այս ուսանելի ծրագրում ես ձեզ ցույց կտամ, թե ինչպես օգտագործել Arduino Uno- ն խաղողի բերքահավաքի ձայնային սինթեզի չիպով ՝ midi ֆայլերը քառակուսի ալիքավոր բարությամբ նվագելու համար:

Եթե ցանկանում եք պարզապես ակնարկ ունենալ, թե ինչ է անում այս նախագիծը, դիտեք վերը նշված տեսանյութը: Հակառակ դեպքում, շարունակեք:

Քայլ 1: Տեսանյութ

Image
Image

Եթե նախընտրում եք ձեր բոլոր հրահանգները հստակ, հակիրճ տեսանյութերում, մենք ձեզ լուսաբանել ենք:

Մնացածներիս համար կարող եք շարունակել ՝ մի փոքր ավելի մանրամասն և գրավոր ցուցումների համար:

Քայլ 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
Հաղորդալարեր - SAA1099
Հաղորդալարեր - SAA1099
Հաղորդալարեր - SAA1099

Եթե սխեմաները ձերն են, ահա դուք գնում եք: Մնացածս կարող ենք կամ քայլ առ քայլ անցնել, կամ դիտել տեսանյութը:

  • Տեղադրեք SAA1099- ը հացահատիկի վերջում, իսկ խազը չիպի վրա նայեք դեպի ծայրը:
  • Հիմա ՝ իշխանություն: VAD- ը (18 -րդ կապը) SAA1099- ի վրա անցնում է ուժի, այնուհետև կապում VSS- ի (փին 9) գետնին:
  • Հաջորդը, մետաղալար տեղադրեք CS- ի (քորոց 2) և գետնի միջև, որպեսզի այն ցածր քաշվի

Ես նաև խորհուրդ կտայի նայել տվյալների թերթիկին, որը ես կցել եմ:

Քայլ 4. Էլեկտրամոնտաժ - TTL տատանում

Հաղորդալարեր - TTL Oscillator
Հաղորդալարեր - TTL Oscillator
Էլեկտրամոնտաժ - TTL Oscillator
Էլեկտրամոնտաժ - TTL Oscillator
  • Մենք TTL Oscillator- ը կդնենք հացահատիկի կողքին, այնպես, որ ժամացույցի ելքային փինն ամենամոտ լինի SAA1099- ի ժամացույցի մուտքին (Pin 8)
  • Կարող եք առաջ գնալ և միացնել հոսանքը և հոսանքը TTL տատանումին: (Ես սպասեցի մինչև հետագայում իմ տեսանյութում, այնպես որ ես նկար չունեմ): Վերոնշյալ նկարը ցույց է տալիս, թե որ քորոցներն են:

Քայլ 5. Լարերի մոնտաժ - Iref և չիպի միջերես

Հաղորդալարեր - Iref և Chip ինտերֆեյս
Հաղորդալարեր - Iref և Chip ինտերֆեյս
Հաղորդալարեր - Iref և Chip ինտերֆեյս
Հաղորդալարեր - Iref և Chip ինտերֆեյս
  • 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

Հաղորդալարեր - Աուդիո Jack
Հաղորդալարեր - Աուդիո Jack
Հաղորդալարեր - Աուդիո Jack
Հաղորդալարեր - Աուդիո Jack
Հաղորդալարեր - Աուդիո Jack
Հաղորդալարեր - Աուդիո 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 (ներ)
Լրացուցիչ LED (ներ)
Լրացուցիչ LED (ներ)
Լրացուցիչ 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 ֆայլերը `փոխակերպման ծրագիր
Օգտագործելով ձեր սեփական MIDI ֆայլերը `փոխակերպման ծրագիր

Պատրա՞ստ եք այլ բան փորձել, քան Բեթհովենը: Շատ լավ, ահա դու գնում ես:

MIDI ֆայլերը C ++ Bytestreams- ի փոխարկելու համար մեզ անհրաժեշտ կլինի Len Shustek- ի ծրագիրը: Նա այն գրադարանի ստեղծողն է, որի հիման վրա ես հիմնեցի իմ կոդը, և իմ գրադարանը օգտագործում է իր կողմից կատարված նույն bytestream ձևաչափը:

  • Theրագիրը կարող եք գտնել https://github.com/LenShustek/miditones կայքում
  • Ձեր ուզած ծրագիրը «miditones.exe» է: Առաջ գնացեք և ներբեռնեք այն:

Քայլ 14: MIDI ֆայլերի փոխարկում

MIDI ֆայլերի փոխակերպում
MIDI ֆայլերի փոխակերպում
MIDI ֆայլերի փոխակերպում
MIDI ֆայլերի փոխակերպում
MIDI ֆայլերի փոխակերպում
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 ֆայլը
Օգտագործելով ձեր փոխարկված MIDI ֆայլը
Օգտագործելով ձեր փոխարկված MIDI ֆայլը
Օգտագործելով ձեր փոխարկված MIDI ֆայլը
Օգտագործելով ձեր փոխարկված MIDI ֆայլը
Օգտագործելով ձեր փոխարկված 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:

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