|
|
Zeile 85: |
Zeile 85: |
| === Diverse Bausätze === | | === Diverse Bausätze === |
| [[Datei:Fischer_technik.png|500px]] | | [[Datei:Fischer_technik.png|500px]] |
|
| |
| == [[Datei:icon_sanduhr.png|20px|Icon]] Zeitaufwand ==
| |
|
| |
| * 1 Unterrichtseinheit
| |
|
| |
| == [[Datei:Icon_puzzle3.png|20px|Icon]] Schwierigkeitsgrad ==
| |
|
| |
| [[Datei:SternGelb.png|30px|borderless]][[Datei:SternLeer.png|30px|borderless]][[Datei:SternLeer.png|30px|borderless]]
| |
|
| |
|
| |
| == [[Datei:Icon_brain.png|20px|Icon]] Kompetenzen ==
| |
|
| |
| [[Datei:IMG_5764_(1).png|right]]
| |
| 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
| |
|
| |
| == [[Datei:Icon faecher.png|20px|Icon]] Unterrichtsfächer ==
| |
|
| |
| * Mathematik
| |
| * Informatik
| |
| * Deutsch
| |
|
| |
| == [[Datei:Icon_hilfe.png|20px|Icon]] 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 ====
| |
| * "'''W'''ahr bedeutet Kopf" und "Falsch bedeutet '''Z'''ahl"
| |
|
| |
| [[Datei:kopf.png|200px ]] ... [[Datei:zahl.png|200px ]]
| |
|
| |
| ==== 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
| |
| <pre id="pre01">
| |
| input.onGesture(Gesture.Shake, function () {
| |
| if (true) {
| |
|
| |
| } else {
| |
|
| |
| }
| |
| })
| |
| </pre>
| |
| * Bestimmte Tastenereignisse für Taste A, B und A+B - müssen Daten anzeigen <spoiler text="Block">
| |
| <pre id="pre02">
| |
| input.onButtonPressed(Button.A, function () {
| |
| })
| |
| input.onButtonPressed(Button.AB, function () {
| |
|
| |
| })
| |
| input.onButtonPressed(Button.B, function () {
| |
|
| |
| })
| |
| </pre>
| |
| </spoiler>
| |
| * Daten müssen angezeigt werden <spoiler text="Block">
| |
| <pre id="pre03">
| |
| basic.showNumber(0)
| |
| </pre>
| |
| </spoiler>
| |
| * Bei Programmstart durchzuführen <spoiler text="Block"> <pre id="pre03">
| |
| basic.showNumber(0)
| |
| </pre></spoiler>
| |
| * Variablen müssen angelegt und initialisiert werden <spoiler text="Block"><pre id="pre03">
| |
| let anzahl_kopf = 0
| |
| let anzahl_zahl = 0
| |
| </pre></spoiler>
| |
| * Variablen müssen hochgezählt werden <spoiler text="Block"><pre id="pre03">
| |
| anzahl_zahl += 1
| |
| anzahl_kopf += 1
| |
| </pre></spoiler>
| |
| * Variablen müssen addiert werden <spoiler text="Block"><pre id="pre03">
| |
| let varx = anzahl_zahl + 1
| |
|
| |
| </pre></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
| |
|
| |
| ===[[Lösung_zufall|Schritt für Schritt zur Lösung]]===
| |
| :Hinweise zur Lösungsfindung und auch eine mögliche, komplette Lösung findest du auf der [[Lösung_zufall|Lösungsseite zu diesem Beispiel]]
| |
|
| |
| ==[[Datei:presentation.png|20px|Icon]] 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.
| |
|
| |
| ==[[Datei:icon_plus.png|20px|Icon]] 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:'''<br>
| |
|
| |
| * Was stellt dieser Programmcode dar?
| |
| [[Datei:Lesen_prg.png|800px]]
| |
|
| |
| Dieses Programm ist hier aufrufbar:
| |
| [https://makecode.microbit.org/#pub:_XdWYVaPe8WUk Link]
| |
| <htmlet>makecode_embed</htmlet>
| |
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
- Editor hat nun erweiterte Befehlssatz für 2.0:
- Neue Soundeffekte
- Neue Melodien
- ...
Aufgabenstellung
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
Breadboard
Diverse Bausätze