Stoppuhr Lösung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Wechseln zu: Navigation, Suche
Zeile 54: Zeile 54:
  
 
====Hinweis 2: Erstelle eine vereinfachte Version des Programmes====
 
====Hinweis 2: Erstelle eine vereinfachte Version des Programmes====
Darin startest du dein Programm mit der Taste A und stoppst es mit der Taste B  
+
Darin startest du die Stoppuhr mit der Taste A und stoppst es mit der Taste B.
  
 +
Dazu merkt sich der micro:bit den Zeitpunkt an der die Taste A gedrückt wird. Verwende dazu eine Variable.
  
<ul>
+
<spoiler text="Programmcode">
<li>
+
[[File:Stoppuhr_Programm_Taste_A_1.PNG|300px|border|Zeiten1]]
 +
</spoiler>
 +
Durch das Drücken der Taste B wird der Stoppvorgang abgeschlossen. Ziehe die Startzeit von der aktuellen Zeit ab um die gestoppte Zeit zu erhalten. Zeige nun die gestoppte Zeit auf der LED-Matrix an.
 +
 
 +
<spoiler text="Programmcode">
 +
[[File:Stoppuhr_Programm_Taste_B_2.PNG|300px|border|Zeiten1]]
 +
</spoiler>
 +
Die gestoppte Zeit ist sehr groß, da sie in Millisekunden angezeigt wird. Um die gestoppte Zeit in Sekunden, statt in Millisekunden anzuzeigen, rechne die gestoppte Zeit durch 1000. Statt des Kommas wird ein Punkt angezeigt, da der micro:bit aus England kommt.
 +
 
 +
<spoiler text="Programmcode">
 +
[[File:Stoppuhr_Programm_Taste_B_1.PNG|300px|border|Zeiten1]]
 +
</spoiler>
  
</li>
 
</ul>
 
  
 
====Hinweis 3: Steuere deine Stoppuhr nur mit der Taste A====
 
====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.
+
Um die Stoppuhr nur mit der Taste A zu bedienen muss sich der micro:bit merken, ob die Taste A bereits gedrückt wurde. Je nachdem zeigt der micro:bit die Zeitdauer an, oder speichert die Startzeit. Mithilfe von Variablen merkt sich der micro:bit vergangene Ereignisse. Erstelle eine Variable '''gestartet''', die sich merkt ob die Stoppuhr bereits gestartet wurde. Stelle diese Variable auf 0 wenn die Stoppuhr noch nicht gestartet wurde und stelle sie auf 1, wenn die Stoppuhr gestartet wurde.
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.
+
Gib in '''Wenn gestartet = 0''' den Programmteil, der beim Start des Stoppvorgang passiert. In '''ansonsten''' den Programmteil, der beim Ende des Stoppvorgang passiert. Stelle die Variable '''gestartet''' nach Ende des Stoppvorgang wieder auf 0, damit das Programm neu startet.
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
+
 
 +
<spoiler text="Programmcode">
 +
[[File:Stoppuhr_Programm_fertig.PNG|300px|border|Zeiten1]]
 +
</spoiler>
 +
Eleganter funktioniert das Ganze indem du die Variable '''Startzeit''' nimmst um festzustellen, ob die Taste A bereits gedrückt wurde.
 +
 
 +
<spoiler text="Eleganter Code für Profis">
 +
[[File:Stoppuhr_Programm_elegant.PNG|300px|border|Zeiten1]]
 +
</spoiler>
 +
 
 +
Um den Punkt durch ein Komma zu ersetzen, rechne die Zahl vor dem Komma und die Zahl hinter dem Komma aus. Verwende den '''verbinde''' Baustein, um die beiden Zahlen mit einem Komma dazwischen zu verbinden.
 +
 
 +
<spoiler text="Ersetze Punkt durch Komma">
 +
[[File:Stoppuhr_Programm_Komma.PNG|300px|border|Zeiten1]]
 +
</spoiler>
 +
Das funktioniert genauso mit dem eleganten Code.
 +
das fertige Programm findest du unter [https://makecode.microbit.org/_XVw9H2dRaKdJ MakeCode].

Version vom 3. März 2020, 16:35 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.

Lösung

Erweiterung für Profis


Hinweis 2: Erstelle eine vereinfachte Version des Programmes

Darin startest du die Stoppuhr mit der Taste A und stoppst es mit der Taste B.

Dazu merkt sich der micro:bit den Zeitpunkt an der die Taste A gedrückt wird. Verwende dazu eine Variable.

Programmcode

Durch das Drücken der Taste B wird der Stoppvorgang abgeschlossen. Ziehe die Startzeit von der aktuellen Zeit ab um die gestoppte Zeit zu erhalten. Zeige nun die gestoppte Zeit auf der LED-Matrix an.

Programmcode

Die gestoppte Zeit ist sehr groß, da sie in Millisekunden angezeigt wird. Um die gestoppte Zeit in Sekunden, statt in Millisekunden anzuzeigen, rechne die gestoppte Zeit durch 1000. Statt des Kommas wird ein Punkt angezeigt, da der micro:bit aus England kommt.

Programmcode


Hinweis 3: Steuere deine Stoppuhr nur mit der Taste A

Um die Stoppuhr nur mit der Taste A zu bedienen muss sich der micro:bit merken, ob die Taste A bereits gedrückt wurde. Je nachdem zeigt der micro:bit die Zeitdauer an, oder speichert die Startzeit. Mithilfe von Variablen merkt sich der micro:bit vergangene Ereignisse. Erstelle eine Variable gestartet, die sich merkt ob die Stoppuhr bereits gestartet wurde. Stelle diese Variable auf 0 wenn die Stoppuhr noch nicht gestartet wurde und stelle sie auf 1, wenn die Stoppuhr gestartet wurde.

Gib in Wenn gestartet = 0 den Programmteil, der beim Start des Stoppvorgang passiert. In ansonsten den Programmteil, der beim Ende des Stoppvorgang passiert. Stelle die Variable gestartet nach Ende des Stoppvorgang wieder auf 0, damit das Programm neu startet.

Programmcode

Eleganter funktioniert das Ganze indem du die Variable Startzeit nimmst um festzustellen, ob die Taste A bereits gedrückt wurde.

Eleganter Code für Profis


Um den Punkt durch ein Komma zu ersetzen, rechne die Zahl vor dem Komma und die Zahl hinter dem Komma aus. Verwende den verbinde Baustein, um die beiden Zahlen mit einem Komma dazwischen zu verbinden.

Ersetze Punkt durch Komma

Das funktioniert genauso mit dem eleganten Code. das fertige Programm findest du unter MakeCode.