Die Calliope Mini verfügt ja schon über 4 Touch-Pins die auf Berührung mit den Fingern reagieren. Allerdings muss man gleichzeitig mit einem anderen Finger den Minuspol des Mini berühren was etwas unpraktisch ist.
Echte TouchpinsEchte Touchpins sind z.B. mit dem MPR121 (12 Pins), wie es Mirek Hancl mit dem Seeed Studio Sensor zeigt, möglich. Dort muss man wirklich nur die Sensorfläche mit einem Finger berühren und der Sensor springt an. Außerdem werden diese automatisch kalibriert. Es muss auch nicht unbedingt die Version von Seeed sein, sondern die billigen MPR121 Breakout-boards aus China für 1, 40€ laufen auch wunderbar!
Nun habe ich ganz frisch das Crickit von Adafruit mit 4 Touchpins. In der Anleitung steht auch, dass man die Pins 1-4 der IO-Ports als zusätzliche Touchpins verwenden kann. So hätte man dann 8 Touch-Pins!
Leider stehen die Funktionen zur Abfrage nicht ganz so bequem zur Verfügung wie bei Mireks Paket sondern geben nur einen Analogwert (0-1023) zurück. Durch die uns umgebenden elektromagnetischn Feldern beginnen die ausgelesenen Werte etwa bei 200. Adafruit schlägt in ihrem Guide den Wert 400 zur Abfrage vor, um das Grundrauschen zu umgehen Ich empfehle aber 700 da es bei der Arbeit mit Krokodilklemmen bei mir zu Problemen kam..
Mit den Touchpins klappt es wunderbar, die 4 Analogpins die als Touchpins verwendet werden dürfen, sprechen jedoch dauernd an, obwohl sie nicht gedrückt wurden!
Problematische AnalogpinsBei den Analogpins ist also etwas nachforschen angesagt. Hierzu lese ich einfach mal die Werte eines Touchpins und eines Analogpins aus:
Werte eines Touch-Pins:
Werte eines Analogpins
AnalogPins
Wir sehen dass das Grundrauschen der Touchpins bei 180 liegt, da hatte Adafruit also Recht. Wird ein Touchpin berührt, geht der Wert hoch auf über 850 und bleibt in dem Bereich so lange, wie man den Pin berührt.
Digitalpins als Touch
Bei den Digitalpins werden schon ohne Berührung Werte mit Spitzen bis 950 erreicht. Berührt man den Pin werden Pulse bis zum Wert 1023, dem maximal erreichbaren Wert erzeugt. Somit müssen wir den Wert für die Touchabfrage der Analogpins auf >1020 setzen um nicht haufenweise Fehlberührungen zu bekommen.
Zusätzliche TouchpinsBei meinen Tests habe ich festgestellt dass der 1. Analogpin von mir etwas spinnt und so nicht zu gebrauchen ist und dass auch die restlichen 4 Analogpins als Touchpins verwendet werden können! Somit hätte man dann maximal 12 Touchpins! (wenn man nicht wie ich einen weglassen muss)
Ah, nach einmal komplett aus- und wieder anschalten funktioniert auch der spinnende Pin!
ProgrammDas Programm zur Abfrage sieht dann beispielsweise so aus:
Comments