Sonnenuhr Lösung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
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:bit merkt, dass er dabei geschüttelt wird ... | ; 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 [[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. | |||
: 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?
- 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"></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>