Turinys:

Muzikinė skaitmeninė sąsaja: 6 žingsniai (su paveikslėliais)
Muzikinė skaitmeninė sąsaja: 6 žingsniai (su paveikslėliais)

Video: Muzikinė skaitmeninė sąsaja: 6 žingsniai (su paveikslėliais)

Video: Muzikinė skaitmeninė sąsaja: 6 žingsniai (su paveikslėliais)
Video: Serijos „Horizontai“ lietuvių kalbos etapinės užduotys 7 klasei: vertė mokiniui ir mokytojui 2024, Lapkritis
Anonim
Muzikinė skaitmeninė sąsaja
Muzikinė skaitmeninė sąsaja

Sveiki visi, Norėčiau parodyti jums savo muzikinę skaitmeninę sąsają. Aš tai padariau per savo techninio garso laipsnį, tai yra mano mokslinis darbas. Pirmiausia paklausiau, kaip galiu kurti muziką be DAW, naudojant perdirbtas medžiagas ir galimybę groti atskirai.

Šioje pamokoje aš išmokysiu jus naudoti serijinį ryšį, kad būtų galima siųsti/gauti jutiklių (analoginius ir skaitmeninius) duomenis iš „Arduino“į „Raspberry pi“link programinės įrangos „puredata“, kad būtų paleistas garsas.

Reikalingos medžiagos yra:

x1 Laisvė

x1 Apsauga nuo PI3

x1 „Micro SD“(32G)

x1 Laisvė

x1 Jutiklis IR Sharp GP2Y0E02B

x1 Švč

x1 Plokštelės bandymo matuoklis (0,2)

x28 Varža 10MΩ

x2 Varža 1,8 kΩ

x1 Varža 10kΩ

x20 Gnybtų kilpos Vyriškas/Moteriškas

x1 Lituoklio laikiklis

x1 alavo ritė (1 metras)

x1 lituoklis

x25 lankstūs dirželiai vyriškos/vyriškos lyties

1 žingsnis: jutikliai

Jutikliai
Jutikliai
Jutikliai
Jutikliai
Jutikliai
Jutikliai

Aš naudoju 4 pjezoelektrinius įrenginius, gautus iš „Guitar Hero“„Harmonix XBOX 360“nuotolinio valdymo pulto. Naudojau įjungimo/išjungimo mygtuką, nes „jam foot“pedalo gitaros herojaus nuotolinio valdymo pulto magnetas buvo išjungtas.

Naudojau „Sharp GP2Y0E02B“IR jutiklį. Visiems šiems jutikliams padariau ištraukiamąjį mazgą, kad jis veiktų efektyviai …

Taigi empiriškai radau mygtuko jutiklio ir IR jutiklio pasipriešinimo vertę. Tačiau aš išbandžiau pjezoelektrinį, kad sužinotų visą šio skalę, ir nustatytą atsparumo vertę, reikalingą ir pritaikytą 4 analoginiams jutikliams.

2 žingsnis: Pull-up montavimas

Pull-up montažas
Pull-up montažas
Pull-up montažas
Pull-up montažas
Pull-up montažas
Pull-up montažas
Pull-up montažas
Pull-up montažas

Išbandęs pjezoelektrą su įtampos generatoriumi, aš nustatiau varžos vertę 7MΩ.

Mygtuko varžos surinkimo traukimas buvo 10 kΩ.

IR jutikliui aš naudoju du 1, 8 kΩ varžą tarp atitinkamai maitinimo įtampos ir SDA (duomenys) bei SCL (laikrodis).

Būkite atsargūs, nes šios pasipriešinimo vertės yra RTX Arduino UNO; Ką reikia žinoti apie „Arduino“varžos įvestį: 10MΩ.

