Midifizierung eines Orgelpedals

Midifizierung eines Orgelpedals

Gebraucht wurden:

30 TLE 4905L Hallsensor
10 x 10 m 0,14mm² Kupferschaltlitze (verschiedene Farben)
30 10k Ohm Widerstände
Teensy 3.5
30 M4x60 Schrauben
60 M4 Muttern
30 Winkel
30 Schrauben 3,5 x 30mm
30 Magnete (10 x 1mm)
2 Holzleisten 10x30x100 mm Fichte
2 Platinen
Schrumpfschlauch, Lötkolben, Lötzinn, Seitenschneider, „Dritte Hand“, Abisolierzange, Kabelbinder, etc.

Die Winkel habe ich vorne an die Pedaltasten geschraubt, damit ich mit den M4x60 Schrauben den Abstand von Magnet und Hallsensor regulieren kann. Diese Idee erwies sich im Nachhinein als weitaus nützlicher als zuvor gedacht.

Winkel vorne an den Pedaltasten mit den M4 Schrauben um später den Abstand zu regulieren

Die Hallsensoren wurden zu zwei Kabelbäumen zu je 16 bzw. 14 Sensoren zusammen gelötet. Dabei wurde ca. 10 cm Litze zwischen 2 Sensoren verwendet. Vcc und GND wurden durch verbunden, d.h. die Sensoren wurden in Reihe geschaltet und vom Datenpin jeweils einmal Litze zurückgeführt.

Bei den Hallsensoren ist darauf zu achten, dass man keine latched-Sensoren verwendet, da diese den letzten Zustand „speichern“ und erst bei umgekehrter Polung wieder schalten. Anschließend wurden die Datenpins auf den Platinen jeweils mit 10k Ohm Widerständen auf Vcc gebrückt und auf den Teensy durch verbunden.

Schematische Darstellung des Anschlusses eines Hallsensors

Nun kommen wir zum wesentlich interessanten Teil dem Arduino-Sketch, also das Programm was auf dem Teensy läuft. Dieses ist sehr einfach gehalten:

Die Sensoren wurden so an den Teensy angeschlossen, dass ihre Reihenfolge im Pedal der Reihenfolge der Anschlüsse (0-29) entspricht.

Im Programm gibt es zwei Arrays, welche den aktuellen und den vorherigen Status des jeweiligen Sensors halten (Array taste[] und tasteAlt[]).

Die Hauptschleife des Programms hat einen Counter (man hätte auch in der Hauptschleife eine for-Schleife integrieren können), welcher hochgezählt wird und nach 29 Abfragen wieder auf 0 zurückgesetzt wird (damit die Sensoren wieder in ihrer Reihenfolge von vorne abgefragt werden).

In der Hauptschleife werden dann die Status des aktuell zu prüfenden Sensors abgefragt und verglichen: ACHTUNG durch die Brücke von Vcc auf digital Out des Sensors mit dem 10k Ohm Widerstand liefert der Sensor ein default HIGH. Daher muss das NoteOn Signal gesendet werden, wenn der Sensor auf LOW liegt und das vorherige Signal HIGH war.
Da dieser Status länger als einen Durchlauf der Hauptschleife andauern kann (und ja auch meist andauern wird – der Teensy 3.5 arbeitet hier ja schließlich mit 120MHz) wird noch ein globaler Boolean (tasteGedrueckt) benötigt. Der Einfachheit halber wird dieser auch als Array wie Status von taste und tasteAlt gehalten.

Der Befehl usbMidi.sendNoteOff(note, velocity, channel) wird von der Teensy-Bibliothek mitgebracht. Hier ist lediglich darauf zu achten, dass wir mit unserem Pedal nun nur ein Offset von 36 haben, um auf die Tonhöhe zu kommen. Eine Übersicht über die Tonhöhen und Werten kann der MIDI-Spezifikation oder dieser Tabelle entnommen werden.

Bei der Kompilierung und dem Hochladen auf den Teensy ist darauf zu achten, dass der USB-Type Parameter auf MIDI steht.

USB-Type muss auf MIDI stehen

Damit wird ein Plug’n’Play fähiges USB-Midi Device erstellt, welches unter Windows ohne weitere Treiberinstallation an jeden PC angeschlossen werden kann.

Inspirationen habe ich hier gesammelt:
vanceg – Build MIDI Bass Pedals for About $150
Jacek Jarzina – Do-It-Yourself Organ Pedal for Home Use
Bitluni’s lab – MIDI organ pedals – 03: Build process
AixOrgue – Fabrication d’un pédalier d’orgue MIDI – How to buid a MIDI organ pedalboard – DIY hauptwerk Organ
Götz Müller Dürholt – Midicontroller
John Belinguier – My Pipe Organ Pedalboard
MIDI-Orgelpedal aufgebaut
Pedal unter Yamaha Clavinova

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert