Bei Aufbau eines Piano- bzw. Klavier- ähnlichen Instrumentes taucht gleich die Frage nach geeigneten Schaltern auf, die
die Rolle der Tasten übernehmen sollten. In dem Versuch wird die Aufgabe der Tasten von einfachen Berührungssensoren übernommen, die wir
selbst konstruieren werden. Ein solcher Sensor basiert auf einer speziellen Verschaltung von zwei Transistoren und zwei Widerständen.
Die Schaltung ist durchaus bekannt und trägt den Namen Darlington-Schaltung. Die Transistoren werden hier so verschaltet, dass die
Verstärkungsfaktoren der beiden Transistoren multipliziert werden. Bei Berührung zwei leitenden Sensorflächen, in diesem Fall zwei
blanken Drähten, wird der Basis-Stromkreis des ersten Transistors geschlossen und die Schaltung aktiviert.
Berührungssensor mit zwei Drähten.
Die Berührungsflächen unseres Berührungssensors bestehen aus zwei blanken Drähten. Ein Draht
steht unter Spannung von 5V, der andere ist über einen Widerstand mit der Basis des ersten Transistors verbunden.
Transistoren BC172C
In dem Beispiel kommen 14 Transistoren BC172C zum Einsatz. Da pro Berührungssensor zwei Transistoren verwendet werden,
besteht die Schaltung aus sieben Berührungssensoren, die in der Schaltung als Klavier-Tasten fungieren werden.
In dem Programm werden die Töne mit der Funktion tone() generiert. Die zu jeder Taste gehörende Frequenz ist in dem Array Note []
gespeichert. Sobald eine Taste betätigt wird oder genauer gesagt zwei Drähte berührt werden, wird die der Taste zugeordnete Frequenz an die
Funktion tone() übergeben. Über den Ausgang D12 wird dann der Lautsprecher angesprochen. Bei dem Versuch wird ein 3W – Lautsprecher
(Impedanz 8 Ohm) verwendet. Vor den Lautsprecher wurde, um die Einstellung der Lautstärke zu ermöglichen, in
die Schaltung ein Potenziometer (P1) eingepflegt.
Eine weitere Erweiterung der Schaltung neben dem Lautstärkeregler stellt die 7-Segmentanzeige dar. Die Komponente ist nicht unbedingt
notwendig und dient nur der Anzeige. Im Laufe des Programms können mithilfe der Anzeige die aktuell abgespielten Frequenzen eingesehen
werden. Für die Ansteuerung der Anzeige werden zwei Pins des Arduino benötigt. In dem Beispiel sind das die Pins D10 und D11. Damit die Anzeige
richtig funktioniert, muss vor dem Start des Programms die Bibliothek TM1637Display.h installiert werden.
Zum Schluss bekommt die Schaltung noch einen Schalter. Mit ihm kann man in eine andere Tonlage umschalten. Steht der Schalter S1 auf
OFF, stehen uns die Noten c‘, d‘, e‘, f‘, g‘, a‘ und h‘ zur Verfügung. Bei eingeschaltetem Schalter S1 wird auf die Noten c‘‘, d‘‘,
e‘‘, f‘‘, g‘, a‘‘ und h‘‘ umgeschaltet.
Grundsätzlich ist die Aufgabe, die das Programm zu bewältigen hat, relativ simpel. Nachdem ein Berührungstaster betätigt wird, wird
mit einer vordefinierten Frequenz der Lautsprecher zum Schwingen gebracht. Das war‘s.
In diesem Fall müssen wir allerdings das Programm noch ein wenig erweitern. Beim Antippen der Berührungstaster kann es gelegentlich zu
kurzen Unterbrechungen des Signals kommen. Das geschieht, wenn man einen Sensor nur leicht berührt oder die Haut besonders trocken ist.
Der Effekt ähnelt dem Prellen eines gewöhnlichen mechanischen Tasters. Hier führen wir eine Variable „Wartezeit“ von 10 ms ein und geben dem
Signal somit Zeit, sich zu stabilisieren. Bei jeder negativen Flanke des Signals wird die Zeitmessung neu gestartet.
// **************************************************************************************
// Mini - Piano
// Finger-Schalter mit Darlington Schaltung
// Arduino Nano, IDE 1.8.13
// **************************************************************************************