Verwendung alternativer Micro-Key Taster

Seit einigen Wochen habe ich mich nun mit der Idee beschäftigt einen TonUINO zu bauen. Da Microprozessoren und Programmieren für mich alles Neuland sind, habe ich viel hier im Forum und im Internet recherchiert. Jetzt ist es soweit. Ich habe es geschafft alle Teile zusammenzulöten und die Firmware aufzuspielen und trotz ein paar kleinen Schwierigkeiten hier und da habe ich es doch für meine Begriffe recht ordentlich hinbekommen. Ein Dank an dieser Stelle an alle aktiven hier im Forum, für die vielen hilfreichen Beiträge. Ich habe noch kein Thema hier im Forum gefunden, dass nicht gelöst wurde. Das hat bei mir auch den Ausschlag gegeben, mich an ein TonUINO zu wagen.

Für meinen TonUINO verwende ich andere Taster, als die empfohlenen Arcade Buttons. Ich hoffe ihr könnt mir trotzdem Helfen. Bei den von mir verwendeten Tastern zeigt der Arduino bei einem schnellen Klick keine Reaktion. Bei einem kurzen (wenn auch nicht ganz kurzen) Klick stellt er vor/zurück und bei einem längeren Klick (und auch bei einem Dauerklick) Laut und Leise. Ich hatte Anfangs den verdacht, dass dies ggf. an meinen Tastern liegen könnte. Ich habe das überprüft, indem ich das Input Signal “manuell” ausgelöst habe, sprich per Jumperkabel Female-Male (von GND auf A0/1/2). Bei einer nur sehr kurzen Berührung von A0/1/2 erfolgt tatsächlich keine Aktion. Die Berührung (auch wenn sie kurz ist) muss eine gewisse Dauer haben, damit die gewünschte Aktion erfolgt. Könnte es sein, dass dies durch die Programmierung verursacht wird? Ich bin da wahrlich kein Experte, das ist eher meine Vermutung.

Ich verwende diese Taster: Micro-Key-Taster-6x6mm-Buttons-Module

Das liegt vermutlich am entprellen welches die verwendete Button Library vornimmt. Eine gewisse Zeit muss der Button schon gedrückt sein. Ich hab auf meinem dev Board auch andere Taster und soweit keine Probleme. Zu deinen Tastern kann ich leider soweit nix sagen.

Schau mal in der Readme der JC-Button Library.

Da ist beschrieben, wie man das Bouncing / Entprellen einstellen kann (Standard: 25 ms)

##### Optional Parameters **dbTime:** Debounce time in milliseconds. Defaults to 25ms if not given. *(unsigned long)*

Das müsste dann an dieser Stelle definiert werden:

//Button pauseButton(buttonPause);
Button pauseButton(buttonPause,25,false,false); //mit Pull-Down-Widerstand
Button upButton(buttonUp);
Button downButton(buttonDown);

Achtung: Ich habe meinen Pause-Button von Pull-Up auf Pull-Down umgestellt.

Mir ist es deswegen aufgefallen, weil der TonUINO keine Reaktion zeigt, wenn ich den Button “normal” betätige. Um eine Reaktion zu erzielen, muss ich ihn bewüsst etwas länger betätigen, als ich es normalerweise tun würde. Es kann vielleicht schon auch am Button liegen, wenn der Button besonders schnell zurück in Ausgangsstellung kommt. Was für Button verwendest Du auf Deinem dev Board?

Danke. 25ms hört sich sehr kurz an. Ich versuch das mal zu testen.

Die Taster funktionieren einwandfrei. Problem beseitigt!

Ich hatte die Taster falsch verlötet. Offenbar sind die Kabel dauerhaft miteinander verbunden, wenn man die Taster so verlötet wie ich das zuerst gemacht habe:

Nachdem ich das festgestellt hatte, habe ich zunächst ein bisschen ausprobiert, an welche Stellen die Kabel gehören, ohne dabei schon zu löten. Dabei habe ich dann diese Verzögerung festgestellt. Nun habe ich heute begonnen, die Kabel an die richtigen Stellen anzulöten. Uns siehe da, die Taster funktionieren einwandfrei und ohne weitere Anpassungen der Programmierung.

Hier Bilder, wie die Schalter (bzw. erst mal einer) jetzt verlötet sind:

Das RFID Modul ist übrigens von Funduino und hatte den Vorteil, dass es schon fertig gelötet war. Nachteil, der mir erst hinterher aufgefallen war: Die Anschlüsse passen nicht zum TonUINO Board (wie man auf dem Foto an dem weißen Kabel erkennen kann).

Du meinst die Stiftleiste?

Edit: Hier steht es auch →
https://www.funduinoshop.com/epages/78096195.sf/de_DE/?ObjectPath=/Shops/78096195/Products/A-3-1