kk logo

 Beim M5Stack mit UiFlow braucht es nur sehr wenig um Timer in vielen verschiedenen Versionen zu Programmieren. Das liegt an den wirklich guten Blöcken für die Timer Funktion, diese Timer Funktion will ich dir auf dieser Seite vorstellen.  Am Ende hast du eine Stoppuhr die in Minuten, Sekunden und Zehntelsekunden die Zeit anzeigt. Wobei sich die Timer Funktion auch für viele anderen Programme verwenden lässt. 

Zu beginn ist der Monitor blau und zeigt keine Zeiten an. 

m5stack timer start stop callback 1

Mit drücken auf Stop wird die abgelaufene Zeit gespeichert und auf dem Monitor angezeigt. Mit der Taste Reset wird die Zeit auf 0 gesetzt. 

m5stack timer start stop callback 2

 Mit der Start Taste beginnt die Zeit zu zählen und der Monitor wird grün. Damit sieht man immer gleich ob die Stoppuhr gerade aktiv ist oder nicht. 

m5stack timer start stop callback 3

 Die "Timer" Funktionen finden sich bei den "Ereignissen". 

m5stack timer start stop callback 4

Als erstes braucht es immer eine "timer callback" Funktion. Hier kann der Name des Timers eingetragen werden. Ohne diesen Block kann bei den "Set, Start, Stop" Funktionen kein Timer ausgewählt werden. Mit "Start Timer period..." wird der Timer gestartet und die Funktion "timer callback" wird alle 100 Millisekunden bzw. so oft wie bei "period" eingetragen wiederholt. Mit "Stop timer" wird der Timer gestoppt und die "timer callback" Funktion wird nicht mehr wiederholt. m5stack timer start stop callback 5

 Um die "timer callback" Funktion nutzen zu können bracht es zum Beispiel eine Variable. Im Programm unten würde die Variable "timer" alle 100 ms um eine Zahl noch oben gezählt werden. 

m5stack timer start stop callback 6

 So sieht das Programm für die Stoppuhr in der Übersicht aus. 

m5stack timer start stop callback 7

  • Im Display stehen die Vorgaben für die Zeiten sowie Start, Stop und Reset damit klar ist welche Tasten du drücken musst.
  • Im Setup stelle ich alle Variablen auf 0 und zeige für m  s  h die passenden Einheiten an.
  • In der Schleife aktualiseire ich die Zahlen über das "setze_____". 
  • Da der Zähler nur eine Zahl zählen kann, musst du das rechnen der Sekunden und Minuten selbst übernehmen. 
    • Wenn "hundertstel" --> das ist ein Schreibfehler, das muss "Zehntel" heißen, gleich 9 ist dann ist eine Sekunde um
    • Wenn "Sekunde" gleich 59 ist  dann ist eine Minute um
    • Wenn die Zeit um ist dann wird jeweils die Vorherige Zeit auf 0 gesetzt und die Sekunde bzw. Minute +1 gesetzt. 

m5stack timer start stop callback 8

  • Taste A: Startet die Zeit, setzt den Monitor auf grün und setzt falls kein Reset gemacht wurde alle Werte auf 0. Würde man das setzen der Werte auf 0 nicht machen, dann könnte an der Stelle wo gestoppt wurde auch weitergezählt werden. 
  • Taste B: Stoppt den Timer , zeigt den blauen Hintergrund und zeigt nach danach wieder alle Texte an.
  • Taste C: Resettet alle Werte und zeigt dann 0 an.  

m5stack timer start stop callback 9

by grace

By grace alone somehow I standWhere even angels fear to treadInvited by redeeming loveBefore the throne of God aboveHe pulls me close with nail-scarred handsInto His everlasting arms

Ronnie

schwäbischer tüftler und bastler, kraftsportler, 41 Jahre, 1 Frau, 5 Kinder und 1003 Ideen. 

ronnie berzins at mee