• Hallo Freunde

    Ich habe für mein Uhren Projekt solche kleinen Druck Schalter wo ich durch drücken die Farbwerte verändere. Jetzt stelle ich bei der Bedienung fest das die Farbwerte springen. Also müssten die Taster wohl entprellt werden. Da ich so etwas noch nie gemacht habe, Frage ich lieber einmal hier im forum nach. Bevor ich alles durcheinander bringe. Ich hoffe das ihr mir weiter helfen könnt

    l.G. Jürgen

    Verzeihe Deinen Feinden, aber vergesse nie Ihren Namen

  • Benutzt du einen µC? Wenn ja dann hast du zwei Möglichkeiten die Taster zu entprellen. In Hardware oder in Software. Ich persönlich entprelle eigentlich immer in Hardware, da muss ich mir dann bei der Softwareerstellung keine Gedanken machen. Nötig sind dazu pro Taster 1 Widerstand (10kOhm) und ein Kondensator mit 10 nF.

    Den Taster verbindest du auf der einen Seite mit GND, auf der anderen Seite mit dem Widerstand. Am anderen Ende des Widerstands schließt du den Controller an. Gleichzeitig schließt du daran aber auch einen Kondensator an, der nach GND verbunden ist. Im µC nicht vergessen die Pullups aktivieren

    Simpel aber sehr effektiv

  • Ja, das stimmt allerdings.

    Aber wer schaut sich den Code an und sagt, "Alter, das ist aber unschön wie du da entprellt hast"

    Und 2-5 ms merkt man auch nicht wenn man irgendwelche Standardanwendungen wie Farbwechsel etc macht.

  • Je nach Anwendung (z.B. als Nutzung mit PWM) können 5ms schon ziemlich viel sein.
    Als Grundregel gilt ja dass ISR so kurz wie möglich sein sollen (da sie den normalen Programmablauf und auch andere ISR aufhalten) und da ist ein delay halt nicht so gut.
    Wenn man die Bauteile/den Platz hat ist ein Hardware entprellen auf jeden Fall die elegantere Variante.

  • Danke Euch allen für die Tipps und Links. Delay() geht nicht da der Farbwechsel an einer Equinox Clock stattfndet um den Farbring sowie die eiger zu invertieren und die Seckundenzeiger auf Pendel um zu stellen. Die Uhr läuft mit einem Sftware Timer und läuft ziemlich genau im Monat +- 5 Sek. Nach oder Vor.. Bei delay() bringe ich Automatisch Pausen ein das möchte ich nicht. Aber die Bibliotheken die Ihr mir angegeben habt werde ich ausprobieren. Wenn garnichts geht versuche ich es per Hardware, ist ja auch nicht das broblem, noch hat die Uhr ja kein Gehäuse.

    http://www.vidup.de/v/dcBeQ/

    l.G. Jürgen

    Verzeihe Deinen Feinden, aber vergesse nie Ihren Namen

  • Hallo zusammen

    Ich habe mich für die Lösung mit dem Kondensato entschieden, also die Hardware Lösung, sie scheint mir am Stabielsten und funktioniert super. da ich scha nur indirekt die LED`s über den schalter verändere, also keinen Pin per Output anspreche , lediglich das Programmverhalten durch betätigung der Tasten verändere, ist das mit dem Kondensator schon eine schöne Sache. Läuft stabiel beim tastendruck, wo mir die Softwarlösungen doch bei zu langem drücken der tasten immer noch Sprünge verursachen.

    l.G. Jürgen

    Verzeihe Deinen Feinden, aber vergesse nie Ihren Namen