Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Ich habe diesen MIDI-Controller vor kurzem entwickelt, um den Phrase Looper zu steuern, der in das Boss DD500 Delay-Pedal eingebaut ist. Ich steuere mein gesamtes Gitarren-Rig über ein Behringer FCB-MIDI-Board und kann so Patches auf dem Delay-Pedal im Effekt-Loop wechseln und gleichzeitig die Amp-Kanäle umschalten.
Das DD500 hat eine sehr einfache Looper-Funktion eingebaut, aber einer der Nachteile davon ist, dass der Looper, wenn er aktiv ist, über die Fußschalter am Pedal gesteuert wird. Das bedeutet, dass Sie Patches auf dem Pedal nicht ändern können, während der Loop aktiv ist, da er im Wesentlichen die Funktionen der Fußschalter erfasst. Da ich MIDI verwende, gibt es diese Einschränkung nicht, da es sich einfach um ein physisches Problem handelt. Dies bedeutete jedoch, dass ich 5 Fußschalter auf meinem Haupt-MIDI-Controller für den Looper reservieren musste, und so beschloss ich, einen separaten Controller für diese zu bauen.
Mein ursprünglicher Plan dafür war, ein kleines Hammond-Gehäuse zu nehmen und 5 Fußschalter einzubauen und mir einige grundlegende Arduino-Codierung beizubringen. Als ich anfing, mehr zu lernen und mein Code funktionierte, motivierte es mich schließlich, mehr Dinge auszuprobieren, und dann wurde es im Grunde zu etwas Größerem.
Schritt 1: Konzepte
Eine der frühen Ideen war, nur 5 Tasten hintereinander mit Status-LEDs zu haben. Dies war ziemlich einfach auf einem Steckbrett mit dem Arduino zu modellieren. Das Hinzufügen neuer Funktionen und Hardware war schließlich ein Prozess, bei dem ich ständig das physische Layout auf Papier entwarf und neu gestaltete und auf dem Steckbrettprojekt aufbaute. Auch mit viel Planung wurde vieles am Anfang sozusagen „on the fly“erledigt.
Die 2 Bilder oben zeigen die allererste Zeichnung, die ich zu Papier gebracht habe, was die Idee in erster Linie auslöste, gefolgt von einem Monat mit Notizen, die den physischen und PCB-Layouts prägten.
Schritt 2: Breadboard Prototyping
Das gesamte Projekt wurde auf einem Steckbrett aufgebaut und vollständig getestet, um sicherzustellen, dass es mit dem DD500 vollständig funktioniert, bevor mit der dauerhaften Unterbringung begonnen wurde. Dem Code wurden einige zusätzliche Funktionen hinzugefügt, die dem Controller einige zusätzliche Funktionen gaben, die dem DD500 fehlten. Diese werden im Codeabschnitt ausführlicher besprochen.
Das Pedal verfügt über 5 Fußschalter, 4 Status-LEDs, 5 I2C-LCD-Bildschirme und wird von einem Arduino Nano Every gesteuert. Es wird von einem 9-V-Gitarrenpedal-Netzteil über eine separate Breakout-Box mit Strom versorgt, die diesen Strom über das MIDI-Kabel überträgt, wobei die 2 Pins verwendet werden, die normalerweise nicht an einem MIDI-Anschluss verwendet werden.
Schritt 3: Herstellung
Ich habe mir viele mögliche Gehäuse für die Unterbringung des Projekts angesehen und sogar über die Idee nachgedacht, mein eigenes Gehäuse aus Aluminiumblechen zu biegen. Schließlich entschied ich mich für ein Hammond-Gehäuse, das gerade breit genug war, um die 5 16X2-LCD-Bildschirme, die ich ausgewählt hatte, unterzubringen.
Die Fußschalter waren generische kurzzeitige Soft-Touch-Schalter.
Zu diesem Zeitpunkt entschied ich mich, benutzerdefinierte Bildschirmblenden anfertigen zu lassen, um die Vorderseite sauber zu halten, da ich die Bildschirmlöcher mit einem Dremel von Hand schneiden würde und wusste, dass es wahrscheinlich einige Bereiche geben würde, die nicht perfekt waren. Ich ließ diese von einem lokalen Designstudio schneiden, das Laserschneiden durchführt, zuerst als Kartonschablonen, um sicherzustellen, dass meine Größen alle korrekt waren, und dann in 3 mm weißem Acryl für das letzte Stück.
Schritt 4: CAD-Mock-up und Layout
Von meinen Papierskizzen habe ich Inkscape verwendet, um alle physischen Komponenten auszulegen und die Größen und Positionen zu finalisieren. Ich habe mir an dieser Stelle auch die Bildschirmmontagemethode ausgedacht. Um die Anzahl der sichtbaren Schrauben auf der Vorderseite zu minimieren, habe ich beschlossen, alle Bildschirme von hinten mit Abstandshaltern an einigen Aluminiumplatten zu befestigen, und dann würde ich nur 4 Schrauben pro Platte benötigen, um sie am Gehäuse zu befestigen, was würde auch die Bildschirmränder in Position halten.
Schritt 5: PCB-Design
Um das PCB zu erstellen, habe ich eine Website namens EasyEDA verwendet. Es verfügt über eine Editorumgebung, in der Sie einen Schaltplan Ihrer Komponenten zeichnen, ihn in ein PCB-Layout umwandeln und ihn dann direkt in JLCPCB exportieren können, um ihn zu Platinen zu verarbeiten. Ich hatte so etwas noch nie zuvor gemacht, aber sie haben eine ausgezeichnete Anleitung auf der Website, die erklärt, wie der Editor funktioniert, und innerhalb einer Stunde hatte ich das Board entworfen und bestellt.
Einige Bereiche auf der Platine waren damals aus Unerfahrenheit schlecht gestaltet, wie zum Beispiel die Verwendung einer einzelnen 5-V-Schiene für die Bildschirmspannung, anstatt jedem eine separate Einspeisung zu geben. Glücklicherweise reichten auftretende Spannungsabfälle nicht aus, um Probleme mit den Bildschirmen zu verursachen.
Die Boards kamen ca. 2 Wochen später an und funktionierten zum Glück ohne Probleme.
Schritt 6: Bildschirmhalterungen
Die ersten hergestellten Teile waren die Bildschirmhalterungen. Ich habe dafür 3mm Aluminium verwendet und Löcher für Abstandshalter gebohrt. Die Abmessungen wurden bestimmt, indem alles auf dem Schreibtisch ausgelegt wurde, wie ich es für das endgültige Pedal wollte, und von den Befestigungslöchern auf den Bildschirmplatinen aus messen. Ich habe auch die Fußschalter mit ihnen platziert, um die Abstände für diese zu erhalten.
Sobald alle Löcher gebohrt waren, wurden die Bildschirme montiert und auf Rechtwinkligkeit überprüft, indem ein Lineal gegen die flachen unteren Kanten gehalten wurde. Bisher hat alles gepasst.
Schritt 7: Gehäuse
Als nächstes wurde das Gehäuse modifiziert. Die Fußschalter und LEDs waren unkompliziert, da sie jeweils nur ein 12-mm- bzw. 5-mm-Loch benötigten.
Der Hauptteil der körperlichen Arbeit entstand beim Ausschneiden der Sieblöcher. Ich habe einen Dremel mit einigen Hochleistungs-Trennscheiben und verschiedenen Feilen verwendet, um die Löcher danach zu reinigen. Dieser Teil dauerte insgesamt etwa 2 Stunden.
Das von mir verwendete Gehäuse wurde für industrielle Zwecke entwickelt und wurde durch Biegen eines einzigen Stücks Metall und Punktschweißen der Ecken hergestellt. Dies bedeutete, dass einige Arbeiten erforderlich waren, um diese Ecken zu reinigen, indem Karosseriespachtel verwendet wurde, um die tiefen Stellen zu nivellieren und die Lücken an der Kante zu füllen.
Zu diesem Zeitpunkt war das Gehäuse vollständig vorbereitet und ich habe alles nachgebaut, nur um zu sehen, wie es aussehen würde.
Schritt 8: Äh-Oh
Und dann kam die Erkenntnis, dass ich trotz all meiner Planung und Messung einen GROßEN Fehler gemacht hatte. Das Platinen- und Gehäuselayout habe ich unabhängig voneinander entworfen. In meinem Kopf würde das Brett fast bündig an der oberen Wand sitzen, mit einem kurzen Abstand dahinter. Aber das konnte auf keinen Fall passen. Und es war auch kein Platz, um es zur Seite zu stellen. Ein riesiges Versehen, das ich aber zum Glück beheben konnte, da zwischen den Bildschirmhalterungen auf der Rückseite des Gehäuses noch ziemlich viel Platz war. Noch ein paar Löcher in die Bildschirmhalterungen gebohrt und ein paar Abstandshalter, und wir sind wieder im Geschäft, mit gerade genug Platz, um die Abdeckung anzubringen.
Schritt 9: Farbe
Alles wurde wieder zerlegt und das Gehäuse in Metallic Candy Red lackiert, gefolgt von einigen Lackschichten. Das Gehäuse wurde eine Woche lang aushärten gelassen, obwohl ich beim Aufbau feststellte, dass der Lack zu diesem Zeitpunkt noch etwas weich war. Einige kleine Stellen des Lacks wurden dadurch beschädigt. Etwas, das ich bei meinem nächsten Projekt vermeiden möchte.
Während dieser Zeit hatte ich einen 3D-Drucker gekauft und beschlossen, damit einige Unterlegscheiben für die Fußschalter herzustellen, da die von mir gekauften Nylons einen schrecklichen Gelbstich hatten und eine schlechte Größe hatten.
Schritt 10: Verkabelung
Der letzte Teil der physischen Montage bestand darin, alles zu verkabeln. Auch hier kamen die Probleme mit dem Gehäusedesign/PCB-Design wieder auf und einige der Header-Positionen auf der Platine bedeuteten, dass viele Drähte übereinander gekreuzt wurden, was die Dinge etwas unordentlicher machte, als ich gehofft hatte.
Die Drähte für die Schirme wurden in Sätzen von 4 gebündelt und mit Schrumpfschlauch und geflochtener Umhüllung zu einem einzigen Stück hergestellt.
Schritt 11: Arduino-Code
Als totaler Anfänger in der Arduino-Codierung habe ich mir das selbst beigebracht. Der Code ist wahrscheinlich das Programmieräquivalent eines „langen Weges“, aber ich war froh, dass er wie beabsichtigt funktioniert hat.
Der Greifer des DD500 hat 5 Grundfunktionen:
- Looper ein/aus
- Aufnahme/Overdub/Wiedergabe
- Aufgenommene Schleife abspielen
- Wiedergabe stoppen
- Aufgezeichnete Schleife löschen
Jede dieser Funktionen verfügt über einen entsprechenden Fußschalter und, mit Ausnahme der Stopptaste, über eine Status-LED. Die LCD-Bildschirme werden auch mit relevanten Informationen aktualisiert, um anzuzeigen, ob sich das Pedal im Aufnahme-, Overdub- oder Wiedergabemodus befindet und welche Funktion die einzelnen Fußschalter je nach aktuellem Geschehen ausführen.
Eine weitere Funktion, die ich hinzugefügt habe, war, zu verfolgen, wie oft die Aufnahme-/Overdub-Funktion aktiviert wurde. Dies wird im Code verfolgt, indem eine ganze Zahl inkrementiert wird, die auf dem Bildschirm "Puffer" angezeigt wird und auflistet, wie viele Spuren aufgezeichnet wurden. Der DD500 kann zwar keine einzelnen Spuren löschen, aber ich habe dies nur als Codierungsübung hinzugefügt, um zu sehen, ob es funktioniert.
Es scheint ein Problem beim Hochladen von Dateien zu Instructables zu geben, und so habe ich stattdessen eine Kopie des Codes auf Pastebin abgelegt unter:
Im Code wurden 2 Bibliotheken verwendet:
Flüssigkristall_I2C
FortySevenEffects MIDI-Bibliothek
Schritt 12: Fazit
Eines der größten Dinge, die ich aus diesem Projekt mitnehme, ist, dass eine möglichst frühzeitige Planung potenzielle Probleme vermeiden kann. Die Probleme mit meiner Leiterplattenmontage unterstreichen die Bedeutung dieser. Gute Notizen zu machen ist auch etwas, das ich sehr empfehlen kann. Ohne sie wäre ich vielleicht auf mehr Probleme gestoßen, als ich hatte. Ich baue gerade meinen zweiten MIDI-Controller und dieses Mal habe ich größere Anstrengungen unternommen, um meinen Code zu rationalisieren und meine Hardware so zu gestalten, wie die Platine montiert werden soll.