Inhaltsverzeichnis:
- Schritt 1: Materialien
- Schritt 2: Aufbau der MIDI-Eingangsschaltung
- Schritt 3: FL Studio konfigurieren (optional)
- Schritt 4: Anschließen der LEDs
- Schritt 5: Entwerfen der 3D-Struktur
- Schritt 6: Der Code
- Schritt 7: Was nun?
Video: MIDI-gesteuerte LED-Struktur - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Als echter Musikliebhaber und Elektro- und Informatikstudent wollte ich schon immer MIDI-Geräte bauen, die ich für die elektronische Musikproduktion verwenden kann.
Nachdem ich viele Shows und Musikfestivals besucht hatte, fing ich an, mich während der Aufführungen wirklich für Lichtshows zu interessieren.
Nach vielen Recherchen habe ich meistens nur Geräte gefunden, die ein Mikrofon verwenden und es nicht ermöglichen konnten, LEDs genau so zu steuern, wie Sie es möchten.
Da ich mich immer mehr mit DAW- und MIDI-Signalen vertraut gemacht habe, beschloss ich, mit diesem Projekt zu beginnen!
Es besteht aus einer 3D-Struktur mit eingebauten LEDs, die tatsächlich durch MIDI-Signale (NoteOn, NoteOff und CC Messages) gesteuert werden.
So konnte der Musiker die Farbe und Intensität jeder LED nur mit Hilfe von MIDI-Signalen steuern, die von einer beliebigen DAW erzeugt wurden.
Mit dieser Idee wollte ich die Kreativität durch Lichtshows steigern und jedem ermöglichen, seine eigenen zu bauen, um jede visuelle Performance einzigartig zu machen.
Schritt 1: Materialien
Grundsätzlich besteht dieses Projekt aus zwei Teilen: einer MIDI-Empfangsschaltung und der LED-Struktur; und einen Mikrocontroller, um diese Teile zu verbinden und die MIDI-Signale, die von der DAW kommen, in die LED-Streifen zu "übersetzen". Hier ist eine Liste der Materialien, die für jedes Teil benötigt werden.
MIDI-Empfangsschaltung:
- 1 x 6N138 Optokoppler
- 1 x 1N914 Diode
- 1 x 5-Pin-Din-Buchse (MIDI-Buchse)
- 2 x 220 Ohm Widerstände
- 1 x 4,7K Ohm Widerstand
- 1 USB/MIDI-Buchse
LED-Struktur:
Ich habe RGB-LED-Streifen auf Basis von WS2812B-LEDs verwendet, die mit nur einem digitalen Port gesteuert werden können. Wenn Sie eine große Anzahl von LEDs verwenden möchten, müssen Sie möglicherweise auf den maximal benötigten Strom achten (1 LED kann maximal 60 mA verbrauchen). Wenn der Mikrocontroller diesen Maximalwert nicht verarbeiten kann, benötigen Sie ein weiteres 5V-Netzteil, das ausreichend Strom liefern kann. Ich habe einen 5V - 8A AC/DC Adapter mit dem dedizierten Ausgangsadapter und einem Schalter verwendet.
Hinweis: Es scheint, dass Sie ein Computernetzteil verwenden können, da es dafür bekannt ist, einen wirklich hohen Strom zu liefern, aber Sie müssen sicherstellen, dass es eine stabile 5 V-Gleichspannung liefert, möglicherweise durch Verwendung eines 36 Ohm 5 Watt Leistungswiderstand zwischen Masse (schwarz) und 5V Ausgang (rot), damit genügend Strom durch den Widerstand fließt und somit stabile 5V zur Verfügung stehen.
Schließlich habe ich ein einfaches Arduino Uno mit einem Schraubschild verwendet, um die Verbindung zwischen MIDI-Signalen und LED-Streifen herzustellen.
Schritt 2: Aufbau der MIDI-Eingangsschaltung
Wenn Sie daran interessiert sind, was genau das MIDI-Protokoll ist und wie es funktioniert, empfehle ich Ihnen dringend, den Notes and Volts YouTube-Kanal zu besuchen, wo es viele interessante und innovative Tutorials und MIDI-Arduino-Projekte gibt.
In diesem Teil konzentriere ich mich nur auf die MIDI-Eingangsschaltung. Es kann eine gute Idee sein, einen Prototyp auf einem Protoboard zu bauen und zu überprüfen, ob MIDI-Signale von der DAW vom Mikrocontroller gut empfangen werden, bevor Sie mit dem Löten der Komponenten beginnen.
Die folgenden beiden Videos beschreiben, wie die Schaltung aufgebaut und getestet wird:
- Bau der Schaltung
- Testen der Schaltung
Schließlich kann es auch eine gute Idee sein, sich dieses Video anzusehen, um CC-Meldungen zu verstehen und wie Automatisierungsclips von Ihrem Mikrocontroller interpretiert werden können, um beispielsweise die LED-Helligkeit zu steuern.
Schritt 3: FL Studio konfigurieren (optional)
Da ich mich mit FL Studio wohl fühle, werde ich erklären, wie man seine MIDI-Schnittstelle richtig konfiguriert, aber ich bin mir ziemlich sicher, dass dieses Verfahren nicht drastisch anders sein sollte, wenn Sie eine andere Digital Audio Workstation verwenden.
Zuerst müssen Sie nur die USB/MIDI-Buchse an Ihren Computer anschließen. Normalerweise kommen solche Geräte mit einer eingebetteten Firmware und werden als MIDI-Geräte erkannt, auch wenn sie nicht angeschlossen sind. Öffnen Sie dann das Fenster „Einstellungen“(durch Drücken von F10). Wenn alles richtig funktioniert, werden Sie einige Ausgabe-MIDI-Geräte im Ausgabebereich bemerken. Wählen Sie Ihr Gerät aus und stellen Sie sicher, dass es eingeschaltet ist.
Dann müssen Sie Ihre Portnummer definieren und sich diese merken (0 zum Beispiel). Schließen Sie einfach dieses Fenster (Parameter werden automatisch gespeichert) und fügen Sie dann einen neuen Kanal hinzu: MIDI Out.
Dann müssen Sie als letztes den Port dieses neuen Kanals definieren: Stellen Sie sicher, dass Sie dieselbe Portnummer wählen, die Sie im Abschnitt "Einstellungen" definiert haben: Auf diese Weise sind die von Ihrem Kanal kommenden MIDI-Nachrichten jetzt mit dem MIDI-Ausgang verbunden.
Wenn nun eine Note über den MIDI-Out-Kanal gespielt wird, wird eine "NoteOn"-Nachricht über die MIDI-Schnittstelle gesendet. Auf die gleiche Weise wird beim Loslassen der Notiz eine "NoteOff"-Nachricht gesendet.
Ein weiteres interessantes Feature des MIDI-Out-Kanals ist die Möglichkeit, verschiedene Parameter mit Potentiometern zu steuern. Wenn Sie mit der rechten Maustaste auf einen von ihnen klicken und "Konfigurieren…" auswählen, können Sie ihn veranlassen, CCMessages (ein Wert von 0 bis 127) zu senden, die zur Steuerung der LED-Helligkeit verwendet werden: Wählen Sie CC und dann Akzeptieren.
Normalerweise ist FL Studio jetzt bereit, Daten an Ihr MIDI-Interface zu senden! Als nächstes schreiben Sie den Code zum Flashen im Arduino und passen ihn an Ihre LED-Struktur an.
Schritt 4: Anschließen der LEDs
Das Anschließen der LED-Streifen ist recht einfach, da sie nur +5V, GND und Daten benötigen. Da ich jedoch vorhatte, mehr als 20 davon zu verbinden, entschied ich mich, mehrere Arduino-PWM-Pins zu verwenden und mehrere Instanzen von Adafruit_NeoPixel (im Coe) zu deklarieren, um jede Art von unbeabsichtigter Verzögerung zu vermeiden.
Das angehängte Bild soll auch erklären, wie die Elektronik funktioniert:
- LED-Streifen werden direkt vom Netzteil gespeist.
- Ein Netzschalter wird verwendet, um den Arduino mit Strom zu versorgen
- Die MIDI-Eingangsschaltung wird beim Einschalten des Schalters vom Arduino mit Strom versorgt
Schritt 5: Entwerfen der 3D-Struktur
Bisher war dieser Teil der längste, da ich mit 3D-Druck (und Modellierung) völlig neu war. Ich wollte eine Struktur entwerfen, die wie ein halb explodiertes abgestumpftes Ikosaeder aussah (ja, ich brauchte einige Zeit, um den genauen Namen der Form zu finden).
Natürlich steht es Ihnen frei, Ihr eigenes Modell mit der gewünschten Form zu entwerfen! Ich werde den Modellierungsprozess nicht detailliert beschreiben, aber Sie finden die STL-Dateien, wenn Sie diese Struktur entwerfen möchten.
Der Zusammenbau der verschiedenen Teile dauerte einige Zeit, da ich eine LED in jede Fläche stecken und alle verbinden musste, indem ich eine große Anzahl von Drähten in den Kern lötete, der derzeit ziemlich unordentlich ist!
Hinweis: Wenn Sie eine solche Struktur entwerfen möchten, benötigen Sie 10 sechseckige Stücke (jeweils ca. 3 Stunden mit einem PP3DP UP-Minidrucker) und 6 fünfeckige Stücke (2 Stunden).
Sobald sich in jedem Teil eine LED befindet, müssen Sie alle 5V- und GND-Anschlüsse miteinander verbinden und die verschiedenen Eingangs- und Ausgangsklemmen jeder LED so verdrahten, wie Sie sie anschließen möchten.
Schließlich habe ich LED-Diffusor-Acryl verwendet, um jedes Gesicht zu bedecken und sie gleichmäßig leuchten zu lassen.
Danach bleibt nur noch der Code, der sich als gar nicht so kompliziert erweist!
Schritt 6: Der Code
Wie ich es im vorherigen Teil erwähnt habe, ist der Code recht einfach!
Eigentlich besteht es nur aus einer MIDI-Instanz und mehreren Adafruit_NeoPixel-Instanzen (sofern es verschiedene Strips gibt).
Grundsätzlich arbeitet die MIDI-Klasse nach der Deklaration mit einer Art "Interrupt": NoteOn, NoteOff und CCMessage. Wenn der MIDI-Eingangskreis eines dieser spezifischen Signale an den Arduino sendet, wird die zugehörige Subroutine aufgerufen. Dann schaltet der Code nur eine bestimmte LED auf dem NoteOn-Signal ein, schaltet sie auf das zugehörige NoteOff-Signal herunter und aktualisiert die Helligkeit eines Streifens auf CCMessage.
Außerdem habe ich eine einfache Funktion definiert, die es ermöglicht, die Farbe der LEDs zu wählen, indem die mit dem NoteOn-Signal kommende Geschwindigkeit gelesen wird, und jede LED kann dann entweder rot, lila, blau, türkis, grün, gelb, orange oder weiß sein. abhängig vom Velocity-Wert von 0 bis 127.
Es ist wichtig zu beachten, dass Sie beim Hochladen Ihres Sketches den RX-Pin (der von der MIDI-Eingangsschaltung kommt) trennen müssen, da der serielle Port (der während dieses Vorgangs verwendet wird) mit diesem Pin verbunden ist!
Schritt 7: Was nun?
Ich arbeite derzeit an einem benutzerdefinierten Gehäuse, um die gesamte Elektronik einzubetten, und überlege mir auch einen Namen für die Struktur! Bitte lassen Sie mich wissen, ob Ihnen dieses Projekt gefallen hat, und ich arbeite an verschiedenen Shows, da ich vorhabe, dieses instructable mit mehr Videos zu aktualisieren!
Empfohlen:
MIDI-Sonar "Theremin": 10 Schritte (mit Bildern)
MIDI-Sonar "Theremin": Dies ist ein Musikinstrument, das zwei Sonar-Abstandssensoren verwendet, um die Tonhöhe und Qualität der Noten zu steuern. Es ist natürlich kein Theremin, aber "Theremin" ist zum Oberbegriff für Instrumente geworden, die durch Winken mit den Händen gespielt werden
Video-Tutorials De Tecnologías Creativas 04: ¿Para Qué Servirá Un Potenciómetro Y Un Led?: 4 Schritte
Video-Tutorials De Tecnologías Creativas 04: ¿Para Qué Servirá Un Potenciómetro Y Un Led?: En este Tutorial vamos a prender como modificar la intensid de la luz de un led con einer potenciómetro sobre una placa Arduino Uno. Este ejercicio lo realizaremos mediante simulación y para ello utilizaremos Tinkercad Circuits (utilizando una cuen
Arduino Ampel-Controller mit RBG Led - 4-Wege: 3 Schritte
Arduino Ampel-Controller mit RBG Led | 4-Wege: In diesem Beitrag erfahren Sie, wie Sie einen Arduino-Ampelcontroller herstellen. Mit diesem Ampelsteuergerät wird der Verkehrsfluss gesteuert. Diese können in stark frequentierten Bereichen angewendet werden, um Verkehrsblockaden oder Unfälle zu vermeiden
MIDI Step Interface: 12 Steps (mit Bildern)
MIDI Step Interface: Spanische Version hier.In diesem anweisbaren zeigen wir Ihnen, wie Sie ein Licht- und Sound-Interface erstellen, das zum Spielen von "Simon Says" verwendet werden kann; und als MIDI-Interface. Beide Modi werden mit den Füßen gespielt.HintergrundDas Projekt wurde geboren, weil
So erstellen Sie eine MIDI-Map für den BCD3000 in Traktor Pro: 6 Schritte
So erstellen Sie eine MIDI-Map für den BCD3000 in Traktor Pro: Dies führt Sie Schritt für Schritt durch die Erstellung Ihrer eigenen benutzerdefinierten tsi-MIDI-Maps in Traktor Pro für Behringer's DEEJAY BCD3000