Stoppuhr Lösung: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 47: | Zeile 47: | ||
Also die Uhrzeit 6:55 entspricht 24 900 000 Millisekunden | Also die Uhrzeit 6:55 entspricht 24 900 000 Millisekunden | ||
Diese Zahl wirkt furchtbar groß und nicht angenehm zu rechnen. Dem micro:bit machen große Zahlen allerdings nichts aus. Er rechnet mit diesen genauso, wie wir mit kleinen Zahlen. | |||
ACHTUNG: Die Zeit des micro:bits entspricht nicht der momentanen Uhrzeit. Der micro:bit startet seine innere Uhr immer bei 00:00 wenn er eingeschaltet wird. Das ändert aber nichts an der Differenz von Start- und Zielzeit. | |||
ACHTUNG: Die Zeit des micro:bits entspricht nicht der momentanen Uhrzeit. Der micro:bit startet seine innere Uhr immer bei 00:00 wenn er eingeschaltet wird. Das | |||
</spoiler> | </spoiler> | ||
Version vom 11. Februar 2020, 12:38 Uhr
Hilfestellung und Lösung zur Aufgabe Stoppuhr
Programmiere den micro:bit als Stoppuhr. Miss dazu die Zeit vom ersten Drücken der Taste A bis zum zweiten Drücken der Taste A. Zeige diese Zeit in Sekunden am Display an.
Baue zuerst zwei Sensoren. Prüfe die Funktionstüchtigkeit der Sensoren mit dem micro:bit. Programmiere zuletzt ein Programm um die gefahrene Zeit zu berechnen.
Hinweis 1: Überlege dir wie eine Stoppuhr die Zeitdauer misst
Im micro:bit ist eine Uhr eingebaut, aber keine Stoppuhr. Überlege wie du eine Zeit stoppst wenn du eine Uhr besitzt, aber keine Stoppuhr. Zum Beispiel bei einem Rennen.
<spoiler text="Lösung"> Sieh zuerst beim Start auf die Uhr und merke dir die Zeit. Sieh dann im Ziel auf die Uhr und zieh die Startzeit von der Zielzeit ab. zum Beispiel:
Ziehe hier die Minuten beim Start von den Minuten im Ziel ab.
45 - 31 = 14 min
Der Läufer benötigt 14 Minuten.
Ziehe deswegen auch im Programm die Startzeit von der Zielzeit ab. </spoiler> <spoiler text="Erweiterung für Profis"> Wenn aber die Startzeit 06:55 und die Zeit im Ziel 07:08 beträgt, kann man nicht mehr einfach die Minuten abziehen.
Hier fehlen 5 Minuten auf 7 Uhr. Dazu werden die 8 Minuten nach 7 Uhr gezählt.
5 + 8 = 13 min
Der Läufer ist 13 Minuten unterwegs.
Dabei wird anders gerechnet, da die Zeit in verschiedenen Einheiten, also in Stunden und in Minuten angegeben ist. Ist sie in nur einer Einheit angegeben, zum Beispiel in Minuten, kann man die Zeiten wieder einfach voneinander abziehen. Die Startzeit 6:55, also 6 Stunden und 55 Minuten, sind dasselbe wie 415 Minuten. (6 · 60 + 5 = 415) Die Zielzeit 7:08, also 7 Stunden und 8 Minuten, sind dasselbe wie 428 Minuten. (7 · 70 + 8 = 428) Ziehe die 415 von den 428 Minuten ab.
428 - 415 = 13 min
Man erhält auf beiden Wegen dasselbe Ergebnis von 13 Minuten.
Der micro:bit rechnet nur in einer Einheit. Deswegen kann er immer die Startzeit von der Zielzeit abziehen. Mit dem Befehl "Laufzeit (ms)" zeigt die Uhr des micro:bits die Zeit in Millisekunden an. Eine Sekunde besteht aus 1000 Millisekunden. Die Startzeit aus unserem Beispiel wäre in Millisekunden folgende.
6:55 entspricht 415 Minuten. Mit 60 multipliziert werden diese zu Sekunden. Dann mit 1000 multipliziert werden diese zu Millisekunden. 415 · 60 = 24 900 Sekunden 24900 · 1000 = 24 900 000 Millisekunden Also die Uhrzeit 6:55 entspricht 24 900 000 Millisekunden
Diese Zahl wirkt furchtbar groß und nicht angenehm zu rechnen. Dem micro:bit machen große Zahlen allerdings nichts aus. Er rechnet mit diesen genauso, wie wir mit kleinen Zahlen.
ACHTUNG: Die Zeit des micro:bits entspricht nicht der momentanen Uhrzeit. Der micro:bit startet seine innere Uhr immer bei 00:00 wenn er eingeschaltet wird. Das ändert aber nichts an der Differenz von Start- und Zielzeit. </spoiler>
Hinweis 2: Erstelle eine vereinfachte Version des Programmes
Darin startest du dein Programm mit der Taste A und stoppst es mit der Taste B
Hinweis 3: Steuere deine Stoppuhr nur mit der Taste A
Überlege wie der micro:bit die Zeitdauer zwischen dem ersten Tastendruck und dem zweiten Tastendruck berechnet. Der micro:bit merkt sich vergangene Werte mithilfe von Variablen. Erstelle zuerst ein Programm in dem du die Zeit mit der Taste A startest und mit der Taste B stoppst. Das ist einfacher zu Programmieren. Rechne die Laufzeit (ms) durch 1000 um Sekunden zu erhalten. Um die Stoppuhr nur mit der Taste A zu bedienen muss sich der micro:bit merken ob die Taste A bereits gedrückt wurde oder nicht. Je nachdem zeigt der micro:bit die Zeitdauer an oder speichert die Startzeit. Mithilfe von Variablen kann sich der micro:bit auch vergangene Ereignisse merken