Sonnenuhr Lösung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Leo.koeberl (Diskussion | Beiträge)
Leo.koeberl (Diskussion | Beiträge)
Zeile 10: Zeile 10:
== Tipps und Tricks ==
== Tipps und Tricks ==
; Was muss beim Starten des Programms festgelegt werden?[[Datei: Startbild1.jpg|border|right|300px|Unser Startbildschirm]]
; Was muss beim Starten des Programms festgelegt werden?[[Datei: Startbild1.jpg|border|right|300px|Unser Startbildschirm]]
: Wir weisen allen [[Variablen]] den Startwert 0 zu. <spoiler>Wir haben vier Variablen, die wir alle auf '''0''' setzen: RICHTUNG, STUNDE, MINUTE und SOMMERZEIT.
: Wir weisen allen [[Variablen]] den Startwert 0 zu. <spoiler>Wir haben vier Variablen, die wir alle auf '''0''' setzen: RICHTUNG, STUNDE, MINUTE und SOMMERZEIT.</spoiler>
: ALs Startbild wird eine stilisierte Sonnenuhr gezeigt, damit man weiß, dass das Programm läuft. Du könntest aber auch ein anderes Startbild gestalten!
: ALs Startbild wird eine stilisierte Sonnenuhr gezeigt, damit man weiß, dass das Programm läuft. Du könntest aber auch ein anderes Startbild gestalten!


Zeile 16: Zeile 16:
; Wenn nun geputzt wird, und der Micro&#58;bit merkt, dass er dabei geschüttelt wird ...
; Wenn nun geputzt wird, und der Micro&#58;bit merkt, dass er dabei geschüttelt wird ...
: Was müssen wir prüfen, '''bevor''' wir einen Putzzähler erhöhen können? <spoiler>Richtig: für wen wir eigentlich zählen, muss mit einer [[Alternativen|Abfrage]] unterschieden werden</spoiler>
: Was müssen wir prüfen, '''bevor''' wir einen Putzzähler erhöhen können? <spoiler>Richtig: für wen wir eigentlich zählen, muss mit einer [[Alternativen|Abfrage]] unterschieden werden</spoiler>
: Wenn wir für Jakob zählen, erhöhen wir seinen Zähler um eins.
; Wenn wir für Jakob zählen, erhöhen wir seinen Zähler um eins.
: Sonst, wenn wir für Lea zählen, erhöhen wir ihren Zähler.
: Sonst, wenn wir für Lea zählen, erhöhen wir ihren Zähler.
: Und falls wir für niemanden zählen erhöhen wir gar nichts ... :)
: Und falls wir für niemanden zählen erhöhen wir gar nichts ... :)

Version vom 5. Mai 2018, 19:14 Uhr

Grundsätzliche Überlegungen

  • Die Voraussetzung für unser Programm ist die Erkenntnis bzw. das Verständnis, dass die Erde sich in 24 Stunden einmal um sich selbst dreht, also um 360 Grad.
  • Daraus leitet sich die Rotation von 15 Grad pro Stunde und weiter die Drehung um 1 Grad alle 4 Minuten ab.

Kalibrieren des Compass-Sensors - Wichtig nach jedem Hochladen des Programmes auf den Micro:Bit!!!

  • Zunächst erscheint auf dem Micro:Bit folgender Text in als Laufschrift: DRAW A CIRCLE
  • Nun durch Neigen in alle Richtungen einen Kreis auf der 5x5 LED Matrix zeichnen.
  • Jetzt ist der Kompass-Sensor startbereit und das Programm wird gestartet.

Tipps und Tricks

Was muss beim Starten des Programms festgelegt werden?
Unser Startbildschirm
Unser Startbildschirm
Wir weisen allen Variablen den Startwert 0 zu. <spoiler>Wir haben vier Variablen, die wir alle auf 0 setzen: RICHTUNG, STUNDE, MINUTE und SOMMERZEIT.</spoiler>
ALs Startbild wird eine stilisierte Sonnenuhr gezeigt, damit man weiß, dass das Programm läuft. Du könntest aber auch ein anderes Startbild gestalten!


Wenn nun geputzt wird, und der Micro:bit merkt, dass er dabei geschüttelt wird ...
Was müssen wir prüfen, bevor wir einen Putzzähler erhöhen können? <spoiler>Richtig: für wen wir eigentlich zählen, muss mit einer Abfrage unterschieden werden</spoiler>
Wenn wir für Jakob zählen, erhöhen wir seinen Zähler um eins.
Sonst, wenn wir für Lea zählen, erhöhen wir ihren Zähler.
Und falls wir für niemanden zählen erhöhen wir gar nichts ... :)
Wenn die Tasten A und B gleichzeitig gedrückt werden, soll ja angezeigt werden, wer gewonnen hat. Was müssen wir dazu (der Reihe nach) wissen?
Ist überhaupt schon etwas gezählt worden? Für beide? Wie können wir das überprüfen?
Wenn ja, hat Jakob mehr geputzt als Lea? Dann haben wir einen Gewinner und wir sollten das Ergebnis verkünden!
Sonst, hat vielleicht Lea mehr geputzt als Jakob? Auch hier haben wir eine Gewinnerin!
Sonst? Ja, was könnte noch sein? <spoiler>Beide haben gleich viel geputzt: unentschieden!</spoiler>
Wenn das Ergebnis gezeigt wurde, könnte es sein, dass die beiden vielleicht nochmal probieren wollen. Was müssen wir dafür noch berücksichtigen? <spoiler>Dass alle Variablen, wie beim Programmstart wieder zurückgesetzt werden, sonst würde einfach bei der bisherigen Anzahl von Schrubbungen weitergezählt werden! Außerdem könnten wir auch wieder unsere Startgrafik anzeigen</spoiler>

Flussdiagramme

Könnten bei Bedarf auch noch hier als Zwischenteil eingebaut werden.

Komplettlösungen

Beim Starten des Programms, was müssen wir alles festlegen?
Eine mögliche Lösung für den Start? <spoiler text="Lösung">Was passieren könnte, wenn das Programm startet</spoiler>
Wenn die Taste A gedrückt wird, können verschiedene Dinge passieren, je nachdem was das Programm gerade macht!
Wenn wir auch einige Sicherheitsabfragen einbauen, kann eine Lösung so aussehen: <spoiler text="Lösung">Was passieren könnte, wenn A gedrückt wird</spoiler>
Wenn die Taste B gedrückt wird, sollte etwas ähnliches geschehen wie beim Drücken von A, nur mit vertauschten Rollen!
Das sieht zB so aus: <spoiler text="Lösung">Was passieren könnte, wenn B gedrückt wird</spoiler>
Wenn nun ein Schrubben (Schütteln) erkannt wird ...
... teilen wir das wie folgt richtig zu: <spoiler text="Lösung">Was passieren könnte, wenn das Programm startet</spoiler>
Wenn die Tasten A und B gleichzeitig gedrückt werden, soll ja angezeigt werden, wer gewonnen hat. Was müssen wir dazu (der Reihe nach) wissen?
Der Programmteil könnte zB so aussehen: <spoiler text="Lösung">Was passieren könnte, wenn die Tasten A und B gleichzeitig gedrückt werden</spoiler>