Pritraukiamąjį montažą galite pamatyti paskutinėje šio žingsnio nuotraukoje; Aš pritvirtinau pjezoelektrinius diržus 0 1 2 3 smeigtukuose UNO, mygtuko dirželį 2 skaitmeniniuose kaiščiuose, bet nurodiau 6 kaiščių vertę UNO ir IR jutiklio juostelėje 4 5 kaiščiuose UNO, visus analoginius „Arduino Uno“įėjimus.

3 žingsnis: koduokite „Arduino“

Siekiant užtikrinti, kad operacija būtų veiksminga, išbandžiau jutiklių informacijos siuntimą/gavimą į „Arduino“.

Aš įtraukiau failus į aprašymą, bet juos galite rasti „Arduino Genuino“programavimo pavyzdžių skiltyje, išskyrus IR jutiklį, nes jis nėra baigtas, aš pakeičiau keletą informacijos skyriuje „apibrėžti“, pavyzdžiui, „poslinkis“, ir pakeičiau matavimo skaičiavimą, kad jis būtų įprastas atstumo variacijose. Turbūt matėte IR laido kodą "Viela". Iš tikrųjų aš naudoju I2C protokolą bendravimui. Kviečiu pamatyti labai įdomų I2C protokolą, kurį galite naudoti norėdami perduoti visus norimus skaitmeninius jutiklius realiuoju laiku.

4 žingsnis: abu „Arduino Raspberry“serijos ryšiai

Abi „Arduino Raspberry“serijos komunikacijos
Abi „Arduino Raspberry“serijos komunikacijos
Abi „Arduino Raspberry“serijos komunikacijos
Abi „Arduino Raspberry“serijos komunikacijos

Taip: D

Kaip matote pirmame paveikslėlyje, nuoroda „Arduino-Raspberry“yra USB kištukas.

Radau būdą gauti jutiklių informaciją tiesiogiai iš „PureData Extented“, įdiegtos „Raspberry PI“. Kodėl „PureData“išplėsta? Kadangi „Vanilla“versija nenaudoja tos pačios bibliotekos kaip programa „Raspbian“aplinkoje.

Taigi paleiskite „StandardFirmata“„Arduino Genuino“, kad teisingai ištaisytumėte įvesties/išvesties ir vertės pokyčius!

Norėdami atgauti „Value“informaciją „Raspberry PI“, yra 2 protokolai: „Firmata“ir „Msg“.

Aš renkuosi „Firmata“dėl vienos priežasties, buvo lengviau gauti informaciją „PureData“per „Pduino“pataisą, vieną aplinką.

Kviečiu jus atrasti „Msg“, jei naudojate OSC protokolą.

5 veiksmas: gautas „PureData Patch“

Gautas „PureData Patch“
Gautas „PureData Patch“

Iš tiesų, po kelių savaičių kodavimo naudojant „Genuino“, man pavyko gauti visą savo jutiklio informaciją viename puslapyje; tai leido pamatyti realaus laiko skirtumus, nes „Pduino“, pleistras „Puredata“, papildomos sekcijų bibliotekos.

Nuo šio žingsnio mes daugiau neliesime „Arduino“kodo. „Value“informacija yra skaitoma.

Kaip pastebėjau atlikdamas 3 veiksmą, gavau informaciją iš 6 kontaktų analoginio skaitmeninio mygtuko, nesunku pamatyti efektyvų ryšio veikimą. Viskas vienoje eilutėje.

6 žingsnis: kurkite „PureData“

„PureData“kūrimas
„PureData“kūrimas
„PureData“kūrimas
„PureData“kūrimas
„PureData“kūrimas
„PureData“kūrimas
„PureData“kūrimas
„PureData“kūrimas

„PureData“yra specifinė kalba ir jūs turite praleisti laisvalaikį, kad sėkmingai atliktumėte gražų kratinį.

Kai kurie „PureData“pleistrai bus prieinami „GitHub“.

Tikiuosi, kad tai, ką čia parašiau, padėjo jums pradėti savo projektą arti mano.

Rekomenduojamas: