» Musikinstrumente »Kravox-Raumsynthesizer auf Arduino

Kravox räumlicher Synthesizer auf Arduino



Der Meister erfand Kravox während eines Forschungsprojekts an der Universität Lund (Schweden), dessen Ziel es war, digitalen Musikinstrumentensteuerungen das Gefühl traditioneller mechanischer Instrumente zu verleihen. Jetzt möchte der Meister Kravox als Musikplattform zum Experimentieren für alle zugänglich machen. Aus diesem Grund hat er dieses detaillierte Briefing erstellt, mit dem möglichst viele Menschen dieses neue interessante Musikinstrument nutzen können.

Kravox zu spielen ist ziemlich einfach. Stellen Sie sich vor, Sie spielen mit einem gewöhnlichen Objekt wie einem Besen. Die Art und Weise, wie Sie es berühren und im Raum bewegen, steuert, wie der Ton erzeugt wird. Am Ende des Artikels in den Videos können Sie sehen und hören, wie man Kravox spielt und wie das Instrument hergestellt wird.

Werkzeuge und Materialien:
- Steckbrett 50 * 24 Löcher -1 Stk;
-40-polige Stecker -5-tlg.
-40-poliger Stecker - 5 Stück;
- Potentiometer 10 kOhm und Griffe für sie - 5 Stk;
-Blaue 5 mm Standard-LEDs - 3 Stück;
- Widerstände 150 Ohm - 3 Stk;
- Kondensator 10 uF - 2 Stk;
- Kondensator 100 nF - 2 Stk;
-Radio-Modul NRF24L01 - 2 Stück;
-Arduino Nano-2 Stück;
-Resistoren 220 Ohm -3 Stk;
- Platinen der Sensorsensoren MPR121 - 2 Stk;
- Digitaler Kreisel GY-521 MPU 6050 - 1 Stck;
- USB-A-zu-USB-C-Kabel;
-4 Meter (Minimum) Kupferband 1 cm breit;
-Powerbank;
-7 Meter (Minimum) Drähte in verschiedenen Farben;
-0,2 m, Schrumpfrohr ø = 3 mm;
-Lötzubehör;
-Multimeter;
-Regel;
-Messer;
-Nozhovka;
- Zangen;
-Carton;
-Kleberpistole;
-Tape;
-Kleber;
-Bürogummi;
-Clips;




Erster Schritt: Theorie
Kravox ist ein plattformübergreifendes digitales Open-Source-Musikinstrument, das aus drei Komponenten besteht - einem Controller / Controller, einem Empfänger und einer Software.

Sie können bis zu drei drahtlose Controller verbinden. Jeder Controller verarbeitet Orientierungs- und Beschleunigungsdaten vom digitalen Gyroskop MPU-6050 und Berührungsdaten von zwei an den Arduino Nano angeschlossenen MPR121-Sensorsensorplatinen. Die Steuerung sendet Daten über den Funksender nRF24L01 an den Empfänger. Wenn mehr als ein Controller verwendet werden muss, müssen dem zweiten und dritten Controller individuelle Adressen zugewiesen werden.

Der Empfänger überträgt die von der (den) Steuerung (en) empfangenen Daten zusammen mit den von mehreren Potentiometern gesammelten Daten an den angeschlossenen Computer.Mit dem bereitgestellten Empfängercode können Sie die Kommunikation mit drei Controllern herstellen, aber es funktioniert auch nur mit einem oder zwei ohne Einstellungen.

Daten vom Empfänger werden in einem Programm verarbeitet, das in den Ton geschrieben ist.
Das Schöne an Kravox ist, dass seine Form, sein Klang und seine Spielweise angepasst werden können. Dies gab dem Assistenten die Möglichkeit, eine einfach zu kopierende Version von Kravox für diese Lektion zu entwickeln.


Schritt zwei: Erstellen Sie eine Controller-Karte
Als Nächstes erklärt der Assistent, wie es geht Elektronik Steuerung Schritt für Schritt aus den obigen Angaben.
Wenn Sie sich nicht sicher sind, wo Sie das Kabel löten sollen, können Sie jederzeit zum Schaltplan zurückkehren und prüfen, ob die Komponenten richtig angeschlossen sind.


Der erste Schritt besteht darin, das Steckbrett und die Anschlüsse zu schneiden und zusammen mit einem kleinen und einem großen Kondensator zusammenzubauen, um die Zuverlässigkeit des Funksenders zu erhöhen.

