Innholdsfortegnelse:

Musikalsk digitalt grensesnitt: 6 trinn (med bilder)
Musikalsk digitalt grensesnitt: 6 trinn (med bilder)

Video: Musikalsk digitalt grensesnitt: 6 trinn (med bilder)

Video: Musikalsk digitalt grensesnitt: 6 trinn (med bilder)
Video: How to Turn Photos into Cartoons on Canva (A Step-by-Step Canva Tutorial for Beginners) 2024, November
Anonim
Musikalsk digitalt grensesnitt
Musikalsk digitalt grensesnitt

Velkommen alle sammen, Jeg vil gjerne vise deg mitt eget musikalske digitale grensesnitt. Jeg klarte det under min tekniske lydgrad, dette er mine forskningsartikler. Til å begynne med spurte jeg meg hvordan jeg kan komponere musikk uten DAW, med resirkulerte rekvisita og mulighet til å spille fritt.

I denne instruksen vil jeg lære deg hvordan du bruker seriell kommunikasjon til å sende/motta sensorer (analog og digital) informasjon fra Arduino til Raspberry pi mot programvarepuredata for å utløse en lyd.

Materialer som kreves er:

x1 Raspberry PI3

x1 Boîter de protection PI3

x1 Micro SD (32G)

x1 Arduino UNO

x1 Sensor IR Sharp GP2Y0E02B

x1 Brødbord

x1 Plate testmåler (0,2)

x28 Motstand 10MΩ

x2 Motstand 1.8kΩ

x1 Motstand 10kΩ

x20 Terminalsko Han/Kvinne

x1 Loddebærer

x1 tinnspole (1 meter)

x1 Loddejern

x25 Fleksibel stropper Mann/hann

Trinn 1: Sensorer

Sensorer
Sensorer
Sensorer
Sensorer
Sensorer
Sensorer

Jeg brukte 4 piezoelektriske kommer fra "Guitar Hero" Harmonix XBOX 360 fjernkontroll. Jeg brukte en knapp på/av fordi sivbryteren magnetisk av jam foot pedal guitar hero remote var ute.

Jeg brukte en IR-sensor Sharp GP2Y0E02B. For alle disse sensorene gjorde jeg pull-up-montering for effektiv drift …

Så at jeg empirisk fant motstandsverdi for knappesensor og IR -sensor. Imidlertid testet jeg piezoelektrisk for å vite hele skalaen til denne, og fast motstandsverdi er nødvendig og anvendt for de 4 analoge sensorene.

Trinn 2: Trekk opp montasje

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

Etter å ha testet piezoelektrisk med spenningsgenerator, fikset jeg motstandsverdien til 7MΩ.

Knappmotstandsoppsettet var 10 kΩ.

For IR -sensor brukte jeg to 1, 8kΩ motstand mellom henholdsvis forsyningsspenning og SDA (data) og SCL (klokke).

Vær forsiktig fordi motstandens verdier er for RTX Arduino UNO; noe å vite om Arduino impedansinngang: 10MΩ.

Du kan se pull-up-montasjen på det siste bildet av dette trinnet; Jeg fikset stropper piezoelektriske i 0 1 2 3 pinner på UNO, knappestropp i 2 digitale pinner, men kommuniserer verdien på 6 pinner på UNO og IR sensorrem i 4 5 pinner på UNO, alle analoge innganger på Arduino Uno.

Trinn 3: Kode Arduino

For å sikre at operasjonen var effektiv testet jeg sende/motta informasjon om sensorer til Arduino.

Jeg legger filer i beskrivelsen, men du kan finne dem i eksempler på Arduino Genuino -programmering, bortsett fra IR -sensor fordi den ikke er fullstendig, jeg har endret få opplysninger i delen "definere" som "skift" og jeg endret måleberegning til å være vanlig i avstandsvariasjoner. Du har sannsynligvis sett "Wire" i IR -sensorkode. Jeg brukte faktisk I2C-protokollen for å kommunisere. Jeg inviterer deg til å se I2C-protokollen, veldig interessant, du kan bruke denne til å overføre alle digitalsensorer du ønsker i sanntid.

Trinn 4: Både Arduino Raspberry Serial Communication

Både Arduino Raspberry Serial Communication
Både Arduino Raspberry Serial Communication
Både Arduino Raspberry Serial Communication
Både Arduino Raspberry Serial Communication

Ja: D

Som du kan se på det første bildet, er lenken Arduino-Raspberry USB-plugg.

Jeg fant en måte å motta sensors informasjon direkte av PureData Extented som er installert i Raspberry PI. Hvorfor PureData Extended? Fordi Vanilla -versjonen ikke bruker det samme biblioteket enn et program i Raspbian -miljø.

Så start StandardFirmata i Arduino Genuino for å fikse I/O og verdivariasjoner på riktig måte!

For å få tilbake verdis informasjon i Raspberry PI, finnes det 2 protokoller: Firmata og Msg.

Jeg velger Firmata av en grunn, det var enklere å få informasjon i PureData via patch Pduino, ett miljø.

Jeg inviterer deg til å oppdage Msg hvis du bruker OSC -protokollen.

Trinn 5: PureData Patch mottatt

PureData -oppdatering mottatt
PureData -oppdatering mottatt

Faktisk, etter flere ukers koding på Genuino, lyktes jeg med å motta all sensorinformasjon på en side, dette tillot å se variasjoner i sanntid takket være Pduino, en oppdatering i Puredata, seksjon librairies ekstra.

Fra dette trinnet berører vi ikke lenger Arduino -koden. Value informasjon er lesbar.

Som jeg la merke til i trinn 3, mottok jeg informasjon fra digital knapp i 6 -pinners analog, det var enkelt å se effektiv kommunikasjon. Alt på en linje.

Trinn 6: Utvikling av PureData

Utvikling PureData
Utvikling PureData
Utvikling PureData
Utvikling PureData
Utvikling PureData
Utvikling PureData
Utvikling PureData
Utvikling PureData

PureData er et bestemt språk, og du må bruke fritiden din for å lykkes med å gjøre fine lappetepper.

Noen av PureData -oppdateringen vil være tilgjengelig i GitHub.

Jeg håper at det jeg skrev her hjalp deg med å starte ditt eget prosjekt nær mitt.

Anbefalt: