Hardware
Vorstellung des Micro:bit V2
- Der neue Micro:bit hat einige wichtige Verbesserung zu Version 1.0
Einige Daten:
- Schnellerer Prozessor
- RAM x 8: statt 16 kB nun 128 kB
- Flashspeicher x 2: statt 256 kB und 512 kB
- Max. Stromaufnahme: statt 90 mA nun 200 mA
- Sleep-Zustand des Prozessors: Stromsparmodus
- Soundsensor (Mikrofon): Reagiert auf Lautstärke (Pegeländerung)
- Touchsensor auf dem Logo (Kupfer)
- Lautsprecher: Piezoelement
- Kerbungen an den Pins (besserer Halt der Kroko-Klemmen)
- Hardware- und Softwarekompatibel zu 1.0:
- Siehe auch: https://microbit.org/new-microbit/
- Technische Grundlagen: https://micromag.cc/microbit-v2-announcement/
- Editor hat nun erweiterte Befehlssatz für 2.0:
- Neue Soundeffekte
- Neue Melodien
- ...
Aufgabenstellung
- Suche in der Makecode-Software Funktionen, die die Kennzeichung V2 haben
- Aufruf https://makecode.microbit.org/
Erweiterung Materialien zu Micro:bit
Erweiterungsboards
Board ohne Stromversorgung
- Damit werden die Pins des Micro:bit auf Stifte herausgeführt - speziell für Breadboard-Arbeit
Board für die Vorsorung mit 5 Volt:
- Damit gelingt eine Ansteuerung von vielen Erweiterungssensoren und Aktoren
Motordriverboard zur Ansteuerung von Getriebemotoren
- Motoren, ausgenommen Servormotoren, benötigen ein Motordriverboard
Motoren
Servomoren:
- Bei Servomotoren gibt es vorrangig 2 Typen, die für Micro:bit im niedrigen Preisbereich in Frage kommen.
Hier ist genau darauf zu achten, ob man einen Rotationsmotor oder eine Winkel-Motor benötigt
- Die dargestellten Motoren sind auch mit 3 Volt betreibbar, wenn auch mit langsamer Geschwindkigkeit. Besser ist die Stromversorgung mit mind. 4,5 Volt, dann habe diese Motoren auch eine schnelle Ansprechgeschwindigkeit und Performance.
a) Servo-Winkelmotor: Drehwinkel 0 - 180 Grad
b) Servo-Rotationsmotor: 0 - 180 gibt die Geschwindigkeit der Drehung an
Getriebemotoren
- Getriebemotoren benötigen ein Motorboard und auch mind. 5 Volt für den Betrieb, dafür verleihen sie den Modellen eine große Kraft bzw. Geschwindigkeit.
Bemerkung zu Motoren: Micro:bit wird mit 3 Volt betrieben. Das reicht für sehr viele Anwendungen völlig aus. Wir jedoch zusätzliche Hardware, wie Motoren verwendet, dann empfielt sich immer einen Stromversorgung mit 5 bis 6 Volt (USB-Ausgang, 3 bis 4 1,5 Volt-Batterien doer optimalerweise eine Powerbank vom Handy). Wenn dan auch noch Sensorrten betrieben werden, wird man ein zusätzliches Board nutzen.
Ultraschallsensoren
- Der Ultraschallsensor sollte unbedingt auch mit 3,3 Volt betreibbar sein - wie dieser.
Lichtgestaltung
Sound
Breadboard
Diverse Bausätze
Zeitaufwand
- 1 Unterrichtseinheit
Schwierigkeitsgrad
Kompetenzen
Du solltest bereits
- einen Prozentanteil schätzen können
- eine Wertetabelle anlegen und auswerten können
Beim Programmieren lernst bzw. übst du
- Variablen zu verwenden
- Operatoren zu verwenden
- den Zufallsgenerator zu nutzen
- Bedingungen zu verwenden
Bei dieser Aufgabe lernst du auch
- ein NEUES Programm zu lesen und es zu interpretieren
Unterrichtsfächer
- Mathematik
- Informatik
- Deutsch
Tipps und Hilfestellungen
Erforderliche Programmierblöcke
Ziel
- Der Zufallsgenerator sollte 2 Zustände darstellen: wahr oder falsch
- Diese Zustände entsprechen den 2 Möglichkeiten beim Münzwurf
- Es sollte jeweils die Anzahl der Treffer für "wahr" und für "falsch" gezählt werden.
Vereinbarung
- "Wahr bedeutet Kopf" und "Falsch bedeutet Zahl"
Blöcke
- Anstelle des Münzwurfs sollte der Zufallsgenerator "wahr" oder "falsch" liefern
- Der Zufallsgenerator sollte durch Schütteln des micro:bit aufgerufen werden
- Je nach Bedingung "wahr" oder "falsch" sollten verschiedene Aktionen stattfinden
input.onGesture(Gesture.Shake, function () { if (true) { } else { } })
- Bestimmte Tastenereignisse für Taste A, B und A+B - müssen Daten anzeigen <spoiler text="Block">
input.onButtonPressed(Button.A, function () { }) input.onButtonPressed(Button.AB, function () { }) input.onButtonPressed(Button.B, function () { })
</spoiler>
- Daten müssen angezeigt werden <spoiler text="Block">
basic.showNumber(0)
</spoiler>
- Bei Programmstart durchzuführen <spoiler text="Block">
basic.showNumber(0)
</spoiler>
- Variablen müssen angelegt und initialisiert werden <spoiler text="Block">
let anzahl_kopf = 0 let anzahl_zahl = 0
</spoiler>
- Variablen müssen hochgezählt werden <spoiler text="Block">
anzahl_zahl += 1 anzahl_kopf += 1
</spoiler>
- Variablen müssen addiert werden <spoiler text="Block">
let varx = anzahl_zahl + 1
</spoiler>
Eckpfeiler zur Umsetzung
- Programmiere den micro:bit-Zufallsgenerator so, dass durch Schütteln ein Wert "wahr" oder "falsch" ermittelt wird (= Kopf oder Zahl)
- Wenn Taster "A" gedrückt wird, soll die Anzahl Kopfwürfe gezeigt werden
- Wenn Taster "B" gedrückt wird, soll die Anzahl Zahlwürfe gezeigt werden
- Wenn Taster "A+B" gedrückt werden, soll die Summe der Würfe dargestellt werden
- Zufallswerte erhält man aus dem Menü Mathematik "Wähle zufälligen Wahr- und Falsch-Wert"
- Wird Wahr ermittelt, so soll der Buchstabe "K" für Kopf erscheinen, andernfalls "Z" für Zahl.
- Hier benötigt man die logische Verzweigung "Wenn ... dann ... sonst"
- Das System sollte über zwei Variablen protokollieren, wie oft Kopf und wie oft Zahl geworfen wurde
Schritt für Schritt zur Lösung
- Hinweise zur Lösungsfindung und auch eine mögliche, komplette Lösung findest du auf der Lösungsseite zu diesem Beispiel
Präsentation und Reflexion
Allgemein
- Stelle dein Ergebnis vor! Was kann dein Produkt?
- Was hat dir bei der Entwicklung deines Produkts gefallen?
- Welche Schwierigkeiten hattest? Wie konntest du diese lösen?
- Erläutere, wie du dein Produkt programmiert hast!
- Was war bei dieser Aufgabe interessant für dich?
Projektspezifisch
- Welche Regeln wurden für Kopf und Zahl festgelegt? Welche andere Regeln für "Kopf oder Zahl" gäbe es noch?
- Welche Diskussionspunkte ergaben sich während des Spiels?
- Wo wird im Alltag der Wirtschaft mit Zufallsgenerator gearbeitet?
- Wo braucht man bei einem Computerspiel den Zufallsgenerator.
- Wo war bei diesem Beispiel der Vorteil des Computers zu sehen, wo war er eher ein Nachteil?
- Bei welcher Erweiterungsstufe war es am schwierigsten, einen Programmcode zu erstellen.
Weiterentwicklung
- Schleife: Du kannst mit einer Schleife nicht nur jeweils einen Wurf produzieren, sondern gleich 100 oder gar 1000 Würfe
- Das bedeutet: Wenn einmal geschüttelt wird, werden gleich 1000 Würfe simuliert
- Nütze dabei den Vorteil des Computers – er kann sehr schnell rechnen
Noch eine Erweiterungsaufgabe
Analyse eines fremden Programmcodes:
- Was stellt dieser Programmcode dar?
Dieses Programm ist hier aufrufbar: Link