Schneiden Sie das Brett mit einem Universalmesser
Schneiden Sie die Stecker mit einer Bügelsäge ab (der Meister legte sie auf das Buch, um sie vom Tisch auszurichten).
Installieren Sie die Stecker auf dem Steckbrett und löten Sie. Sie können bereits jedes Kontaktpaar von zwei verbinden
lange Anschlüsse, die nebeneinander liegen. Im Übrigen reicht es aus, sie einfach mit einem kleinen Lot zu befestigen - vorzugsweise Kontakte, die gemäß Schaltplan später nicht mehr angeschlossen werden. Achten Sie beim Löten von Kondensatoren auf die Polarität des Elektrolytkondensators von 10 Mikrofarad (der größere der beiden). Eine Seite hat einen Streifen und in der Regel ein kürzeres Bein. Diese Seite muss mit Masse verbunden sein. Der kleinere 100-Nanofarad-Kondensator ist nicht polarisiert und kann auf jede Weise gelötet werden.





Ferner sind die LED-Widerstände verlötet. Achten Sie auf die Polarität der LED: Eine Seite hat normalerweise ein kürzeres Bein. Diese Seite sollte im nächsten Schritt mit Masse verbunden werden. Ein blauer Draht ist mit dem anderen Bein verlötet. Das andere Ende des Drahtes ist mit dem Stecker verlötet, an dem der Arduino-Pin D3 angeschlossen wird.


Als nächstes werden alle roten und blauen Stromkabel montiert. Rot für 3,3 Volt und blau für Masse (GND).


Drei Sensorplatinen kommunizieren über das I2C-Protokoll (integrierte Schaltung). Dies bedeutet, dass sie alle an dieselben zwei Arduino-Pins angeschlossen werden können. Daher löten wir die gelben und grünen Drähte an die Sensoren und die Arduino A4- und A5-Pins. Sie müssen auch ein weißes Kabel montieren, um die Interrupt-Kontakte des Kreisels anzuschließen.


Der Funksender kommuniziert über das SPI-Protokoll (seriell)
Peripherieschnittstelle), für die mehr Verbindungen als für I2C erforderlich sind, fügt der Assistent schwarze, graue, braune, lila und orangefarbene Drähte hinzu.


Jetzt ist es Zeit, die Komponenten vorzubereiten. Wenn nicht, zusätzlich zum Anlöten von Stiftsteckern
Gelötet müssen Sie besonders auf die Sensorplatine achten! Bei billigen Modellen aus China ist der Adressstift ohne Zwischenwiderstand fest geerdet, daher muss diese Verbindung an der Unterseite der Platine mit einem Messer physisch abgeschnitten werden. Schneiden Sie zwischen zwei Pads in der Nähe der Stelle, an der ADD geschrieben ist. Der Assistent empfiehlt, mit einem Multimeter zu klingeln, um sicherzustellen, dass die Kontakte nicht verbunden sind.


Wenn alle Teile mit Lötverbindern versehen sind und die Sensorplatinen vorbereitet sind, können Sie den Arduino Nano, ein Gyroskop, zwei Sensorplatinen und ein Funkmodul an die Controller-Platine anschließen.


Schritt drei: Code herunterladen
Wenn nach einer doppelten Überprüfung alles richtig angeschlossen ist, müssen Sie im nächsten Schritt den mitgelieferten Arduino nano herunterladen. Bevor Sie dies tun können, müssen Sie jedoch die Bibliotheken für das Gyroskop, die Sensorsensorkarten und den Funksender installieren. Wenn Sie mit Arduino-Bibliotheken noch nicht vertraut sind, erfahren Sie, wie Sie sie installieren.
Für den Kreisel MPU6050 sind die Bibliotheken I2Cdev.h und MPU6050_6Axis_MotionApps20.h erforderlich, die heruntergeladen werden können.
Für MPR121-Touchkarten ist die Bare Conductive-Bibliothek MPR121.h erforderlich, die verfügbar ist. Es gibt mindestens zwei Versionen der Bibliothek. Stellen Sie sicher, dass Sie die von Bare Conductive entwickelte Version installieren, nicht die von Adafruit entwickelte Version.
Für die Funksenderkarte NRF24L01 sind die TMRh20-Bibliotheken nRF24L01.h und RF24.h erforderlich, die heruntergeladen werden können. Bitte beachten Sie: Es gibt auch mindestens zwei Versionen dieser Bibliotheken mit demselben Namen. Stellen Sie sicher, dass Sie das entwickelte TMRh20 installieren, nicht den Maniacbug.
Sobald die Bibliotheken installiert sind, können Sie den Kravox-Controller-Code herunterladen.

