Inhoudsopgave:

Muzikale digitale interface: 6 stappen (met afbeeldingen)
Muzikale digitale interface: 6 stappen (met afbeeldingen)

Video: Muzikale digitale interface: 6 stappen (met afbeeldingen)

Video: Muzikale digitale interface: 6 stappen (met afbeeldingen)
Video: Werken met Canon DPP | Deel 1 Download en interface (Dutch) 2024, November
Anonim
Muzikale digitale interface
Muzikale digitale interface

Welkom iedereen, Ik wil je graag mijn eigen Musical Digital Interface laten zien. Ik heb het gehaald tijdens mijn technische opleiding, dit zijn mijn onderzoekspapers. Om te beginnen vroeg ik me hoe ik muziek kan componeren zonder DAW, met gerecyclede benodigdheden en de mogelijkheid om in stand-alone te spelen.

In deze instructable leer ik je hoe je seriële communicatie kunt gebruiken om sensoren (analoog en digitaal) informatie van Arduino naar Raspberry pi te verzenden / ontvangen naar software puredata voor het activeren van een geluid.

Benodigde materialen zijn:

x1 Framboos PI3

x1 Boîter de bescherming PI3

x1 Micro-SD (32G)

x1 Arduino UNO

x1 Sensor IR Sharp GP2Y0E02B

x1 Broodplank

x1 Plaattestmeter (0,2)

x28 Weerstand 10MΩ

x2 Weerstand 1.8kΩ

x1 Weerstand 10kΩ

x20 aansluitklemmen mannelijk/vrouwelijk

x1 Soldeerdrager

x1 rol blik (1 meter)

x1 soldeerbout

x25 Flexibles Bandjes Man/Man

Stap 1: Sensoren

Sensoren
Sensoren
Sensoren
Sensoren
Sensoren
Sensoren

Ik gebruikte 4 piëzo-elektrische afkomstig van "Guitar Hero" Harmonix XBOX 360-afstandsbediening. Ik gebruikte een knop aan / uit omdat de reed-schakelaar magnetisch van jam voetpedaal Guitar Hero-afstandsbediening uit was.

Ik heb een IR-sensor Sharp GP2Y0E02B gebruikt. Voor al deze sensoren heb ik de montage opgetrokken voor een effectieve werking …

Zodat ik empirisch de weerstandswaarde vond tegen de knopsensor en IR-sensor. Ik heb echter piëzo-elektrisch getest om de volledige schaal van deze te kennen, en de waarde van de vaste weerstand die vereist en toegepast is voor de 4 analoge sensoren.

Stap 2: Optrekmontage

Optrekmontage
Optrekmontage
Optrekmontage
Optrekmontage
Optrekmontage
Optrekmontage
Optrekmontage
Optrekmontage

Na het testen van piëzo-elektrisch met een spanningsgenerator, heb ik de waarde van de weerstand vastgesteld op 7MΩ.

De pull-up van de knopweerstand was 10 kΩ.

Voor de IR-sensor heb ik twee weerstanden van 1, 8kΩ gebruikt tussen respectievelijk voedingsspanning en SDA (data) en SCL (klok).

Wees voorzichtig, want de waarden van die weerstand zijn voor RTX Arduino UNO; iets om te weten over Arduino-impedantie-invoer: 10MΩ.

Je kunt de pull-up montage zien op de laatste foto van deze stap; Ik heb piëzo-elektrische riemen vastgemaakt in 0 1 2 3 pinnen op UNO, knopriem in 2 digitale pins, maar communiceer de waarde op 6-pins op UNO en IR-sensorriem in 4 5 pinnen op UNO, alle analoge ingangen van de Arduino Uno.

Stap 3: Codeer Arduino

Om er zeker van te zijn dat de operatie effectief was, heb ik de verzend-/ontvangstinformatie van sensoren naar Arduino getest.

Ik heb bestanden in de beschrijving geplaatst, maar je kunt ze vinden in het gedeelte voorbeelden van Arduino Genuino-programmering, behalve IR-sensor omdat het niet compleet is, ik heb weinig informatie gewijzigd in de sectie "definiëren" zoals "shift" en ik heb de meetberekening gewijzigd om regelmatig te zijn in afstandsvariaties. Je hebt waarschijnlijk "Draad" gezien in de IR-sensorcode. Ik heb inderdaad het I2C-protocol gebruikt om te communiceren. Ik nodig je uit om het I2C-protocol te zien, erg interessant, je kunt dit gebruiken om in realtime alle digitale sensoren te verzenden die je wilt.

Stap 4: Beide Arduino Raspberry Seriële Communicatie

Beide Arduino Raspberry Seriële Communicatie
Beide Arduino Raspberry Seriële Communicatie
Beide Arduino Raspberry Seriële Communicatie
Beide Arduino Raspberry Seriële Communicatie

Ja:D

Zoals je op de eerste foto kunt zien, is de link Arduino-Raspberry een USB-stekker.

Ik heb een manier gevonden om de informatie van sensoren rechtstreeks te ontvangen door PureData Extented die is geïnstalleerd in Raspberry PI. Waarom PureData Extended? Omdat de Vanilla-versie niet dezelfde bibliotheek gebruikt als een applicatie in Raspbian-omgeving.

Start dus StandardFirmata in Arduino Genuino om I/O- en waardevariaties op de juiste manier op te lossen!

Om de informatie van de waarde in Raspberry PI terug te krijgen, bestaan er 2 protocollen: Firmata en Msg.

Ik heb om één reden voor Firmata gekozen, het was eenvoudiger om informatie in PureData te krijgen via patch Pduino, een omgeving.

Ik nodig je uit om Msg te ontdekken als je het OSC-protocol gebruikt.

Stap 5: PureData-patch ontvangen

PureData-patch ontvangen
PureData-patch ontvangen

Inderdaad, na weken coderen op Genuino, ben ik erin geslaagd om alle informatie van mijn sensor op één pagina te ontvangen, dit maakte het mogelijk om variaties in realtime te zien dankzij Pduino, een patch in Puredata, sectiebibliotheken extra.

Vanaf deze stap raken we de Arduino-code niet meer aan. De informatie van Value is leesbaar.

Zoals ik in stap 3 opmerkte, ontving ik informatie van de digitale knop in 6-pins analoog, het was eenvoudig om de effectieve werking van de communicatie te zien. Alles op één lijn.

Stap 6: Ontwikkeling PureData

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

PureData is een specifieke taal en je moet je vrije tijd besteden om mooi patchwork te doen.

Een deel van de PureData-patch zal beschikbaar zijn in GitHub.

Ik hoop dat wat ik hier schreef je heeft geholpen om je eigen project te beginnen dat dicht bij het mijne ligt.

Aanbevolen: