Inhoudsopgave:
- Stap 1: Sensoren
- Stap 2: Optrekmontage
- Stap 3: Codeer Arduino
- Stap 4: Beide Arduino Raspberry Seriële Communicatie
- Stap 5: PureData-patch ontvangen
- Stap 6: Ontwikkeling PureData
Video: Muzikale digitale interface: 6 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
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
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
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
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
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
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:
Muzikale MIDI-schoenen: 5 stappen (met afbeeldingen)
Muzikale MIDI-schoenen: Zoals veel mensen merk ik vaak dat ik onbewust met mijn voeten tik, of het nu meezingt met een liedje of uit een nerveuze gewoonte. Hoe leuk dat ook is, ik heb altijd het gevoel gehad dat er iets ontbrak. Kon ik maar de geluiden van laten we zeggen, een
Muzikale stoel: 11 stappen (met afbeeldingen)
Muzikale stoel: Gedesillusioneerd door de naam van het spel 'muziekstoelen', ging ik op weg om een echte muziekstoel te maken, zoals in, een stoel die als een muziekinstrument kan worden bespeeld, een schommelstoel als je wilt. Mijn hoop is om uiteindelijk een echt stoeltje te spelen
DIY muzikale deurbel: 7 stappen (met afbeeldingen)
DIY-muziekdeurbel: leer hoe u een eenvoudige muzikale bel maakt met behulp van de UM66T-melodiegenerator IC. De melodiegenerator speelt Beethovens Für Elise af wanneer deze wordt geactiveerd, omdat deze de UM66T-19L gebruikt. Er zijn verschillende versies van dit IC, elk geconfigureerd om een andere
Muzikale magnetron (Arduino-project): 6 stappen (met afbeeldingen)
Musical Microwave (Arduino Project): Wil je van je saaie magnetron een supercharged*, nucleaire** jukebox maken die deuntjes speelt terwijl*** het voedsel van je keuze wordt bestraald?!?* hype** valse reclame *** meer vals adverterenLees verder.Voor dit project heb ik een Arduino UNO gebruikt, de
Muzikale Menorah (gemaakt met Arduino): 13 stappen (met afbeeldingen)
Muzikale Menorah (gemaakt met Arduino): Chanoeka komt eraan! Dus het leek me een geweldig idee om een project te maken met betrekking tot de vakantie. Ik heb deze coole Chanoeka Menorah gemaakt met een Arduino die elke keer dat je van nacht wisselt een ander nummer speelt door op de knop te drukken. De LED's