Um zu überprüfen, ob der Controller funktioniert, können Sie die Ausgabe von Daten von Berührungssensoren und einem Gyroskop über einen seriellen Monitor aktivieren. Dazu müssen Sie vor dem Herunterladen den letzten Abschnitt des Empfängercodes bearbeiten: indem Sie das Kommentarzeichen am Anfang (/ *) und am Ende (* /) entfernen (siehe Foto).

Nachdem Sie den Code mit dieser Option heruntergeladen haben, müssen Sie den seriellen Monitor öffnen und die Übertragungsgeschwindigkeit (Datenrate) auf 115200 einstellen. Jetzt können Sie die Daten von den Sensoren sehen, die sich ändern, wenn die Controller-Karte bewegt und die Kontakte berührt werden, von MPR121-Karten, die mit 0 bis gekennzeichnet sind 11.

Wenn nichts funktioniert oder nur Nullen erhalten werden, müssen Sie die Verkabelung sorgfältig prüfen und mit dem obigen Diagramm vergleichen. Wenn Sie vom seriellen Monitor das falsche Signal empfangen, müssen Sie überprüfen, ob die Datenübertragungsraten richtig eingestellt sind.


Schritt vier: Board Power

Für die Stromversorgung müssen Sie die Controller-Karte an die Bank anschließen.
Wenn sich die Bank nach einer Weile nicht automatisch ausschaltet, ist die Controller-Karte fertig und Sie können zur Empfängerkarte wechseln. Andernfalls folgen Sie dem nächsten Schritt.

Fünfter Schritt: Lösen Sie das Stromversorgungsproblem
Im Prinzip ist die Controller-Karte bereit, aber einige Bänke schalten sich nach einigen Sekunden automatisch aus, wenn sie an die Controller-Karte angeschlossen werden, da sie wenig Strom verbraucht. Als Lösung können Sie einfach drei 220-Ohm-Widerstände parallel zwischen den 5-V- und GND-Pins des Arduino hinzufügen.


Nach dem erneuten Anschließen der Komponenten sieht die fertige Controller-Karte (definitiv) so aus.


Schritt 6: Erstellen Sie eine Empfängerplatine
In diesem Schritt zeigt Ihnen der Assistent, wie Sie die Empfängerplatine erstellen. Der Vorgang ist der Herstellung einer Controller-Karte sehr ähnlich.


Zuerst müssen Sie das Steckbrett und die Anschlüsse zuschneiden. Installieren Sie dann die Kondensatoren. Sie können diesen Schritt mit dem ersten Schritt zum Erstellen einer Controller-Karte vergleichen, um weitere Informationen zu erhalten.


Als nächstes müssen Sie alle roten und blauen Drähte hinzufügen. Rot für 3,3 Volt und blau für Masse (GND).


Verkabelung für die Kommunikation SPI.


Die Empfängerplatine ist bereit, aber bevor Sie den Kravox-Empfängercode auf den Arduino Nano hochladen, müssen Sie zuerst eine Schnittstelle für den Empfänger erstellen.


Anschließend zeigt der Assistent, wie eine Schnittstelle mit 4 Potentiometern und einer LED für den Empfänger erstellt wird. Die Schnittstelle ist wie in der ersten Abbildung verbunden und wird wie in der zweiten Abbildung dargestellt mit der Empfängerplatine verbunden.


Die Vorgehensweise ist wie folgt: Zuerst müssen Sie ein Bündel von 8 Kabeln nehmen und 5 davon an die mittleren Kontakte der Potentiometer anlöten. Es ist ratsam, die gleichen Farben wie im Diagramm zu verwenden, um nicht verwirrt zu werden.

Dann müssen Sie das Steckbrett 2 Reihen mit 17 Löchern und einen 17-poligen Stecker abschneiden. Schließen Sie die Kabel und den Stecker an die Platine an. Beachten Sie das obige Diagramm, um sicherzustellen, dass Sie die Kabel an den richtigen Stellen anschließen.


