Zeitnehmung Lösung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Hilfestellung und Lösung zur Zeitnehmung Aufgabe ==
== Hilfestellung und Lösung zur Aufgabe Zeitnehmung==
=== Wie kannst du mit dem micro:bit die gefahrene Zeit ermitteln? ===
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: Du musst einen Sensor bauen, der erkennt ob das Spielzeugauto darüberfährt ====
====Hinweis 1: Baue einen Sensor, der erkennt, ob ein Spielzeugauto darüber fährt ====
<ul>
<ul>
<li>
<li>
Das kannst du mit 2 leitenden Materialien, die ganz knapp nebeneinanderliegen und durch das darüberfahrende Auto verbunden werden.
Der Sensor besteht aus zwei knapp nebeneinander liegenden Streifen Alufolie. Befestige diese mit doppelseitigem Klebeband auf der Strecke. Unten am Spielzeugauto ist ebenfalls ein am Boden schleifendes Stück Alufolie befestigt. Wenn das Auto über den Sensor fährt, verbindet dieses Stück Alufolie die beiden Streifen. Ein Alufolienstreifen wird an den 3V PIN des micro:bits angeschlossen, der andere an den PIN P0. Wenn kein Auto darüber fährt, besteht keine Verbindung zwischen den Alufolienstreifen und es liegt keine Spannung an P0 an. Der micro:bit erkennt an seinem PIN P0 Stromsignale. Wenn ein Auto über den Sensor fährt liegen 3V am PIN P0 an. Der micro:bit erkennt also, ob ein Auto über den Sensor fährt oder nicht.  
<gallery mode=packed-hover heights=300px class=left"}>
<gallery mode=packed-hover heights=300px class=left"}>
Image:ZnLsg_DoppelseitigesKlebeband.png|Doppelseitiges Klebeband
Image:ZnLsg_DoppelseitigesKlebeband.png|doppelseitiges Klebeband
Image:ZnLsg_Alufolie.png|Alufolie
Image:ZnLsg_Alufolie.png|Alufolie
Image:ZnLsg_AlufolieGetrennt.png|Alufolie getrennt
Image:ZnLsg_AlufolieGetrennt.png|Alufolie getrennt
Zeile 12: Zeile 12:
</li>
</li>
<li>
<li>
Um den Sensor zu testen kannst du ein Programm schreiben, welches bestimmte LEDs leuchten lässt
Teste deinen Sensor indem du eine LED einschaltest, wenn ein passierendes Auto den Kontakt zwischen den beiden Alufolienstücken herstellt.
</li>
</li>
</ul>
</ul>
==== Hinweis 2: Mach dir einen Plan ====
==== Hinweis 2: Mache dir einen Plan ====
<ul>
<ul>
<li>
<li>
Die leitenden Materialien müssen dann mit Ground und einem Pin auf dem micro:bit verbunden werden.
Die leitenden Materialien müssen mit Ground und einem Pin auf dem micro:bit verbunden werden.
</li>
<li>
Das kannst du genauer den folgenden Bildern entnehmen:
<gallery mode="packed-hover" heights=300px style="text-align:left"}>
<gallery mode="packed-hover" heights=300px style="text-align:left"}>
Image:ZnLsg_SensorPlan.png|2 Sensoren
Image:ZnLsg_SensorPlan.png|2 Sensoren
Zeile 29: Zeile 26:
<gallery mode="packed-hover" heights=300px style="text-align:left"}>
<gallery mode="packed-hover" heights=300px style="text-align:left"}>
Image:ZnLsg_SensorMicrobit.png|Sensor mit micro:bit
Image:ZnLsg_SensorMicrobit.png|Sensor mit micro:bit
Image:ZnLsg_SensorMicrobit2.png|Sensor verbunden durch Alukugel
Image:ZnLsg_SensorMicrobit2.png|Sensor verbunden durch Kugel aus Alufolie
</gallery>
</gallery>
</li>
</li>
</ul>
</ul>
==== Hinweis 3: Sensoren prüfen ====
==== Hinweis 3: Sensoren prüfen ====
<ul>
<ul>
<li>
<li>
Teste die Sensoren indem du bestimmte Bilder anzeigen lässt, wenn sie aktiviert werden.
Zeige bestimmte Bilder an, wenn die Sensoren aktiviert werden.
<br clear=all>
<br clear=all>
[[Datei: ZnLsg_Sensortest.png|left]]
[[Datei: ZnLsg_Sensortest.png|left]]
Zeile 42: Zeile 40:
</li>
</li>
<li>
<li>
Verbinde nun die beiden Sensorteile mit einem Alufolienstück. Überprüfe ob das richtige Bild am micro:bit angezeigt wird.
Verbinde die beiden Sensorteile mit einem Alufolienstück. Überprüfe, ob das richtige Bild am micro:bit angezeigt wird.
</li>
</li>
</ul>
</ul>
Zeile 48: Zeile 46:
<ul>
<ul>
<li>
<li>
Der micro:bit hat keine eigene Stoppuhr-Funktion. Um eine Stoppuhr zu programmieren müssen wir die eigene Uhr des micro:bits verwenden.
Der micro:bit hat keine eigene Stoppuhr-Funktion. Programmiere eine Stoppuhr mithilfe der eigenen Uhr des micro:bits.
</li>
</li>
<li>
<li>
Im micro:bit ist eine Uhr eingebaut die die Zeit angibt die vergangen ist seit der micro:bit gestartet wurde. Diese Uhr erhältst du über den die Laufzeit (ms). Die Laufzeit gibt an wie viele Millisekunden seit dem starten des micro:bits vergangen sind. Das ms steht für Millisekunden. Eine Sekunde besteht aus Tausend Millisekunden.
Im micro:bit ist eine Uhr eingebaut. Diese startet bei 0, wenn der micro:bit eingeschaltet wird. Der Befehl '''Laufzeit (ms)''' greift auf diese Uhr zu und gibt an, wie viele Millisekunden seit dem Starten des micro:bits vergangen sind. Die Abkürzung ms steht für Millisekunden. Eine Sekunde besteht aus tausend Millisekunden.
</li>
</li>
<li>
<li>
Um die Zeit zu erhalten, die das Spielzeugauto vom ersten bis zum 2. Sensor braucht, müssen wir die erste von der zweiten Zeit abziehen.
Um die Zeit zu erhalten, die das Spielzeugauto vom Start- bis zur Ziellinie fährt, zieht der micro:bit die Startzeit von der Zielzeit ab.
Zum Beispiel: Das Auto fährt 300 ms nach dem Starten des micro:bits über den ersten Sensor und nach 500 ms über den zweiten Sensor.  Dann musst du 500 – 300 = 200 ms rechnen. Das Auto hat also 200 ms vom ersten Sensor bis zum zweiten Sensor gebraucht.
Zum Beispiel: Das Auto fährt 300 ms nach dem Starten des micro:bits über den Startsensor und nach 500 ms über den Zielsensor.  Dann rechnet er 500 – 300 = 200 ms. Also benötigt das Auto vom Start bis zum Ziel 200 ms.
</li>
</li>
<li>
<li>
Damit sich der micro:bit merkt, wann das Auto über den ersten Sensor gefahren ist musst du die Zeit in eine Variable speichern.
Speichere die Zeit in einer Variable, wenn das Auto über den Startsensor fährt. Damit merkt sich der micro:bit diese Zeit.
<br clear=all>
<br clear=all>
[[Datei: ZnLsg_ZeitSpeichern.png|left]]
[[Datei: ZnLsg_ZeitSpeichern.png|left]]
Zeile 64: Zeile 62:
</li>
</li>
<li>
<li>
Wenn er nun über den zweiten Sensor fährt, soll er die aktuelle Zeit von der vorher gespeicherten abziehen. Damit erhalten wir die Fahrtzeit des Autos von Sensor1 zu Sensor2.
Ziehe die aktuelle Zeit von der vorher gespeicherten Zeit ab, wenn das Auto über den Zielsensor fährt. Dadurch erhält man die Fahrtzeit des Autos auf der Strecke.
</li>
</li>
<li>
<li>
Diese Fahrtzeit können wir nun auf dem micro:bit anzeigen lassen.
Zeige diese Fahrtzeit nun auf dem micro:bit an.
<br clear=all>
<br clear=all>
[[Datei: ZnLsg_ZeitAnzeigen.png|left]]
[[Datei: ZnLsg_ZeitAnzeigen.png|left]]
Zeile 73: Zeile 71:
</li>
</li>
<li>
<li>
Eine Millisekunde ist ein Tausendstel von einer Sekunde. Deswegen werden die Zahlen sehr groß die der micro:bit anzeigt. Um die Zahl besser lesen zu können sollte man die Fahrtzeit durch Tausend rechnen. Dann werden die Sekunden vor dem Punkt und die Millisekunden nach dem Punkt angezeigt.
Eine Millisekunde ist ein Tausendstel einer Sekunde. Deswegen zeigt der micro:bit sehr große Zahlen an.  
Rechne die Fahrtzeit durch Tausend, um eine besser lesbare Zahl zu erhalten. Auf der LED-Matrix erscheinen dann die Sekunden vor dem Punkt und die Millisekunden nach dem Punkt.
</li>
</li>
<li>
<li>
Um zu sehen, dass der erste Sensor angeschlagen hat soll der micro:bit ein Zeichen anzeigen. Das hilft beim Erkennen ob der Sensor auch richtig auslöst.
Wenn der erste Sensor anschlägt, zeige ein Zeichen auf der LED-Matrix an. Das hilft beim Erkennen, ob der Sensor auch richtig auslöst.
</li>
</li>
</ul>
</ul>
Damit erhältst du dein fertiges Programm:
Der vollständige Lösungsvorschlag sieht dann so aus:
<br clear=all>
<br clear=all>
[[Datei: ZnLsg_Loesung.png|left]]
[[Datei: ZnLsg_Loesung.png|left]]
<br clear=all>
<br clear=all>
[https://makecode.microbit.org/_KxrLyvhxbKL5 Hier kommst du zum fertigen Programm auf makecode.org]
[https://makecode.microbit.org/_KxrLyvhxbKL5 Hier kommst du zum fertigen Programm auf makecode.org]

Aktuelle Version vom 17. Dezember 2019, 09:49 Uhr

Hilfestellung und Lösung zur Aufgabe Zeitnehmung

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: Baue einen Sensor, der erkennt, ob ein Spielzeugauto darüber fährt

  • Der Sensor besteht aus zwei knapp nebeneinander liegenden Streifen Alufolie. Befestige diese mit doppelseitigem Klebeband auf der Strecke. Unten am Spielzeugauto ist ebenfalls ein am Boden schleifendes Stück Alufolie befestigt. Wenn das Auto über den Sensor fährt, verbindet dieses Stück Alufolie die beiden Streifen. Ein Alufolienstreifen wird an den 3V PIN des micro:bits angeschlossen, der andere an den PIN P0. Wenn kein Auto darüber fährt, besteht keine Verbindung zwischen den Alufolienstreifen und es liegt keine Spannung an P0 an. Der micro:bit erkennt an seinem PIN P0 Stromsignale. Wenn ein Auto über den Sensor fährt liegen 3V am PIN P0 an. Der micro:bit erkennt also, ob ein Auto über den Sensor fährt oder nicht.
  • Teste deinen Sensor indem du eine LED einschaltest, wenn ein passierendes Auto den Kontakt zwischen den beiden Alufolienstücken herstellt.

Hinweis 2: Mache dir einen Plan

  • Die leitenden Materialien müssen mit Ground und einem Pin auf dem micro:bit verbunden werden.

Hinweis 3: Sensoren prüfen

  • Zeige bestimmte Bilder an, wenn die Sensoren aktiviert werden.


  • Verbinde die beiden Sensorteile mit einem Alufolienstück. Überprüfe, ob das richtige Bild am micro:bit angezeigt wird.

Hinweis 4: Zeitnehmung programmieren

  • Der micro:bit hat keine eigene Stoppuhr-Funktion. Programmiere eine Stoppuhr mithilfe der eigenen Uhr des micro:bits.
  • Im micro:bit ist eine Uhr eingebaut. Diese startet bei 0, wenn der micro:bit eingeschaltet wird. Der Befehl Laufzeit (ms) greift auf diese Uhr zu und gibt an, wie viele Millisekunden seit dem Starten des micro:bits vergangen sind. Die Abkürzung ms steht für Millisekunden. Eine Sekunde besteht aus tausend Millisekunden.
  • Um die Zeit zu erhalten, die das Spielzeugauto vom Start- bis zur Ziellinie fährt, zieht der micro:bit die Startzeit von der Zielzeit ab. Zum Beispiel: Das Auto fährt 300 ms nach dem Starten des micro:bits über den Startsensor und nach 500 ms über den Zielsensor. Dann rechnet er 500 – 300 = 200 ms. Also benötigt das Auto vom Start bis zum Ziel 200 ms.
  • Speichere die Zeit in einer Variable, wenn das Auto über den Startsensor fährt. Damit merkt sich der micro:bit diese Zeit.


  • Ziehe die aktuelle Zeit von der vorher gespeicherten Zeit ab, wenn das Auto über den Zielsensor fährt. Dadurch erhält man die Fahrtzeit des Autos auf der Strecke.
  • Zeige diese Fahrtzeit nun auf dem micro:bit an.


  • Eine Millisekunde ist ein Tausendstel einer Sekunde. Deswegen zeigt der micro:bit sehr große Zahlen an. Rechne die Fahrtzeit durch Tausend, um eine besser lesbare Zahl zu erhalten. Auf der LED-Matrix erscheinen dann die Sekunden vor dem Punkt und die Millisekunden nach dem Punkt.
  • Wenn der erste Sensor anschlägt, zeige ein Zeichen auf der LED-Matrix an. Das hilft beim Erkennen, ob der Sensor auch richtig auslöst.

Der vollständige Lösungsvorschlag sieht dann so aus:


Hier kommst du zum fertigen Programm auf makecode.org