Innehållsförteckning:

Musikaliskt digitalt gränssnitt: 6 steg (med bilder)
Musikaliskt digitalt gränssnitt: 6 steg (med bilder)

Video: Musikaliskt digitalt gränssnitt: 6 steg (med bilder)

Video: Musikaliskt digitalt gränssnitt: 6 steg (med bilder)
Video: Fotografera med digital systemkamera 1:6:4- Bländare 2024, Juli
Anonim
Musikaliskt digitalt gränssnitt
Musikaliskt digitalt gränssnitt

Välkomna allihopa, Jag skulle vilja visa dig mitt eget musikaliska digitala gränssnitt. Jag gjorde det under min tekniska ljudexamen, det här är mina forskningsartiklar. Till att börja med frågade jag mig hur jag kan komponera musik utan DAW, med återvunnet material och möjlighet att spela fristående.

I den här instruktören kommer jag att lära dig hur du använder seriell kommunikation för att skicka/ta emot sensorer (analog och digital) information från Arduino till Raspberry pi mot programvarupuredata för att utlösa ett ljud.

Material som krävs är:

x1 Hallon PI3

x1 Boîter de protection PI3

x1 Micro SD (32G)

x1 Arduino UNO

x1 Sensor IR Sharp GP2Y0E02B

x1 Brödbord

x1 Tallrikstestmätare (0,2)

x28 Motstånd 10MΩ

x2 Motstånd 1,8 kΩ

x1 Motstånd 10kΩ

x20 Anslutningsöglor Man/Kvinna

x1 Lödbärare

x1 spole av tenn (1 meter)

x1 Lödkolv

x25 flexibla remmar hane/hane

Steg 1: Sensorer

Sensorer
Sensorer
Sensorer
Sensorer
Sensorer
Sensorer

Jag använde 4 piezoelektriska från "Guitar Hero" Harmonix XBOX 360 -fjärrkontroll. Jag använde en knapp på/av eftersom magnetknappen för vassomkopplare av pedalen för gitarrhjälten var ute.

Jag använde en IR-sensor Sharp GP2Y0E02B. För alla dessa sensorer gjorde jag uppdragning för effektiv drift …

Så att jag empiriskt hittade motståndsvärde mot knappsensor och IR -sensor. Men jag testade piezoelektriska för att veta hela skalan av den här, och fast resistansvärde krävs och tillämpas för de 4 analoga sensorerna.

Steg 2: Dra upp montage

Uppdragbar montage
Uppdragbar montage
Uppdragbar montage
Uppdragbar montage
Uppdragbar montage
Uppdragbar montage
Uppdragbar montage
Uppdragbar montage

Efter att ha testat piezoelektrisk med spänningsgenerator fixerade jag motståndets värde till 7MΩ.

Knappmotståndets uppdragning var 10 kΩ.

För IR -sensor använde jag två 1, 8kΩ motstånd mellan respektive matningsspänning och SDA (data) och SCL (klocka).

Var försiktig eftersom motståndets värden är för RTX Arduino UNO; något att veta om Arduino -impedansingång: 10MΩ.

Du kan se uppdragsmonteringen på den sista bilden i detta steg; Jag fixade remmar piezoelektriska i 0 1 2 3 stift på UNO, knapprem i 2 digitala stift men kommunicerar värdet på 6 stift på UNO och IR sensorband i 4 5 stift på UNO, alla analoga ingångar på Arduino Uno.

Steg 3: Kod Arduino

För att säkerställa att operationen var effektiv testade jag skicka/ta emot information om sensorer till Arduino.

Jag lägger in filer i beskrivningen men du kan hitta dem i exempelavsnittet i Arduino Genuino -programmering, förutom IR -sensor eftersom den inte är komplett, jag har ändrat få informationer i avsnittet "definiera" som "skift" och jag ändrade mätberäkning till att vara regelbunden i distansvariationer. Du har förmodligen sett "Wire" i IR -sensorkod. Jag använde faktiskt I2C-protokollet för att kommunicera. Jag inbjuder dig att se I2C-protokollet, mycket intressant, du kan använda den här för att i realtid överföra alla digitalsensorer som du vill ha.

Steg 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å den första bilden är länken Arduino-Raspberry USB-kontakt.

Jag hittade ett sätt att ta emot sensors information direkt av PureData Extented som är installerat i Raspberry PI. Varför PureData Extended? Eftersom vaniljversionen inte använder samma bibliotek än ett program i Raspbian -miljö.

Så starta StandardFirmata i Arduino Genuino för att fixa I/O och värdera variationer på rätt sätt!

För att få tillbaka värdeinformation i Raspberry PI finns det två protokoll: Firmata och Msg.

Jag väljer Firmata av en anledning, det var enklare att få information i PureData via patch Pduino, en miljö.

Jag inbjuder dig att upptäcka Msg om du använder OSC -protokoll.

Steg 5: PureData Patch mottagen

PureData Patch mottagen
PureData Patch mottagen

Faktum är att efter flera veckors kodning på Genuino lyckades jag ta emot all min sensors information på en sida, detta gjorde det möjligt att se variationer i realtid tack vare Pduino, en patch i Puredata, avsnitt librairies extra.

Från detta steg berör vi inte längre Arduino -koden. Value information är läsbar.

Som jag märkte i steg 3 fick jag information från digital knapp i 6 -stifts analog, det var enkelt att se effektiv kommunikation. Allt på en rad.

Steg 6: Utveckling PureData

Utveckling PureData
Utveckling PureData
Utveckling PureData
Utveckling PureData
Utveckling PureData
Utveckling PureData
Utveckling PureData
Utveckling PureData

PureData är ett specifikt språk och du måste spendera din fritid för att lyckas med fina lapptäcken.

Några av PureData -patchen kommer att finnas tillgängliga i GitHub.

Jag hoppas att det jag skrev här hjälpte dig att starta ditt eget projekt nära mitt.

Rekommenderad: