Erfahre in dieser Schritt-für-Schritt-Anleitung, wie man mit dem Calliope Mini eine Stoppuhr programmieren kann!

Was brauchst du?
Hinweis
In diesem Tutorial nutzen wir den Block-Editor von MakeCode für den Calliope Mini. Falls du eine andere Programmierumgebung (z. B. Open Roberta) nutzt, können die Schritte und Blöcke leicht abweichen.
Schritt 1: Was muss eine Stoppuhr können?
Es gibt verschiedene Arten von Stoppuhren. Bevor man selbst eine Stoppuhr programmiert, muss man sich überlegen, welche Funktionen die Stoppuhr haben soll.
Eine Stoppuhr sollte auf jeden Fall …
- … die Zeit zwischen einem Start- und Stoppsignal messen können!
- … möglichst genau sein!
Zusätzlich kann man weitere Funktionen integrieren, zum Beispiel:
- Die Stoppuhr lässt sich pausieren und danach wieder weiterstarten.
- Die Stoppuhr lässt sich zurücksetzen, sodass man eine neue Messung starten kann.
Schritt 2: Die Laufzeit-Variable
Beim MakeCode-Editor des Calliope Mini gibt es für unsere Anwendung ein sehr praktisches Element: Die Laufzeit-Variable:

Die Laufzeit-Variable trägt stets die genaue Zeit (in Millisekunden), wie lange das aktuelle Programm bereits läuft, seit es ausgeführt wurde. Das ist für das Stoppuhr-Projekt wahnsinnig praktisch! Wir können nun nämlich beim Starten der Stoppuhr die aktuelle Laufzeit speichern (Startzeit) und beim Stoppen der Stoppuhr nochmal die Laufzeit speichern (Endzeit). Es gilt dann:
Dauer = Endzeit – Startzeit
Wir brauchen also drei Variablen: dauer, endzeit und startzeit. In den MakeCode-Blöcken sieht das folgendermaßen aus:

Schritt 3: Was passiert, während die Stoppuhr läuft?
Zusätzlich muss man sich überlegen, was passiert, wenn die Stoppuhr läuft. Man könnte z. B. stets die aktuelle Dauer anzeigen. Gerade bei zwei- oder dreistelligen Zeiten (z. B. 23 Sekunden) dauert das Anzeigen der Zahl aber viel zu lange, sodass nur alle paar Sekunden eine neue Zeit angezeigt wird.
Alternativ könnte man einfach die RGB-LEDs blinken als Status blinken lassen, sodass man weiß, dass die Stoppuhr läuft. Das lässt sich mit der folgenden Sequenz lösen:

Die Variable „läuft“ ist unsere vierte Variable. Sie soll nur zwei Werte annehmen, entweder 1 (Die Stoppuhr läuft) oder 0 (Die Stoppuhr läuft nicht)!
Schritt 4: Programm-Start der Calliope Mini Stoppuhr
Beim Programmstart wird die Variable „läuft“ zunächst auf den Wert 0 gesetzt, das heißt die Stoppuhr läuft nicht. Zusätzlich sollen alle LEDs der LED-Matrix ausgeschaltet werden, falls noch welche (z. B. von einer vorigen Messung) angeschaltet sind.

Schritt 5: Starten und Stoppen der Stoppuhr
Mit dem Kopf A auf dem Calliope Mini soll die Stoppuhr gestartet werden. Dazu wird die LED-Matrix geleert und die aktuelle Laufzeit in der Variablen „startzeit“ gespeichert. Außerdem wird die Variable „läuft“ auf den Wert 1 gesetzt, das heißt die Stoppuhr läuft.

Mit dem Knopf B auf dem Calliope Mini soll die Stoppuhr gestoppt werden. Dazu wird in der Variablen „endzeit“ die aktuelle Laufzeit gespeichert. Die Variable „läuft“ wird auf 0 gesetzt. Außerdem wird nun die Dauer berechnet, also die Differenz aus Endzeit und Startzeit.
Wenn die Dauer der gestoppten Zeit in Sekunden (und nicht Millisekunden) ausgegeben werden soll, muss man den Wert noch durch 1000 teilen, denn 1000 Millisekunden sind genau eine Sekunde. Man kann diese Kommazahl noch runden, sodass eine ganze Sekunden-Zahl ausgegeben wird.

Schritt 6: Calliope Mini Stoppuhr zurücksetzen
Schließlich soll sich die Stoppuhr zurücksetzen lassen, sodass man eine neue Messung durchführen kann. Dies soll geschehen, wenn man die auf dem Calliope Mini die Knöpfe A + B gemeinsam drückt. Dann muss (wie beim Programmstart) die Variable „läuft“ auf 0 gesetzt und die LED-Matrix geleert werden.

Fazit
Mit dem Calliope Mini lässt sich in wenigen Schritten eine Stoppuhr bauen! Die programmierte Stoppuhr funktioniert gut und ist genau. Eine Mögliche Erweiterung wäre es zu ermöglichen, dass man die Stoppuhr pausieren und später weiterlaufen lassen könnte.
Auf diesem Blog findest du hier weitere spannende Calliope Mini Projekte!