Inhaltsverzeichnis:
- Schritt 1: Materialien
- Schritt 2: Design
- Schritt 3: Aufbau und Verkabelung
- Schritt 4: Programmierung
- Schritt 5: Einrichtung
Video: Arduino Uno Midi Fighter - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Dieses instructable wurde in Erfüllung der Projektanforderung des Makecourse an der University of South Florida (www.makecourse.com) erstellt.
Basierend auf dem beliebten MidiFighter von DJ Techtools kann dieser selbstgebaute Arduino-betriebene Musical Instrument Digital Interface (MIDI)-Controller als MIDI-Gerät für jede Digital Audio Workstation (DAW)-Software verwendet werden. Ein MIDI-Controller kann MIDI-Meldungen von einem Computer senden und empfangen und kann verwendet werden, um die verwendete Software direkt zu steuern. Darüber hinaus sind die Bedienelemente eines MIDI-Controllers vollständig anpassbar – was bedeutet, dass jeder einzelne Taster, Schieberegler und Regler jeder Funktion in einer DAW zugewiesen werden kann. Zum Beispiel kann das Drücken einer Taste eine bestimmte Note spielen oder so programmiert werden, dass das Tempo Ihres Audioprojekts umgeschaltet wird.
github.com/jdtar/Arduino-Midi-Controller
Schritt 1: Materialien
Nachfolgend finden Sie eine Liste der Materialien und Werkzeuge, die in diesem Projekt verwendet wurden.
Arduino Uno
Steckbrett
4051/4067 Multiplexer
Überbrückungsdrähte
Zusätzliches Kabel
2x 10k Ohm lineare Schiebepotentiometer
16x Sanwa 24mm Knöpfe
Schrumpfen durch Hitze
Lötkolben
Rasierklinge
4,7 kΩ Widerstand
Acrylfolie (für Deckel)
Gehäuse für Tasten und Arduino
3D Drucker
Laserschneider
Schritt 2: Design
Das Gehäuse für meinen MIDI-Controller wurde mir bereits vor Projektbeginn zur Verfügung gestellt, also habe ich eine Skizze für den Deckel angefertigt, um zu visualisieren, wo alles platziert werden sollte. Ich wusste, dass ich mindestens 16 Tasten und ein paar Potentiometer als Funktion haben wollte, also versuchte ich, die Komponenten so gleichmäßig wie möglich zu verteilen.
Nachdem ich das Layout für den Deckel erstellt hatte, exportierte ich die Datei als 1:1 PDF und schickte sie an einen Laserschneider, um eine Acrylplatte zu schneiden. Für Schraubenlöcher habe ich mit Marker markiert, wo ich die Löcher haben wollte, und das Acryl mit einem heißen Filament geschmolzen.
Anbei das 1:1 PDF, das 1:1 ausgedruckt und mit Elektrowerkzeugen geschnitten werden kann, falls kein Laserschneider zur Verfügung steht.
Schritt 3: Aufbau und Verkabelung
Nach dem Schneiden des Acryls stellte ich fest, dass das Acryl zu dünn war, um alle Komponenten ausreichend zu tragen. Ich habe dann ein weiteres Blatt ausgeschnitten und zusammengeklebt, was zufällig perfekt funktioniert hat.
Die Verdrahtung der Komponenten erforderte einige Versuche, führte jedoch zu der beigefügten Fritzing-Skizze. Ich habe zuerst die Massedrähte und den 4,7kΩ Widerstand verdrahtet, gelötet und die Anschlüsse an den Knöpfen geschrumpft. Die Montage der beiden Schiebepotentiometer erforderte Schmelzlöcher für die Schrauben im Acryl. Nachdem die beiden Potentiometer eingeschraubt waren, wurden sie mit den analogen Pins A0 und A1 verdrahtet. Nachdem die Verkabelung abgeschlossen war, erinnerte ich mich, dass es keine Knopfkappen für meine Fader gab. Anstatt sie zu kaufen, druckte ich einige Knopfkappen mit einem 3D-Drucker, indem ich sie in Autodesk Fusion 360 skizzierte und in eine STL-Datei exportierte. De
Der Arduino Uno hat nur 12 verfügbare digitale Eingangspins, aber 16 Tasten sollten verdrahtet werden. Um dies zu kompensieren, habe ich einen 74HC4051 Multiplexer auf einem Steckbrett verdrahtet, der 4 digitale Eingangspins verwendet und es mehreren Signalen ermöglicht, eine gemeinsame Leitung zu verwenden, was zu 8 verfügbaren digitalen Eingangspins für insgesamt 16 digitale Pins führt, die verwendet werden können.
Beim Verdrahten der Tasten mit den richtigen Pins musste einfach eine 4x4-Matrix erstellt und im Code verwendet werden. Der knifflige Teil war jedoch, dass der gekaufte Multiplexer ein bestimmtes Pin-Layout hatte, bei dem das Datenblatt half, und ich hatte auch ein bestimmtes Noten-Layout im Sinn, als ich die Tasten verdrahtete, die am Ende ein bisschen so aussahen:
HINWEIS MATRIX
[C2] [C#2] [D2] [D#2]
[G#2] [A1] [A#2] [B1]
[E1] [F1] [F#1] [G1]
[C2] [C#2] [D2] [D#2]
PIN-MATRIX (M = MUX-EINGANG)
[6] [7] [8] [9]
[10] [11] [12] [13]
[M0] [M1] [M2] [M3]
[M4] [M5] [M6] [M7]
Schritt 4: Programmierung
Sobald die Montage abgeschlossen ist, ist nur noch die Programmierung des Arduino übrig. Das angehängte Skript ist so geschrieben, dass es leicht anpassbar ist.
Der Anfang des Skripts enthält die MIDI.h-Bibliothek und eine Controller-Bibliothek aus dem Notes- und Volts-Blog, die beide in der ZIP-Datei für den Code enthalten sind. Mit der Controller-Bibliothek können Objekte für Schaltflächen, Potentiometer und Multiplex-Schaltflächen erstellt werden, die Datenwerte enthalten, die Notennummer, Steuerwerte, Noten-Velocity, MIDI-Kanalnummer usw. enthalten. Die MIDI.h-Bibliothek ermöglicht die MIDI-I/O-Kommunikation auf dem Serielle Arduino-Ports, die wiederum die Daten von den Controller-Objekten entgegennehmen, in MIDI-Nachrichten umwandeln und die Nachrichten an das angeschlossene Midi-Interface senden.
Der Void-Setup-Teil des Skripts initialisiert alle Kanäle als ausgeschaltet und initiiert auch eine serielle Verbindung mit 115200 Baud, einer Geschwindigkeit, die schneller ist als die MIDI-Signale ausgetauscht werden.
Die Hauptschleife nimmt im Wesentlichen die Arrays von Schaltflächen und gemultiplexten Schaltflächen und führt eine for-Schleife aus, die überprüft, ob die Schaltfläche gedrückt oder losgelassen wurde, und die entsprechenden Datenbytes an die Midi-Schnittstelle sendet. Die Potentiometerschleife prüft die Position des Potentiometers und sendet die entsprechenden Spannungsänderungen an das Midi-Interface zurück.
Schritt 5: Einrichtung
Sobald das Skript auf den Arduino geladen wurde, besteht der nächste Schritt darin, Plug-and-Play zu betreiben. Es sind jedoch ein paar Schritte erforderlich, bevor es verwendet werden kann.
Unter OSX hat Apple eine Funktion zum Erstellen virtueller Midi-Geräte integriert, auf die über die Audio-Midi-Setup-Anwendung auf Macs zugegriffen werden kann. Sobald das neue Gerät erstellt wurde, kann Hairless MIDI verwendet werden, um eine serielle Verbindung zwischen dem Arduino und dem neuen virtuellen Midi-Gerät herzustellen. Die serielle Verbindung vom Arduino über Hairless MIDI arbeitet mit der Baudrate, die im Void-Setup-Teil des Skripts definiert ist und muss in den Hairless MIDI-Voreinstellungen entsprechend eingestellt werden.
Zu Testzwecken habe ich Midi Monitor verwendet, um zu überprüfen, ob die richtigen Daten über die serielle MIDI-Verbindung gesendet wurden. Nachdem ich festgestellt hatte, dass alle Tasten die richtigen Daten über die richtigen Kanäle gesendet haben, habe ich das MIDI-Signal so eingerichtet, dass es als MIDI-Eingang an Ableton Live 9 geleitet wird. In Ableton war ich in der Lage, jedem Button geschnittene Audio-Samples zuzuordnen und jedes Sample abzuspielen.
Empfohlen:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
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
Sag Hallo zu - Arduino UNO -: 4 Schritte
Sag Hallo zu | Arduino UNO |: Das Wichtigste zuerst..wenn Sie "wirklich" Wenn Sie mehr über Arduino UNO wissen möchten, dann gehen Sie einfach damit, nun, es ist ziemlich großartig tho:-) Hallo, Freunde in diesen Instructables, ich werde Ihnen die grundlegende, aber interessante Verwendung meines neuen Arduino zeigen
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