Indholdsfortegnelse:

Musikalsk digitalt interface: 6 trin (med billeder)
Musikalsk digitalt interface: 6 trin (med billeder)

Video: Musikalsk digitalt interface: 6 trin (med billeder)

Video: Musikalsk digitalt interface: 6 trin (med billeder)
Video: Такие секреты уже все забыли, но их стоит знать! Полезные советы на все случаи жизни! 2024, Juli
Anonim
Musikalsk digitalt interface
Musikalsk digitalt interface

Velkommen alle sammen, Jeg vil gerne vise dig mit eget musikalske digitale interface. Jeg klarede det under min tekniske lydgrad, dette er mine forskningsartikler. Til at begynde med spurgte jeg mig, hvordan jeg kan komponere musik uden DAW, med genbrugsartikler og mulighed for at spille selvstændigt.

I denne instruktive vil jeg lære dig, hvordan du bruger seriel kommunikation til at sende/modtage sensorer (analog og digital) information fra Arduino til Raspberry pi mod software puredata til at udløse en lyd.

Nødvendige materialer er:

x1 Hindbær PI3

x1 Boîter de protection PI3

x1 Micro SD (32G)

x1 Arduino UNO

x1 Sensor IR Sharp GP2Y0E02B

x1 Brødbord

x1 Pladetestmåler (0,2)

x28 Modstand 10MΩ

x2 Modstand 1.8kΩ

x1 Modstand 10kΩ

x20 Terminalsko Han/Kvinde

x1 Loddebærer

x1 spole tin (1 meter)

x1 Loddejern

x25 Fleksible stropper Mand/han

Trin 1: Sensorer

Sensorer
Sensorer
Sensorer
Sensorer
Sensorer
Sensorer

Jeg brugte 4 piezoelektriske kommer fra "Guitar Hero" Harmonix XBOX 360 fjernbetjening. Jeg brugte en knap til/fra, fordi magnetisk reed switch af jam foot pedal guitar hero remote var ude.

Jeg brugte en IR-sensor Sharp GP2Y0E02B. For alle disse sensorer lavede jeg pull-up-samling for effektiv drift …

Så empirisk fandt jeg modstandsværdi for knappesensor og IR -sensor. Men jeg testede piezoelektrisk for at kende fuld skala af denne, og fast modstandsværdi kræves og anvendes til de 4 analoge sensorer.

Trin 2: Træk op-montage

Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage
Pull-up Montage

Efter at have testet piezoelektrisk med spændingsgenerator, fikserede jeg modstandsværdien til 7MΩ.

Knapmodstandsmodulets pull-up var 10 kΩ.

Til IR -sensor brugte jeg to 1, 8kΩ modstand mellem henholdsvis forsyningsspænding og SDA (data) og SCL (ur).

Vær forsigtig, fordi disse modstands værdier er for RTX Arduino UNO; noget at vide om Arduino -impedansindgang: 10MΩ.

Du kan se pull-up-montagen på det sidste billede af dette trin; Jeg fikserede remme piezoelektriske i 0 1 2 3 pins på UNO, knaprem i 2 digitale ben, men kommunikerer værdien på 6 ben på UNO og IR sensorrem i 4 5 ben på UNO, alle analoge indgange på Arduino Uno.

Trin 3: Kode Arduino

For at sikre, at operationen var effektiv, testede jeg sende/modtage oplysninger om sensorer til Arduino.

Jeg lagde filer i beskrivelsen, men du kan finde dem i afsnittet eksempler på Arduino Genuino -programmering, undtagen IR -sensor, fordi den ikke er komplet, jeg har ændret få oplysninger i afsnittet "definer" som "skift", og jeg ændrede måleberegning til at være regelmæssig i afstandsvariationer. Du har sandsynligvis set "Wire" i IR -sensorkode. Jeg brugte faktisk I2C-protokollen til at kommunikere. Jeg inviterer dig til at se I2C-protokollen, meget interessant, du kan bruge denne til at transmittere alle de digitale sensorer, du ønsker i realtid.

Trin 4: Både Arduino hindbær seriel kommunikation

Både Arduino hindbær seriel kommunikation
Både Arduino hindbær seriel kommunikation
Både Arduino hindbær seriel kommunikation
Både Arduino hindbær seriel kommunikation

Ja: D

Som du kan se på det første billede, er linket Arduino-Raspberry et USB-stik.

Jeg fandt en måde at modtage sensorers oplysninger direkte af PureData Extented, der er installeret i Raspberry PI. Hvorfor PureData Extended? Fordi Vanilla -versionen ikke bruger det samme bibliotek end et program i Raspbian -miljø.

Så start StandardFirmata i Arduino Genuino for at reparere I/O og værdiansætte variationer på den rigtige måde!

For at få værdians oplysninger tilbage i Raspberry PI findes der 2 protokoller: Firmata og Msg.

Jeg vælger Firmata af en grund, det var mere enkelt at få oplysninger i PureData via patch Pduino, en miljø.

Jeg inviterer dig til at opdage Msg, hvis du bruger OSC -protokol.

Trin 5: PureData Patch modtaget

PureData Patch modtaget
PureData Patch modtaget

Efter ugers kodning på Genuino lykkedes det mig faktisk at modtage alle mine sensors oplysninger på en side, dette tillod at se variationer i realtid takket være Pduino, en patch i Puredata, sektion librairies ekstra.

Fra dette trin berører vi ikke længere Arduino -koden. Værdis oplysninger er læsbare.

Som jeg bemærkede i trin 3, modtog jeg informationer fra digital knap i 6 -bens analog, det var enkelt at se effektiv kommunikation. Alt i en linje.

Trin 6: Udvikling af PureData

Udvikling PureData
Udvikling PureData
Udvikling PureData
Udvikling PureData
Udvikling PureData
Udvikling PureData
Udvikling PureData
Udvikling PureData

PureData er et specifikt sprog, og du skal bruge din fritid for at lykkes med at lave flotte patchwork.

Nogle af PureData -patcherne vil være tilgængelige i GitHub.

Jeg håber, at det, jeg skrev her, hjalp dig med at starte dit eget projekt tæt på mit.

Anbefalede: