Turinys:

„Arduino Soundlab“: 3 žingsniai
„Arduino Soundlab“: 3 žingsniai

Video: „Arduino Soundlab“: 3 žingsniai

Video: „Arduino Soundlab“: 3 žingsniai
Video: Arduino soundlab 2024, Lapkritis
Anonim
Image
Image
Statyba
Statyba

Neįtikėtina, kokį platų nuostabių garsų spektrą galima sukurti naudojant FM sintezės techniką, net naudojant paprastą „Arduino“. Ankstesnėje instrukcijoje tai buvo iliustruota sintezatoriumi, turinčiu 12 iš anksto užprogramuotų garsų, tačiau žiūrovas pasiūlė, kad būtų daug vėsiau visiškai valdyti garso parametrus naudojant potenciometrus, ir taip yra!

Šioje garso laboratorijoje tonus galima valdyti pagal 8 parametrus: 4 pagal ADSR voką ir 4 pagal dažnio moduliaciją, lemiančią tekstūrą.

8 potenciometrų pridėjimas kainavo ne raktų skaičių: trys 8 raktų rinkiniai nuskaitomi po kelias mikrosekundes vienas po kito, iš viso 24 klavišai, atitinkantys dvi visas oktavas. Tiesą sakant, du „Arduino“kaiščiai yra nenaudojami ir juos būtų galima išplėsti iki 40 raktų.

Žiūrėkite vaizdo įrašą, kaip išgirsti laukinius garsus, čia yra trumpa apžvalga:

* A = ataka: laikas tonui pasiekti maksimalų garsumą (diapazonas 8ms-2s)

* D = gedimas: laikas tonui nusileisti iki pastovaus garsumo lygio (diapazonas 8ms-2s)

* S = palaikyti: pastovus garsumo lygis (diapazonas 0–100%)

* R = atleidimas: laikas tonui išnykti (diapazonas 8ms-2s)

* f_m: moduliacijos dažnio ir nešiklio dažnio (diapazonas 0,06–16) santykis, mažesnis nei 1, lemia potekstes, o aukštesnės-viršutines

* beta1: FM moduliacijos amplitudė natos pradžioje (diapazonas 0,06-16), dėl mažų verčių garso tekstūra šiek tiek skiriasi. didelės vertės sukelia beprotiškus garsus

* beta2: FM moduliacijos amplitudė natos pabaigoje (diapazonas 0,06-16) Suteikite beta2 kitokią vertę nei beta1, kad garso tekstūra laiku keistųsi.

* tau: greitis, kuriuo FM amplitudė keičiasi iš beta1 į beta 2 (diapazonas 8ms-2s).

1 žingsnis: Statyba

Statyba
Statyba
Statyba
Statyba
Statyba
Statyba

Akivaizdu, kad tai vis dar yra prototipas, tikiuosi, kad vieną dieną aš ar kas nors kitas sukurs didelius ir stiprius bei gražius su dideliais raktais ir tikrais potenciometrų ciferblatais nuostabiame korpuse …

Reikalingi komponentai:

1 „Arduino Nano“(jis neveiks su „Uno“, kuris turi tik 6 analoginius įėjimus)

24 mygtukai

8 potenciometrai, 1kOhm - 100kOhm diapazone

1 10 kOhm potenciometras garsumui reguliuoti

1 kondensatorius - 10 mikrofaradų elektrolitinis

1 3,5 mm ausinių lizdas

1 garso stiprintuvo lustas LM386

2 1000 mikrofaradų elektrolitinis kondensatorius

1 keraminis 1 mikrofaradinis kondensatorius

1 mikro jungiklis

1 8 omų 2 vatų garsiakalbis

1 10x15 cm prototipo lenta

Įsitikinkite, kad suprantate pridėtas schemas. 24 mygtukai yra sujungti į 3 grupes po 8, kuriuos reikia perskaityti D0-D7 ir įjungti D8, D10 ir D11. Puodai turi +5 V įtampą ir įžemina galinius čiaupus, o centriniai čiaupai tiekiami į analoginius įėjimus A0-A7. D9 turi garso išvestį ir yra prijungtas prie kintamosios srovės su 10 kOhm potenciometru, kad būtų galima reguliuoti garsumą. Garso galima klausytis tiesiogiai naudojant ausines arba sustiprinti naudojant LM386 garso stiprintuvo mikroschemą.

Visa tai telpa ant 10x15 cm dydžio prototipo plokštės, tačiau mygtukai yra per arti, kad galėtų gerai žaisti, todėl geriau būtų sukurti didesnę klaviatūrą.

Grandinė gali būti maitinama per „Arduino Nano“USB jungtį arba naudojant išorinį 5 V maitinimo šaltinį. 2xAA baterijų dėžutė, po kurios yra pakopinis keitiklis, yra puikus maitinimo sprendimas.

2 žingsnis: programinė įranga

Įkelkite pridėtą eskizą į „Arduino Nano“ir viskas turėtų veikti.

Kodas yra paprastas ir lengvai keičiamas, nėra mašinos kodo ir nėra pertraukų, tačiau yra keletas tiesioginių sąveikų su registrais, sąveika su laikmačiu, pagreitintas mygtukų nuskaitymas ir ADC elgesio kontrolė. potenciometro rodmenims

3 žingsnis: būsimi patobulinimai

Visuomenės idėjos visada laukiamos!

Mane labiausiai vargina mygtukai: jie yra maži ir spaudžiami stipriai. Būtų tikrai malonu turėti didesnius mygtukus, kuriuos būtų patogiau paspausti. Be to, jėgos ar greičio jautrumo mygtukai leistų valdyti natų garsumą. Galbūt gali veikti 3 krypčių mygtukai ar jutikliniai jutikliai?

Kiti gražūs dalykai būtų garso nustatymų išsaugojimas EEPROM, trumpų melodijų išsaugojimas EEPROM taip pat leistų kurti daug įdomesnę muziką. Galiausiai, būtų galima sukurti sudėtingesnius garsus, jei kas nors žinotų, kaip efektyviai skaičiuoti generuoti mušamuosius garsus, tai būtų nuostabu …

Rekomenduojamas: