Programmierung

Teste deine Reaktionszeit mit einem micro:bit

clock 60 min
user 7. – 9. klasse
Mittel
Teste deine Reaktionszeit, indem du die Aufgaben in dieser Lektion löst. Dazu musst du Programme in MakeCode schreiben und mit einem micro:bit arbeiten. Du sollst zwei Programme schreiben. Das erste ist ein Spiel und das zweite zeigt ganz genau, wie schnell deine Reaktionszeit ist.
Materialliste
Das brauchst du:

Einführung

Wenn du mit der Lektion fertig bist, wirst du dies gelernt haben:

  • Du hast gelernt, was Milli- und Mikrosekunden sind.
  • Du weißt, was Zufall ist und wie du ihn nutzen kannst.
  • Du kennst deine Reaktionszeit.
  • Du kannst Codeblöcke wie "Pause", "Variablen" und "warten" verwenden.
 
Klicke hier, um eine Hilfe zum Auffinden der Codeblöcke anzuzeigen.

Vorbereitung und Start

Zuerst musst du den micro:bit an den Computer anschließen (Pairing).

Um zu sehen, wie du das machst, kannst du entweder ein Video anschauen oder die folgende Schritt-für-Schritt-Anleitung durchlesen:

 

Schritt 1

Schließe den micro:bit mit einem USB-Kabel an den Computer an.

 

Schritt 2

Öffne den Google Chrome-Browser, damit alles genau wie in dieser Anleitung abläuft.

Rufe diese Webseite auf: https://makecode.microbit.org/beta

Klicke auf "Neues Projekt" und gib deinem Projekt den Namen "Reaktionszeit".

 

Schritt 3

Lösche den Codeblock "dauerhaft", in dem du ihn nach links hinausziehst. Jetzt ist nur noch der Codeblock "beim Start" vorhanden.

Slet for altid

 

Schritt 4

Wähle unter "Grundlagen" den Block "zeige LEDs" und ziehe ihn auf die Arbeitsfläche. Erstelle auf dem LED-Block dein eigenes Leuchtsymbol, wie auf der Abbildung dargestellt.

start zeige leds

 

Schritt 5

Lade dein Programm in den micro:bit herunter, indem du auf den Button mit den drei Pünktchen klickst:

Skaermbillede 2022 10 28 133739

 

Klicke anschließend zwei Mal auf "Gerät paaren".

Jetzt wird dein micro:bit angezeigt, siehe Abbildung unten. Jetzt musst du deinen micro:bit noch verbinden. Klicke dazu auf den BBC micro:bit und dann auf "Verbinden".

Skaermbillede 2022 10 28 134051

Wähle den micro:bit aus, der verbunden werden soll, und klicke dann auf "Gerät verbinden".

Skaermbillede 2022 10 28 134413

 

Schritt 6

Klicke auf den Button "Herunterladen", um deinen Code in den micro:bit zu übertragen.

microbit herunterladen

 

Schritt 7

Jetzt müsstest du dein Leuchtsymbol auf dem micro:bit sehen können. Falls die LEDs nicht leuchten oder falls die Verbindung mit dem micro:bit fehlgeschlagen ist, bitte eine*n Mitschüler*in oder deine*n Lehrer*in um Hilfe.

Wenn alles geklappt hat und der micro:bit korrekt angeschlossen ist, fährst du mit der nächsten Anleitung fort, um das Reaktionszeitspiel zu erstellen.

Klicke hier, um eine Hilfe zum Auffinden der Codeblöcke anzuzeigen.

Sie dir das Video an oder folge der Schritt-für-Schritt-Anleitung unter dem Video-Fenster:

Programmieren eines Spiels mit der Reaktionszeit

Einführung

In dieser Lektion gilt: Lies alle Abschnitte, die mit "Lesen" beginnen, und führe alle Aufgaben aus, die mit der Überschrift "Schritt" beginnen.

Mit dieser Schritt-für-Schritt-Anleitung erstellst du dein eigenes Spiel. Bei dem Spiel geht es darum, wer als erstes auf den richtigen Knopf drückt ("A" oder "B"), wenn auf dem micro:bit ein Kreuz angezeigt wird.

  • Beispiel: Anne hat Knopf "A" und Peter hat Knopf "B".
  • Wenn das Kreuz aufleuchtet, drücken beide so schnell wie möglich auf ihren Knopf.
  • Wer zuerst drückt, bekommt einen Punkt. Die Punkte notiert ihr auf einem Stück Papier.
 

LESEN: Pausenfunktion mit Millisekunden und Mikrosekunden

Für dieses Spiel brauchst du eine Funktion, die eine Pause und eine Wartezeit erzeugt. Die zeit, die innerhalb der Pause vergeht, wird nicht in Sekunden, sondern in Millisekunden (ms) angegeben, siehe Abbildung.

block pausiere

Wenn dort z. B. steht, dass die Pause 1.000 Millisekunden (ms) dauert, bedeutet das, dass die Pause 1 Sekunde lang ist. 2.000 Millisekunden (ms) sind 2 Sekunden usw. Du musst also die gewünschte Pausenzeit in Sekunden mit 1.000 multiplizieren, um eine Zeitangabe in Millisekunden zu erhalten.

 

Schritt 1

Wir wollen ein Programm schreiben, das nach dem Starten des micro:bit den Programmcode zunächst für die Dauer von 1 bis 10 Sekunden (zufällig) anhält. Am Ende der Pause wird ein Symbol (z. B. ein X) auf dem micro:bit angezeigt.

start pause zufallszahl

 

LESEN: Zufallswert

Weil wir ein Spiel programmieren, mit dem wir sehen können, wer die bessere Reaktionszeit hat, muss das Anzeigen des Symbols X zu einem zufälligen Zeitpunkt erfolgen, damit niemand vorhersagen kann, wan man auf den Knopf drücken soll.

Dafür benötigen wir eine Funktion in MakeCode, die einen Zufallswert in Millisekunden zwischen 0 und 10000 ms generiert. Das entspricht einer zufälligen Dauer von 0 bis 10 Sekunden.

pausiere zufallszahl

Hier kannst du mehr über Zufall lesen.

 

Schritt 2

Wenn Knopf "A" gedrückt wird, sollen die LEDs eine "1" anzeigen; wenn Knopf "B" gedrückt wird, sollen die LEDs eine "2" anzeigen.

mehrere led anzeigen

 

 

Schitt 3

Nach dem Anzeigen der Ergebniszahl "1" oder "2" auf den LEDs bauen wir eine Wartezeit ein. Die Wartezeit soll 3 Sekunden lang sein:

2 led anzeigen warten

 

LESEN: Wartefunktion

Diesmal verwenden wir die Anweisung "Warte" und nicht "Pausiere":

warte 1000000

Die Wartezeit wird nicht in Millisekunden (ms) angegeben, sondern in Mikrosekunden (µs). Eine Millisekunde entspricht 1.000 Mikrosekunden. Das heißt 1 Sekunde entspricht 1.000.000 Mikrosekunden – also eine Million Mikrosekunden.

Die Funktionen dienen dazu, um die Länge der Pausen zu steuern, die das Programm einlegen soll. Man nutzt sie, wenn man möchte, dass eine Aktion (oder Pause) eine bestimmte Dauer hat, wie z. B. das Aufleuchten einer LED für 3 Sekunden.

 

Schritt 4

Warum verwenden wir "Warten" und nicht "Pause"?

Die Antwort herauszufinden, ist deine Aufgabe! Warten oder Pause? Finde selbst den Unterschied heraus, indem du anstelle der Wartefunktion die Pausenfunktion einsetzt. Lass dann das Programm laufen und erkenne, was der Unterschied ist!

 

Schritt 5

Du hast jetzt ein Programm erstellt, mit dem du dich mit deinen Mitschüler*innen darin messen kannst, wer die schnelleste Reaktionszeit hat. Spielt jeweils zu zweit und notiert die Ergebnisse von fünf Durchgängen. Wer mindestens drei Mal gewonnen hat, ist der oder die Schnellere und hat die ganze Runde gewonnen.

 

Schritt 6 – Zusatzaufgabe

Wenn du zu den ganz Schnellen in der Klasse gehörst, kannst du zusätzlich diese Aufgabe lösen.

Nutze einen Sensor am micro:bit, um das Programm erneut zu starten, anstatt es jedes Mal von Hand zu starten.

 

Jetzt wirst du dein eigenes Programm erstellen, um deine Reaktionszeit zu messen. Dazu musst du die untenstehenden Aufgaben lösen.

Es gibt zwei verschiedene Stufen. Beginne mit Aufgabe 1, gefolgt von Aufgabe 2.

Aufgaben

Hast du eine kürzere Reaktionszeit als der Durchschnitt?

Die durchschnittliche Reaktionszeit eines Menschen beträgt 150 bis 250 ms. Wie schnell bist du? Löse die Aufgabe und teste deine Reaktionszeit – am besten legst du dafür ein neues Projekt an.
Opgave 1

Erstelle einen Timer: a) Dafür musst du ein Programm schreiben, das nach Drücken von Knopf "A" zuerst eine kurze Pause von 1 bis 10 Sekunden einlegt (von zufälliger Länge – siehe Abbildung). pausiere zufallszahl

b) Nach der Pause soll auf den LEDs ein Symbol (z. B. ein Kreuz) angezeigt werden. Mit dem Aufleuchten des Symbols beginnt das Messen der Reaktionszeit.

c) Beginne mit dem Messen der Reaktionszeit. Erstelle jetzt eine neue Variable und nenne sie "Start".

In der Variablen speichern wir die Zeit, die bis jetzt verstrichen ist, seit der micro:bit aktiviert wurde. Diese Zeit nennt man "Laufzeit" (siehe Abbildung).

*Tipp: Lies den Lexikoneintrag überVariablen, um herauszufinden, was das genau bedeutet.

setze start auf laufzeit

 

Ermittle deine Reaktionszeit:

d) Schreibe einen Programmcode, der Folgendes kann: Wenn Knopf "B" gedrückt wird, wird die Zeit, die zwischen dem Starten des micro:bit und dem Drücken von Knopf "B" vergeht, in einer Variablen gespeichert, der wir den Namen "Ende" geben.

setze reaktionszeit

e) Jetzt kannst du herausfinden, wie viel Zeit zwischen dem Aufleuchten des Symbols und dem Drücken des Knopfs "B" vergangen ist. Achte dabei auf Folgendes:

  • In der Variablen "Start" haben wir gespeichert, wie viel Zeit zwischen dem Starten des micro:bit und dem Aufleuchten des Symbols vergangen ist (z. B. 5 Sekunden).
  • In der Variablen "Ende" haben wir gespeichert, wie viel Zeit zwischen dem Starten des micro:bit und und dem Drücken des Knopfs "B" vergangen ist (z. B. 7 Sekunden).

Durch Abziehen der "Start"-Zeit (z. B. 5 Sekunden) von der "Ende"-Zeit (z. B. 7 Sekunden) ermitteln wir die Zeit, die zwischen den beiden Ereignissen vergangen ist – das ist die Reaktionszeit. Ein Beispiel:

  • "Ende" (7 Sekunden) - "Start" (5 Sekunden) = Reaktionszeit (2 Sekunden).

Die Reaktionszeit können wir in einer Variablen speichern, die wir "Reaktionszeit" nennen.

f) Füge deinem Programmcode einen Block "zeige Zahl" hinzu, damit die Reaktionszeit auf dem micro:bit angezeigt wird.

zeige zahl reaktionszeit

 

Lass die Reaktionszeit in Sekunden anzeigen: g) Deine Reaktionszeit wird aktuell in Milllisekunden (ms) angezeigt. Wie können wir sie stattdessen in Sekunden anzeigen lassen?

Beachte: 1 Sekunde enthält 1.000 Millisekunden.

 

Erstelle eigene Erweiterungen:

h) Erstelle deine eigene Erweiterung zum Programm und bitte eine*n Mitschüler*in, deinen Code zu lesen und zu erraten, was das Programm macht.

 

Opgave 2

Verwende einen eigenen Knopf:

a) Bei dieser Aufgabe verwendest du wieder den Programmcode aus der Schritt-für-Schritt-Anleitung oder aus Aufgabe 1 und setzt den Ablauf mit Hardware um. Verbinde deinen micro:bit mit einem Firefly und setze ihn in ein Steckbrett ein.

b) Schließe dann einen Knopf an Pin 0 an, wie auf der Abbildung gezeigt.

firefly og knap

c) Wiederhole jetzt den Vorgang an Pin 1 mit einem anderen Knopf, den du an einer anderen Stelle auf dem Steckbrett einsetzt.

d) Benutze wieder den Code aus Aufgabe 1, doch ändere die Knöpfe in Pins: Statt Drücken auf Knopf "A" und "B" lautet die Anweisung jetzt auf P0 und P1, siehe Abbildung.

wenn pin gedrueckt