Jetzt müssen Sie blaue Drähte (Masse) an einen der Kontakte aller Potentiometer löten. Löten Sie eine blaue LED mit einem Strombegrenzungswiderstand von 150 Ohm.

Grüne Drähte löten.

Die fertige Schnittstelle sollte ungefähr so ​​aussehen (Foto 1) und kann wie folgt an die Empfängerplatine angeschlossen werden (Foto 2).

Siebter Schritt: Code
Jetzt zum Download auf den Arduino Nano Receiver verfügbar.
Zur Überprüfung müssen Sie den Code vor dem Herunterladen erneut geringfügig anpassen. Standardmäßig zeigt der Empfänger seine Daten in einem Format an, das als reine Daten interpretiert werden kann, jedoch keine nützlichen Informationen auf einem seriellen Monitor anzeigt. Sie können dieses Verhalten in Ihrem Code jedoch ändern, indem Sie die Zeile #define WRITE_AS_BYTES (// vor) und // die Zeile // #define PRINT_VIA_SERIAL_MONITOR (// vor) entfernen.


Schritt acht: Fall
Weiter außerhalb des Kupferstreifens stellt der Master einen Sensor her.


Um den Fall zu klären, verwendet der Master leere Kästchen.

Der Meister zeichnet Pappe. Schneidet 24 Kupferstreifen und wird auf einem Karton befestigt.



Außerdem schneidet der Master Karton mit einer Breite von 2 * 24 Löchern und dem 24-poligen Stecker auf Größe und verlötet 24 Drähte daran. Die Drähte in der Mitte sollten mindestens 10 cm lang sein. Wenn Sie sich von der Mitte entfernen, nimmt die Länge der Drähte zu. Wenn Sie beispielsweise ein 1 cm breites Kupferband und einen Abstand zwischen den Elektroden von 3 mm verwenden, sollte sich die Länge des Drahtes um 1,3 cm erhöhen, wie unten gezeigt: 10 / 11.3 / 12.6 / 13.9 / 15.2 ...

Jetzt können Sie die zweiten Enden der Drähte an die Kupferstreifen anlöten und die Streifen mit Klebeband abdichten.



Klebt den Sensor in den Körper und klebt dann einen anderen Körper darauf (zur Überprüfung).


Bedeckt die Rückseite der Controller-Karte mit Pappe.

Installiert LEDs und Power Bank. Sie müssen die Power Bank so anordnen, dass Sie das USB-Kabel anschließen und abziehen können, da der Controller auf diese Weise ein- und ausgeschaltet wird. Schließen Sie auch das Touch-Interface an die Controller-Karte an und legen Sie es in die Box.

Stellt einen Ausschnitt für das USB-A-USB-C-Kabel an der Verbindungsstelle der beiden Boxen her, hält es heraus und verbindet es mit dem Arduino Nano.

Jetzt ist der Controller bereit.

Der Meister repariert den Fall mit Hilfe von Schreibwaren. Wenn später Probleme mit Sensoren auftreten, die Berührungen erkennen, wenn sie nicht vorhanden sind, müssen Sie Isoliermaterial wie Folie oder dergleichen zwischen das berührungsempfindliche Gehäuse, die Leiterplatte und die Drähte legen. Schließen Sie die Stromversorgung an, ohne die Sensoren zu berühren.


Schritt neun: Erstellen eines Empfängergehäuses
Jetzt müssen Sie ein Gehäuse für den Empfänger erstellen. Der Assistent schneidet mehrere runde Löcher für Potentiometer und LEDs.


Es klebt die Empfängerplatine, LED, Schraubenpotentiometer. Legt die Griffe fest.




Schritt 10: Schließen Sie ab
Jetzt, da alle Geräte montiert sind, ist es Zeit, Musik zu spielen! Dazu benötigen Sie Software, an die Sie Geräte anschließen können. Für Kravox ist dies die Pure Data Vanilla-Software, die Sie kostenlos herunterladen können.

Nach der Installation von Pure Data auf dem Computer müssen Sie es ausführen und die Datei Kravox.pd öffnen. Bitte beachten Sie, dass es auf Ihrem Computer im selben Ordner gespeichert werden muss wie der Drumsamples-Ordner, mit dem es geliefert wird. Andernfalls kann Pure Data die Dateien nicht finden.
Sobald die Programmoberfläche von Kravox.pd geöffnet wird, müssen Sie das Fenster wie auf dem Foto öffnen und die vier in diesem Fenster aufgeführten sogenannten externen Geräte installieren. Die Installation ist einfach. Klicken Sie einfach im Menü "Daten bereinigen" auf "Hilfe", wählen Sie "Zusätzliche Objekte im Internet suchen" (möglicherweise etwas anders), suchen Sie "comport", "zexy", "freeverb" und "arraysize". "eins nach dem anderen und installieren Sie die neueste Version. Jetzt sollten die vier als comport, repack, freeverb und arraysize gekennzeichneten Objekte einen soliden Umriss haben, wie in der folgenden Abbildung dargestellt. Möglicherweise müssen Sie Pure Data dafür neu starten.

Nach der Installation externer Geräte können Sie den Receiver über USB anschließen. Wenn Sie den Code in Teil 4 geändert haben, um den Empfänger mit dem Arduino Serial Monitor zu verwenden, müssen Sie diese Änderung zuerst rückgängig machen und den Quellcode in den Arduino Nano-Empfänger laden, bevor Sie den Arduino Serial Monitor anschließen und schließen.

Schauen Sie sich nun das Fenster Pure Data an. Wenn Sie einen schnell aktualisierten Datenstrom sehen, ist dies großartig, aber höchstwahrscheinlich wird stattdessen eine rote Meldung angezeigt, wie die im ersten Bild, die alle zwei Sekunden aktualisiert wird.

Der rote Text mag etwas anders sein, bedeutet jedoch, dass Pure Data noch keine Verbindung zu Ihrem Receiver herstellen konnte. Dies liegt daran, dass das Programm angeben muss, welcher USB-Anschluss angeschlossen werden soll. USB-Anschlüsse können auf verschiedenen Geräten unterschiedlich gekennzeichnet sein. Beim MacBook Pro 2014 erkennt Pure Data beide USB-Anschlüsse als serielle Schnittstelle 3, unabhängig davon, an welchen Empfänger Sie eine Verbindung herstellen. Anschließend verwendete der Assistent Kravox mit dem Lenovo Yoga Pad mit nur einem funktionierenden USB-Anschluss, der als serieller Anschluss 6 bezeichnet wurde. Unter Windows werden die Anschlüsse als 8 und 9 bezeichnet. Der Assistent empfiehlt, nur herauszufinden, welche Nummer der USB-Anschluss auf Ihrem Gerät funktioniert . Er erstellte einen Dialog als Teil der Kravox.pd-Oberfläche (zweites Foto), in dem Sie einfach auf die Zahlen klicken können, bis das Gerät funktioniert. Sie können auch die Schaltflächen "Verfügbare Ports anzeigen" und "Verbundene USB-Geräte anzeigen" ausprobieren.
Kravox räumlicher Synthesizer auf Arduino


Dann müssen Sie auf "Speichern" klicken, damit Pure Data beim nächsten Mal automatisch versucht, eine Verbindung zu diesem Port herzustellen.
Wenn der Controller-Code bearbeitet wurde, müssen Sie den Code neu laden.

Es bleibt die Controller-Karte an die Stromversorgung anzuschließen. Wenn Sie dies tun, sollte das Touch-Interface-Gehäuse rund um die Platine geschlossen sein und der Touch-Teil des Gehäuses darf Ihre Hände oder sonst etwas nicht berühren.

Alles ist fertig, zusätzliche Informationen können im Video eingesehen werden.


5.5
5.5
5.5

Kommentar hinzufügen

    • lächelnlächeltxaxaokweiß nichtYahoonea
      ChefKratzerDummkopfjaja-jaaggressivGeheimnis
      Entschuldigungtanzendance2Tanz3VerzeihungHilfeGetränke
      hör aufFreundegutgut gutpfeifenOhnmachtZunge
      RauchklatschenCrayerklärenspöttischdon-t_mentionherunterladen
      Hitzeärgerlichlach1mdaTreffenMoskingnegativ
      not_iPopcornbestrafenlesenerschreckenAngstSuche
      verspottendankedasto_clueumnikakutstimme zu
      schlechtbeeeblack_eyeblum3errötenprahlenLangeweile
      zensiertAngenehmheitsecret2drohenSiegyusun_bespectacled
      shokrespektlolvorgezogenWillkommenKrutoyya_za
      ya_dobryiHelferne_huliganne_othodiFludVerbotschließen

Wir empfehlen Ihnen zu lesen:

Gib es für das Smartphone ...