INHOUDSOPGAWE:

Musikale digitale koppelvlak: 6 stappe (met foto's)
Musikale digitale koppelvlak: 6 stappe (met foto's)

Video: Musikale digitale koppelvlak: 6 stappe (met foto's)

Video: Musikale digitale koppelvlak: 6 stappe (met foto's)
Video: RIVM LMRA Top of flop 2024, November
Anonim
Musikale digitale koppelvlak
Musikale digitale koppelvlak

Welkom almal, Ek wil u my eie musikale digitale koppelvlak wys. Ek het dit tydens my tegniese klankgraad behaal; dit is my navorsingsartikels. Om te begin, het ek my gevra hoe ek musiek sonder DAW kan saamstel, met herwinde voorrade en moontlikheid om selfstandig te speel.

In hierdie instruksies sal ek u leer hoe om seriële kommunikasie te gebruik om sensors (analoog en digitaal) inligting van Arduino na Raspberry pi te stuur/ontvang vir sagteware -puredata om 'n geluid te aktiveer.

Die benodigde materiaal is:

x1 Framboos PI3

x1 Boîter de protection PI3

x1 Micro SD (32G)

x1 Arduino UNO

x1 Sensor IR Sharp GP2Y0E02B

x1 Broodbord

x1 Plaat toetsmeter (0.2)

x28 Weerstand 10MΩ

x2 Weerstand 1.8kΩ

x1 Weerstand 10kΩ

x20 Eindpunte Man/Vrou

x1 Soldeerdraer

x 1 spoelblik (1 meter)

x1 Soldeerbout

x25 Buigbare bandjies Man/man

Stap 1: Sensors

Sensors
Sensors
Sensors
Sensors
Sensors
Sensors

Ek gebruik 4 piëzo -elektriese afkomstig van die "Guitar Hero" Harmonix XBOX 360 afstandsbediening. Ek het 'n knoppie aan/uit gebruik, want die magnetiese rietskakelaar van die voetpedaal kitaarheld se afstandsbediening was uit.

Ek het 'n IR-sensor Sharp GP2Y0E02B gebruik. Vir al hierdie sensors het ek 'n optrekfunksie gedoen om effektief te werk …

Sodat ek empiries die weerstandswaarde van knoppiesensor en IR -sensor gevind het. Ek het egter piëzo -elektriese getoets om die volle omvang van hierdie een te ken, en die waarde van die vaste weerstand wat nodig is, en toegepas op die 4 analoog sensors.

Stap 2: Trek-op-montage

Oprolbare montage
Oprolbare montage
Oprolbare montage
Oprolbare montage
Oprolbare montage
Oprolbare montage
Oprolbare montage
Oprolbare montage

Nadat ek die piëzo -elektrisiteit met die spanningsopwekker getoets het, het ek die waarde van die weerstand vasgestel op 7MΩ.

Die opneem van die knoppieweerstand was 10 kΩ.

Vir IR -sensor het ek twee 1, 8kΩ weerstand gebruik tussen die onderskeidelik voedingsspanning en SDA (data) en SCL (klok).

Wees versigtig, want die waardes van die weerstand is vir RTX Arduino UNO; iets om te weet oor Arduino -impedansie -invoer: 10MΩ.

U kan die opneem-montage op die laaste prentjie van hierdie stap sien; Ek het piëzo -elektriese bande vasgemaak in 0 1 2 3 penne op UNO, knoppieband in 2 digitale pen, maar kommunikeer die waarde op 6 pen op UNO en IR sensor band in 4 5 penne op UNO, almal analoog insette van die Arduino Uno.

Stap 3: Kode Arduino

Om te verseker dat die operasie effektief was, het ek getoets om inligting van sensors na Arduino te stuur/ontvang.

Ek het lêers in die beskrywing geplaas, maar u kan dit vind in die voorbeelde van die Arduino Genuino -programmering, behalwe IR -sensor omdat dit nie volledig is nie, ek het min inligting in die afdeling "definieer" soos "shift" verander en ek het die metingsberekening verander na gereeld in afstandsvariasies. U het waarskynlik 'draad' in IR -sensorkode gesien. Ek het inderdaad die I2C-protokol gebruik om te kommunikeer.

Stap 4: Beide Arduino Raspberry Serial Communication

Beide Arduino Raspberry Serial Communication
Beide Arduino Raspberry Serial Communication
Beide Arduino Raspberry Serial Communication
Beide Arduino Raspberry Serial Communication

Ja: D

Soos u op die eerste foto kan sien, is die skakel Arduino-Raspberry 'n USB-aansluiting.

Ek het 'n manier gevind om sensor se inligting direk te ontvang deur PureData Extented wat in Raspberry PI geïnstalleer is. Waarom PureData verleng? Omdat die Vanilla -weergawe nie dieselfde biblioteek gebruik as 'n toepassing in Raspbian -omgewing nie.

Begin StandardFirmata dus in Arduino Genuino om I/O en variasies op die regte manier op te los!

Om inligting oor waarde in Raspberry PI terug te kry, bestaan daar twee protokolle: Firmata en Msg.

Ek kies Firmata om een rede; dit was makliker om inligting in PureData te kry via patch Pduino, een omgewing.

Ek nooi u uit om Msg te ontdek as u OSC -protokol gebruik.

Stap 5: PureData -pleister ontvang

PureData -pleister ontvang
PureData -pleister ontvang

Na weke se kodering op Genuino, het ek daarin geslaag om al die inligting van my sensor op een bladsy te ontvang, wat dit moontlik gemaak het om intydse variasies te sien danksy Pduino, 'n pleister in Puredata, ekstra biblioteke.

Vanaf hierdie stap raak ons nie meer aan die Arduino -kode nie. Value se inligting is leesbaar.

Soos ek in stap 3 opgemerk het, het ek inligting ontvang van 'n digitale knoppie in 'n 6 -pins analoog; dit was eenvoudig om die effektiewe kommunikasie te sien. Alles in een reël.

Stap 6: Ontwikkeling van PureData

Ontwikkeling PureData
Ontwikkeling PureData
Ontwikkeling PureData
Ontwikkeling PureData
Ontwikkeling PureData
Ontwikkeling PureData
Ontwikkeling PureData
Ontwikkeling PureData

PureData is 'n spesifieke taal, en u moet u vrye tyd spandeer om mooi lapwerk te doen.

Sommige PureData -pleisters sal beskikbaar wees in GitHub.

Ek hoop dat wat ek hier geskryf het u gehelp het om u eie projek naby myne te begin.

Aanbeveel: