Hi zusammen,
ich hab jetzt wieder einen Punkt erreicht, an dem ich mit meinem 2016 gestarteten Looper technische und logische Hilfe benötige.
Der Quellcode folgt, wenn alles halbwegs fertig ist.
Ich möchte darauf hinweisen, dass ich nicht der hellste Stern am Elektrofirmament bin. Darum möchte ich die Experten darum bitten, etwaige Schnitzer zu finden.
Hier eine Zusammenfassung:
Und der erste:
Mit herzhaft vielen, jetzt ausgebesserten Fehlern.
Gerne ein hochtrabender Name " M8 MCS (Midi Control System) MKII " oder einfach "Mein Midi Looper".
Abgewichen von der vorherigen Wunschliste:
- 8 Presets x 4 Banks für Midi PC und CC Befehle.
- 8 Loops für eben 8 Effektgeräte.
- 1 Eingang für ein Expression-Pedal.
- 1 Verstärkerschaltung (Fernschaltung meines Koch Jupiter über Stereobuchse mit zwei Relais).
- Durch einfache Programmierflags für 8 Ports, 16 Ports oder einfach als Midischalter ohne Buchsen verwendbar.
- Empfängt Midi PC um die Loops zu schalten.
- Per Fußtaster menügeführt konfigurierbar. Tasterbelegungen werden automatisch gespeichert.
- In der "Theorie" einfach auf weitere 8 Schalter/Loops erweiterbar, weil alles modular ist.
- Arduino Nano als Herzstück. Aktuell nicht mehr so teuer, minimal weniger Lötarbeit, als alle selbst zusammenzusuchen.
- Mutefunktion
- Kleines schönes OLED Display
Hinweise/Fragen:
Best Practice beim Thema Amp Style Buchsen: Sollte man die Spitzen so verschalten, dass im geschlossenen Zustand jede Buchse mit der anderen Verbunden ist? Die Buchsen sind ja über die Ruheposition der Relais miteinander verbunden.
Welche Relais? Aktuell verwende ich FRT5 5DC direkt an 9V um den Spannungsregler zu entlasten. Für eine produzierte Platine wollte ich dann auf Relais Axicom 9V DC D2N ausweichen.
Die Platine soll durch einfache Programmierflags für 8 Ports, 16 Ports oder einfach als Midischalter ohne Buchsen dienen können. Da die Ansprache der Relais, LEDs und das Lesen der Schalter über Schieberegister funkioniert, sollen zwei Platinen aneinandergehängt werden können. Den Mikrocontroller der zweiten Platine kann man dann einfach weglassen. Die Mutefunktion des Ausgangs sowie die Ampschaltung wären in dem Fall doppelt vorhanden und schalten jeweils gleichzeitig, weil nur die Steuerleitung zusammengelegt wurden aber keine Logik zur Auswahl der Platine dahintersteckt. Mute Platine 1 und Mute Platine 2 schalten gleichzeitig, genauso die Verstärkerschalter. Midi wäre nur auf einer Platine vorhanden. Platinen verbinden über "Relay Ctrl1", "Adds Ctrl1" (Adds = Additionals im Sinne von Mute, Expression und Verstärkerschaltung), "LED Ctrl1 & 2" und "Switch Ctrl1 & 2".
Das Display ist aktuell ein 128x32 OLED mit SSD1306 Chip, das über i²c angesprochen wird. Leider fügt das Display dem ganzen ein nerviges Fiepen hinzu. Ich muss mal schauen, wie ich das abgeschirmt bekomme. Andere Vorschläge? Ein LCD fände ich jetzt zu klobig. Beim ersten Looper hatte ich ein vierfach 7-Segment TM1637 verwendet, was die Darstellung aber einschränkt.
74HC595 & ULN2803A der Relais wird noch durch TPIC6B595N ersetzt
Zuvor war ein zweiter Expressioneingang geplant (im Plan enthalten), der über die Stereobuchse des Verstärkerschalters realisiert werden sollte. Das würde gehen, ich müsste jedoch den Ring schaltbar von Masse trennen und mit 5 V verbinden. Mit allen potentiellen Nachteilen, wenn man den Schalter aus Versehen nicht umlegt und die Buchse als Verstärkerschalter nutzt.
Die Bedienung ist softwareseitig recht einfach gehalten und noch lange nicht fertig. Man kann z.B. die Konfiguration über vier Fußtaster erledigen.Aktuell gibt es einen Preset- und einen Loopermodus.
Wenn man oben "8 Presets x 4 Banks für Midi PC und CC Befehle." liest, dann könnte man sich ja fragen: "Warum nur für Midi?"
Die Antwort ist recht einfach: ich wollte schon immer einen Looper auf dem Pedalboard, das ich mir auf den Tisch stellen kann.
Dieser Looper sollte dann per Midischalter ferngesteuert werden. Also sind Presets per Schalter direkt am Looper selbst erstmal unwichtig aber machbar.
Da ich also eine faule Sau bin habe ich die Presets so gehalten, dass man die Relais eben vorerst nicht über die Schalter direkt steuert.
Das bedeutet, dass den Schaltern im Presetmodus keine Relais zugewiesen sind, sondern ihnen wird ein zu sendender Midibefehl zugeordnet, der dann gleichzeitig empfangen wird und daraufhin die Relais ansteuert. Bisher in abgespeckter Form mit nur einem Relais pro Presetschalter.
Ich hatte damals wegen Materialmangel aufgehört daran zu arbeiten und muss erstmal wieder in den Code reinkommen.
Der Plan ist erstmal etwas unsauber, der muss noch etwas aufgehübscht werden. Teile davon sind von anderen erhältlichen Loopern abgeschaut.
Edit: Im Plan sind zwei Platinenverbinder zu sehen, da ich das Ganze auf zwei einzelnen Lochrasterplatinen aufgebaut hatte.
Soll später mal auf eine kleine Platine von JLCPCB o.ä.