Geschrieben am

Analoges Filter und Gate – Monotron Hack E04

monotron-synth-teil-4In dieser Folge gehts ans Eingemachte, wir steuern die ersten Parameter des Monotron mit dem Teensy und dafür müssen wir selber einen analogen Filter bauen! Das ist die erste Aufgabe für heute, nämlich über MIDI „Ton an“ und „Ton aus“ steuern – das sog. Gate. Und das ist tatsächlich ziemlich einfach!

Wir haben ja schon in der ersten Folge drei Leitungen am Monotron angelötet: GND verbinden wir am Arduino mit Ground, VCC mit 3,3 V und dann bleibt noch das Gate. Wie das funktioniert, kann man einfach ausprobieren, wenn man das angelötete Kabel ebenfalls an dern Ground-Pin hält: Der Monotron spielt einen Ton. Aha! Also einfach Gate mit einem Digitalpin am Arduino verbinden und dann passen wir das Programm ein bisschen an.

Arduino-Sketch: Teensy steuert Gate als ZIP-Datei

Wie man im Video sehen und hören kann, funktioniert es einwandfrei! Die richtige Tonhöhe behandeln wir in einer späteren Folge, was wir weglassen ist die Steuerung der Tonlautstärke, aber wir können die Velocity – also die Anschlagstärke der Tasten – für etwas anderes nutzen, nämlich um den Filter-Cutoff vom Monotron zu steuern!
Auch für den Cutoff gibt es am Monotron ein Lötpad, an das wir einfach ein Kabel anlöten. Der Monotron erwartet allerdings eine Impedanz von 10kOhm, d.h. zwischen den Ausgang vom Teensy und den Monotron stecken wir einfach einen 10K Widerstand.
Am Arduino können wir allerdings nicht einen beliebigen Pin nehmen, sondern es muss ein Pin mit einem Wellensymbol sein. Das ist am Teensy beispielsweise Pin 3.
Die Steuerung des Cutoffs – genau genommen steuert man die Grenzfrequenz des Filters – ist allerdings nicht so einfach. Denn: anders als beim Gate, wo es ja nur Ton an und aus gibt, also Digital HIGH und LOW, 1 und 0, hat der Cutoff ja ganz viele möglich Werte zwischen eine hohen Frequenz (also Filter ganz geöffnet) und einer niedrigen Frequenz (Filter ganz geschlossen). Dafür erwartet der Monotron eine Steuerspannung, also eine analoge Spannung, die zwischen 0V und 3,3V liegt. Je weiter der Filter aufgehen soll, desto höher muss die Spannung sein.

Allerdings kann man jetzt eine Menge Störgeräusche hören. Der Grund ist ziemlich gemein: auch wenn der programmierte Befehl „analog.Write“ heißt, kann unser Arduino gar keine echte analoge Spannung erzeugen, sondern diese nur simulieren, indem er den Ausgang ganz schnell zwischen AN und AUS hin und herschaltet. Das erklärt auch das aufgedruckte Wellensymbol. Das Signal ist also nicht kontinuierlich und hat dann die richtige Spannung, sondern je nachdem ob man mehr oder weniger Spannung haben will, ändert sich nur das Verhältnis wie lange der Strom eingeschaltet und wie lange er ausgeschaltet ist. Das nennt sich Pulsweitenmodulation.

Was wir jetzt bauen ist die einfachste Form eines analogen Low-Pass Filters. Der glättet unser Signal.

analoges-filter-schaltplan

Kompletter Sketch

Weitere Informationen

Kommentar verfassen