Inhaltsverzeichnis:
- Schritt 1: Sensoren
- Schritt 2: Klimmzug-Montage
- Schritt 3: Arduino codieren
- Schritt 4: Beide Arduino Raspberry Serial Communication
- Schritt 5: PureData-Patch erhalten
- Schritt 6: Entwicklung von PureData
Video: Musikalische digitale Schnittstelle - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Willkommen alle, Ich möchte Ihnen mein eigenes Musical Digital Interface zeigen. Ich habe es während meines technischen Sound-Studiums geschafft, das sind meine Forschungsarbeiten. Zu Beginn fragte ich mich, wie ich Musik ohne DAW komponieren kann, mit recyceltem Material und der Möglichkeit, eigenständig zu spielen.
In diesem anweisbaren werde ich Ihnen beibringen, wie Sie die serielle Kommunikation verwenden, um Sensoren (analog und digital) Informationen von Arduino zu Raspberry Pi in Richtung Software Puredata zum Auslösen eines Tons zu senden / zu empfangen.
Benötigte Materialien sind:
x1 Himbeer PI3
x1 Boîter de Schutz PI3
x1 Micro-SD (32G)
x1 Arduino UNO
x1 Sensor IR Sharp GP2Y0E02B
x1 Brotbord
x1 Plattenprüflehre (0,2)
x28 Widerstand 10MΩ
x2 Widerstand 1,8kΩ
x1 Widerstand 10kΩ
x20 Anschlussfahnen männlich/weiblich
x1 Lotträger
x1 Zinnrolle (1 Meter)
x1 Lötkolben
x25 flexible Gurte männlich/männlich
Schritt 1: Sensoren
Ich habe 4 Piezoelektrikums aus der Harmonix XBOX 360-Fernbedienung von "Guitar Hero" verwendet.
Ich habe einen IR-Sensor Sharp GP2Y0E02B verwendet. Für alle diese Sensoren habe ich eine Pull-up-Montage für einen effektiven Betrieb durchgeführt…
Damit habe ich empirisch den Widerstandswert für den Knopfsensor und den IR-Sensor gefunden. Ich habe jedoch piezoelektrisch getestet, um den vollen Umfang dieses zu kennen, und den Wert des festen Widerstands, der für die 4 analogen Sensoren erforderlich und angewendet wird.
Schritt 2: Klimmzug-Montage
Nach dem Testen von Piezoelektrik mit Spannungsgenerator habe ich den Widerstandswert auf 7 MΩ festgelegt.
Der Pull-Up der Knopfwiderstandsbaugruppe betrug 10 kΩ.
Für den IR-Sensor habe ich zwei 1,8kΩ-Widerstände zwischen jeweils Versorgungsspannung und SDA (Daten) und SCL (Takt) verwendet.
Seien Sie vorsichtig, da die Werte dieses Widerstands für RTX Arduino UNO gelten; Wissenswertes über Arduino Impedanzeingang: 10MΩ.
Sie können die Klimmzug-Montage auf dem letzten Bild dieses Schrittes sehen; Ich habe die piezoelektrischen Bänder in 0 1 2 3 Pins an UNO befestigt, Tastenband in 2 digitalen Pins, aber den Wert an 6 Pins an UNO und IR-Sensorband in 4 5 Pins an UNO, alle analogen Eingänge des Arduino Uno.
Schritt 3: Arduino codieren
Um sicherzustellen, dass die Operation effektiv war, habe ich das Senden/Empfangen von Informationen von Sensoren an Arduino getestet.
Ich habe Dateien in die Beschreibung eingefügt, aber Sie können sie im Beispielbereich der Arduino Genuino-Programmierung finden, mit Ausnahme des IR-Sensors, da er nicht vollständig ist in Abstandsvariationen. Wahrscheinlich haben Sie "Wire" im IR-Sensorcode gesehen. Tatsächlich habe ich das I2C-Protokoll verwendet, um zu kommunizieren. Ich lade Sie ein, das I2C-Protokoll zu sehen, sehr interessant. Sie können dieses verwenden, um alle gewünschten digitalen Sensoren in Echtzeit zu übertragen.
Schritt 4: Beide Arduino Raspberry Serial Communication
Ja: D
Wie Sie im ersten Bild sehen können, ist der Link Arduino-Raspberry ein USB-Stecker.
Ich habe eine Möglichkeit gefunden, die Sensorinformationen direkt von PureData Extended zu erhalten, das in Raspberry PI installiert ist. Warum PureData Extended? Weil die Vanilla-Version nicht dieselbe Bibliothek verwendet wie eine Anwendung in der Raspbian-Umgebung.
Starten Sie also StandardFirmata in Arduino Genuino, um I/O- und Wertvariationen richtig zu beheben!
Um die Wertinformationen in Raspberry PI zurückzubekommen, gibt es 2 Protokolle: Firmata und Msg.
Ich habe mich aus einem Grund für Firmata entschieden, es war einfacher, Informationen in PureData über den Patch Pduino, eine Umgebung, zu erhalten.
Ich lade Sie ein, Msg zu entdecken, wenn Sie das OSC-Protokoll verwenden.
Schritt 5: PureData-Patch erhalten
Tatsächlich gelang es mir nach wochenlangem Programmieren auf Genuino, alle Informationen meines Sensors auf einer Seite zu erhalten, dies ermöglichte es, dank Pduino, einem Patch in Puredata, Abschnitt Bibliotheken extra, Variationen in Echtzeit zu sehen.
Ab diesem Schritt berühren wir den Arduino-Code nicht mehr. Die Informationen zum Wert sind lesbar.
Wie ich in Schritt 3 bemerkte, erhielt ich Informationen von der digitalen Taste in 6-Pin-Analog, es war einfach, den effektiven Betrieb der Kommunikation zu sehen. Alles in einer Zeile.
Schritt 6: Entwicklung von PureData
PureData ist eine spezielle Sprache und Sie müssen Ihre Freizeit damit verbringen, erfolgreich zu sein und schönes Patchwork zu machen.
Einige der PureData-Patches werden auf GitHub verfügbar sein.
Ich hoffe, dass das, was ich hier geschrieben habe, Ihnen geholfen hat, Ihr eigenes Projekt in der Nähe meines zu beginnen.
Empfohlen:
Schnittstelle Regentropfensensor zu NodeMcu- für Anfänger: 5 Schritte
Schnittstelle Regentropfensensor zu NodeMcu| für Anfänger: In diesem Tutorial erfahren Sie, wie Sie den Regentropfensensor mit NodeMcu verbinden
Digitale Stoppuhr mit 555 erstellen – wikiHow
Wie man eine digitale Stoppuhr mit 555 macht: Ich habe eine einfache Stoppuhr mit 3 Sieben-Segment-LED-Anzeigen erstellt, von denen Sie zuerst den 10. Teil der Sekunden anzeigen, einen zweiten und den dritten für ein Vielfaches von 10 Sekunden das Signal pro 1 Sekunde gibt, um
Musikalische Schuhe: 17 Schritte (mit Bildern)
Musikalische Schuhe: Dieses Projekt ist eine unterhaltsame Möglichkeit, Beats zu erzeugen, während Sie auf die Tanzfläche gehen. Es ist auch ein großartiges Projekt für Anfänger, das Arduino, Bluetooth und weiche leitfähige Stoffschalter verwendet. Vor ein paar Monaten stieß ich auf eine einfache Möglichkeit, Sounddateien auszulösen, die