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 34: Zeile 34:


== Komplettlösungen ==
== Komplettlösungen ==
; Beim Starten des Programms, was müssen wir alles festlegen?
* Beim Starten des Programms, was müssen wir alles festlegen?
: Eine mögliche Lösung für den Start? <spoiler text="Lösung">[[Datei:Sonnenuhr- SU_Start.png|border|350px|Was passieren könnte, wenn das Programm startet]]</spoiler>
: Eine mögliche Lösung für den Start? <spoiler text="Lösung">[[Datei:Sonnenuhr- SU_Start.png|border|350px|Was passieren könnte, wenn das Programm startet]]</spoiler>
; Umschaltung Sommerzeit - Winterzeit:
* Umschaltung Sommerzeit - Winterzeit:
: Taste A:Sommerzeit (Variable Sommerzeit = 1) Taste B: Winterzeit (Variable Sommerzeit = 0) <spoiler text="Lösung">[[Datei:Sonnenuhr - SU_Sommer_Winter.jpg|border|500px|Umschaltung Sommerzeit - Winterzeit]]</spoiler>
: Taste A:Sommerzeit (Variable Sommerzeit = 1) Taste B: Winterzeit (Variable Sommerzeit = 0) <spoiler text="Lösung">[[Datei:Sonnenuhr - SU_Sommer_Winter.jpg|border|500px|Umschaltung Sommerzeit - Winterzeit]]</spoiler>
; Wenn die Taste B gedrückt wird, sollte etwas ähnliches geschehen wie beim Drücken von A, nur mit vertauschten Rollen!
* Kompass-Sensor auslesen und den Wert der Variablen RICHTUNG zuweisen, daraus Zeit berechnen.
: Das sieht zB so aus: <spoiler text="Lösung">[[Datei:Morgenritual - B gedrückt.png|border|500px|Was passieren könnte, wenn B gedrückt wird]]</spoiler>
: Zuerst Stunden, aus dem bleiben Rest die Minuten <spoiler text="Lösung">[[Datei:Sonnenuhr - SU_Zeit_berechnen.jpg]]</spoiler>
; Wenn nun ein Schrubben (Schütteln) erkannt wird ...
; Wenn nun ein Schrubben (Schütteln) erkannt wird ...
: ... teilen wir das wie folgt richtig zu: <spoiler text="Lösung">[[Datei:Morgenritual - Wenn geschüttelt.png|border|500px|Was passieren könnte, wenn das Programm startet]]</spoiler>
: ... teilen wir das wie folgt richtig zu: <spoiler text="Lösung">[[Datei:Morgenritual - Wenn geschüttelt.png|border|500px|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?
; 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">[[Datei:Morgenritual - AB gedrückt.png|border|800px|Was passieren könnte, wenn die Tasten A und B gleichzeitig gedrückt werden]]</spoiler>
: Der Programmteil könnte zB so aussehen: <spoiler text="Lösung">[[Datei:Morgenritual - AB gedrückt.png|border|800px|Was passieren könnte, wenn die Tasten A und B gleichzeitig gedrückt werden]]</spoiler>

Version vom 5. Mai 2018, 21:09 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.

Vor dem Programmstart

  • Fixierung und senkrechte Ausrichtung des Wattestäbchens
    Micro:Bit mit Wattestäbchen
    Micro:Bit mit Wattestäbchen
Das Wattestäbchen soll möglichst fest im Loch an PIN 2 stecken.
Es soll möglichst senkrecht ausgerichtet sein.
  • Kalibrieren des Kompass-Sensors 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.

Verwendung der elektronischen Sonnenuhr

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!
  • Durch Drücken den Tasten A und B kann die Sommerzeit (Taste A) und Winterzeit (Taste B) eingestellt werden.
Nun wollen wir die elektronische Sonnenuhr zum Einsatz bringen
  • Wir richten den Micro:bit durch Drehen so aus,dass der Schatten des
Wattestächens genau auf die mittlere LED-Reihe fällt. - Siehe Bild rechts
  • Jetzt ermittelt der Micro:bit mit dem Kompasss-Sensor die Drehung (Grade).
  • Er berechnet daraus die Uhrzeit und zeigt diese an.
    Unser Startbildschirm
    Unser Startbildschirm
  • Zuerst die Stunden angezeigt dann als Trennung ein Bindestrich.
  • Sommerzeit: Bindesrich mit einem Punkt links oben
  • Winterzeit: Bindesrich mit einem Punkt rechts oben
  • Dann weren die Minuten angezeigt.
  • Nach einer Pause erfolgt die nächste Programmschleife.

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>
  • Umschaltung Sommerzeit - Winterzeit:
Taste A:Sommerzeit (Variable Sommerzeit = 1) Taste B: Winterzeit (Variable Sommerzeit = 0) <spoiler text="Lösung">Umschaltung Sommerzeit - Winterzeit</spoiler>
  • Kompass-Sensor auslesen und den Wert der Variablen RICHTUNG zuweisen, daraus Zeit berechnen.
Zuerst Stunden, aus dem bleiben Rest die Minuten <spoiler text="Lösung"></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>