[Arduino ] Tasten-Entprellung per Interrupt

  • Zurück zum Inhaltsverzeichnis

    Für eine Schrittmotor-Steuerung wurde ein Kippschalter benötigt, der nach dem loslassen in die Mittelstellung zurückfällt.
    Bei Reichelt findet man ihn unter der Bezeichnung: Kippschalter 6A-125VAC, 1x (Ein)-Aus-(Ein).


    Getestet wurde diese Software mit dem ESP32, mit der Arduino-IDE programmiert.
    Daher dürfte sie auch bei anderen Arduino-Ähnlichen Controllerboards funktionieren. Die I/O-Ports sollten dann aber angepasst werden.


    Ideegeber wurde eine Interruptlösung, die man im ESP32-Praxisbuch (S. 133) findet, allerdings musste sie hier "etwas" angepasst werden.
    Erstmal wurden die IOs geändert, denn im Praxisbuch werden die Pins des I2C-Busses benutzt, der wird aber noch für andere Zwecke gebraucht.
    Ebenfalls brauchte ich das "Toggeln" nicht, da nach dem loslassen des Tasters der Motor stehen bleiben muss.


    Der Kippschalter ist zwar schon eine Hardwareverriegelung, trotzdem habe ich auch noch eine Softwareverriegelung vorgesehen. Man weiß ja nie...

    Da dieser Kippschalter streng genommen aus 2 Tastern besteht, die mechanisch gekoppelt sind, braucht man auch 2 Interruptroutinen.
    Angezeigt wird es erstmal mit 2 LEDs, als Rückgabe dienen zwei globale Variablen.

    Die serielle Schnittstelle dient nur zum Debuggen, die Ausgabe sollte etwa so aussehen:

    Code
    1. Taster 1 links ein 1
    2. Taster 1 links aus 0
    3. Taster 2 rechts ein 1
    4. Taster 2 rechts aus 0

    MfG


    Jürgen

    Jahrelang wurde gesagt: Das geht nicht, das gibt es nicht und das war schon immer so.
    Und dann kam einer, der wusste das nicht, und hat es dann einfach gemacht.

    Meine Projekte

    Avatar