Kompass Lösung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Alois.bachinger (Diskussion | Beiträge)
 
(250 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Hilfestellungen und Lösung zur Kompassaufgabe=  
=Hilfestellungen und Lösung zur Kompassaufgabe=  
===Hinweis 1===
==Wie kannst du mit dem micro:bit die aktuelle Himmelsrichtung ermitteln?== 
Wie findet der micro:bit die aktuelle Himmelsrichtung?
[[Datei:Himmelsrichtung hinweis1.png|400px|right|border|CC-BY-Elisabeth Winklehner, Ermittlung der Himmelsrichtung]]
Das Flussdiagramm kann dir bei deinen Überlegungen helfen. <spoiler text="Flussdiagramm">[[Datei:Flussdiagramm.png|border|Flussdiagramm zur Bestimmung der Himmelsrichtung]]</spoiler>
===Hinweis 1: Himmelsrichtung prüfen===
===Hinweis 2===
*Ein Sensor misst die Ausrichtung des micro:bit in Graden (°). Der Wert liegt zwischen 0° und 360°. Um zwischen den 4 Haupthimmelsrichtungen N, S, W, O unterscheiden zu können, teilen wir die 360° in 4 gleich große Teile.
Hast du schon alle Blöcke gesammelt?
*Ist die Ausrichtung des micro:bit zwischen 0° und 45°, so handelt es sich um die Himmelsrichtung Norden.
<ol><li>Lies immer wieder die Ausrichtung des micro:bit aus und speichere den Wert in einer Variablen mit sinnvollem Namen! <p>
*Ist die Ausrichtung des micro:bit zwischen 45° und 135°, so handelt es sich um die Himmelsrichtung Osten. ...
Welche Blöcke brauchst du dazu? <spoiler text="Blöcke"> [[Datei:Kompassausrichtung speichern.png|border|Lies immer wieder die Ausrichtung aus und weise diesen Wert einer Variablen zu]]</spoiler>
Das Flussdiagramm kann dir bei deinen Überlegungen helfen. <spoiler text="Flussdiagramm">[[Datei:Flussdiagramm kompass.jpg|border|600px |Flussdiagramm zur Bestimmung der Himmelsrichtung]]</spoiler>
Setze die Blöcke in der richtigen Reihenfolge zusammen <spoiler text="Blöcke"> [[Datei:Kompassausrichtung_dauerhaft_speichern.png|border|Lies immer wieder die Ausrichtung aus und weise diesen Wert einer Variablen zu]]</spoiler>
===Hinweis 2: Programmblöcke===
<li>Die 4 Himmelsrichtungen stellst du mit den jeweiligen Anfangsbuchstaben N, S, W, O dar. <spoiler text="Blöcke"> Die Himmelsrichtung Norden wird dargestellt mit [[Datei:Zeige N.png|border|Zeige ein N für die Himmelsrichtung Norden]]
[[Datei:qr_microbit.png|200px|right|CC-BY-Elisabeth Winklehner, QR-Code zur Programmierumgebung]]
Die Himmelsrichtung Süden wird dargestellt mit [[Datei:Zeige S.png|border|Zeige ein S für die Himmelsrichtung Süden]] ...
:Bis du schon zur Programmierumgebung [https://makecode.microbit.org/_5PkYAH7HiHca] gegangen?
: Hast du schon alle Blöcke gesammelt und richtig angeordnet?
<ol>
<li>Erhebe immer wieder den Sensorwert, der die Ausrichtung des micro:bit in Grad (°) misst. Speichere den Wert in der Variablen "Ausrichtung"!
*Welche Blöcke brauchst du dazu? <spoiler text="Blöcke"> [[Datei:Kompassausrichtung speichern.png|800px|Icon|border|Lies die Ausrichtung aus und weise diesen Wert einer Variablen zu]]</spoiler>
*Hast du die erstellten Blöcke schon in der richtigen Reihenfolge zusammengesetzt? <spoiler text="Blöcke"> [[Datei:Aktuelle Kompassausrichtung speichern.png|800px|Icon|border|Lies immer wieder die Ausrichtung aus und weise diesen Wert einer Variablen zu]]</spoiler></li>
<li>Die Himmelsrichtung  zeigst du auf dem Display mit dem jeweiligen Anfangsbuchstaben N, S, W, O. <spoiler text="Blöcke"> Die Himmelsrichtung Norden wird auf dem Display angezeigt mit [[Datei:Zeige norden.png|800px|Icon|border|Zeige ein N für die Himmelsrichtung Norden]] </spoiler></li>
<li>Bestimme die Himmelsrichtung, in die dein micro:bit zeigt!</li>
*Die Himmelsrichtung kannst du mithilfe von bedingten Anweisungen ermitteln. Du hast mehrere Möglichkeiten. <spoiler text="Blöcke"> [[Datei:Verzweigungsvarianten.png|800px|Icon|border|Blöcke für Verzweigungen]]
::Mit dem Zahnrad wählst du deine gewünschte Verzweigung, indem du en gewünschten Block auf die rechte Seite ziehst.
::Statt dem Wert "wahr" musst du einen passenden logischen Ausdruck einsetzen.</spoiler>
*Welche Blöcke brauchst du zum Prüfen und Anzeigen der Himmelsrichtung Norden? <spoiler text="Blöcke"> [[Datei:Pruefe norden.png|800px|Icon|border|Prüfe
Nordern]]</spoiler>
*Hast du die erstellten Blöcke für die Himmelsrichtung Norden schon in der richtigen Reihenfolge zusammengesetzt? <spoiler text="Blöcke"> [[Datei:Pruefe norden zusammengesetzt.png|800px|Icon|Prüfe Himmelsrichtung Norden]]</spoiler>
*Verschachtelst du mehrere bedingte Anweisungen, so kannst du alle 4 Haupthimmelsrichtungen unterscheiden.
*Welche Blöcke brauchst du zum Prüfen und Anzeigen der Himmelsrichtungen Norden und Osten? <spoiler text="Blöcke"> [[Datei:Pruefe norden osten.png|800px|Icon|border|Prüfe Himmelsrichtungen Norden und Osten]]</spoiler>
*Hast du die erstellten Blöcke für die Himmelsrichtungen Norden und Osten schon in der richtigen Reihenfolge zusammengesetzt? <spoiler text="Blöcke">
<pre id="01">


</spoiler></li>
basic.forever(function () {
<li>Bestimme die Himmelsrichtungen!</li>
    Ausrichtung = input.compassHeading()
::Der Sensor für die Kompassrichtung wird in Graden (°) ausgelesen. Der Wert liegt zwischen 0° und 360°. Norden liegt bei 0° bzw. wieder bei 360°. Wenn wir nur die 4 Haupthimmelsrichtungen anzeigen lassen, unterteilen wir in 4 gleich große Teile, wobei die Haupthimmelsrichtungen mittig liegen (siehe Kompassrose). Liegt der Wert der Kompassausrichtung zwischen 0° und 45° oder zwischen 315° und 360°, soll "Norden" angezeigt werden. Die Werte kannst du mit einer Verzweigung abfragen. <spoiler text="Block"> [[Datei:Ueberpruefung norden.png|border|Überprüfung der Richtung Norden]]</spoiler></li>
    if (Ausrichtung < 45 || Ausrichtung >= 315) {
[[Datei:Kompassrose.png|right|Kompassrose]]
        basic.showString("N")
    } else {
        if (Ausrichtung < 135) {
            basic.showString("O")
        } else {
            if (Ausrichtung < 225) {
                basic.showString("S")
            } else {
                basic.showString("W")
            }
        }
    }
})
</pre>
</spoiler>  
...
</ol>


::Es gibt bei Verzweigungen verschiedene Varianten. <spoiler text="Block"> [[Datei:Verzweigungsvarianten.png|border|Blöcke für Verzweigungen]]
==Wie baust du einen einfachen, analogen Kompass?==
::Um von der Basisversion zu einer anderen Form zu kommen, verwendest du das Zahnrad auf blauem Hintergrund. Ziehe den Block, den du hinzufügen möchtest, auf die rechte Seite.
:Im Video siehst du, wie du einen analogen Kompass bauen kannst.[https://youtu.be/jiGrvXWNotk]
::Statt dem Wert "wahr" muss ein passender Ausdruck eingesetzt werden</spoiler>
::Durch Verschachtelung von Verzweigungen kannst du die richtige Himmelsrichtungen ausgeben. <spoiler text="Block"> [[Datei:Ueberpruefung_norden_osten.png|border|Überprüfe Himmelsrichtung  Norden oder Osten]]</spoiler>
Jetzt musst du die gesammelten Blöcke in der richtigen Reihenfolge zusammensetzen!


===Lösung===
:Wenn du mehr über die Funktionsweise der Kompassnadel wissen möchtest, kannst du in Wikipedia [http://de.wikipedia.org/wiki/Kompass#Aufbau] nachlesen.
Die vollständige Lösung kannst du hier vergleichen. <spoiler text="Block"> [[Datei:loesung_kompass.png|border|Lösung Kompass]]</spoiler>


Bevor du deinen Kompass zur Orientierung in unbekanntem Gelände praktisch einsetzt, musst du wissen, wie du die Landkarte mit dem Kompass ausrichtest und wie du deine Position bestimmst. [http://www.alpinisten.info/wissen.kartenkunde.kompass.html]
==Wenn deine beiden Kompasse nicht dieselbe Himmelsrichtung anzeigen ==
:Eine möglich Ursache, wenn deine Kompasse nicht dieselbe Himmelsrichtung anzeigen, kann eine mangelhafte Kalibrierung sein. Die Kalibrierung stellt sicher, dass aufgrund des Magnetfeldes der Erde erkannt wird, in welche Richtung der mikro:bit bewegt wird. Starte die Kalibrierung z.B. durch Drücken der Taste A. <spoiler text="Blöcke"><li>Kalibrieren des Sensors
<pre id="01">
input.onButtonPressed(Button.A, function () {
})
</pre>
</spoiler>
:Hast du die Blöcke schon zusammengesetzt? <spoiler text="Blöcke"><pre id="01">
input.onButtonPressed(Button.A, function () {
    input.calibrateCompass()
})
</pre>
</spoiler>


=Informationen zu den Erweiterungen =
==Lösung vergleichen==
:Dein Programm kannst du hier vergleichen. <spoiler text="Blöcke">
<pre id="01">
 
let Ausrichtung = 0
input.onButtonPressed(Button.A, function () {
    input.calibrateCompass()
})
basic.forever(function () {
    Ausrichtung = input.compassHeading()
    if (Ausrichtung < 45 || Ausrichtung >= 315) {
        basic.showString("N")
    } else {
        if (Ausrichtung < 135) {
            basic.showString("O")
        } else {
            if (Ausrichtung < 225) {
                basic.showString("S")
            } else {
                basic.showString("W")
            }
        }
    }
})
</pre>
 
 
 
</spoiler>
 
==Mit Karte und Kompass sicher und zeitsparend dein Ziel finden==
*Bevor du deinen Kompass zur Orientierung in unbekanntem Gelände praktisch einsetzt, musst du wissen [http://www.alpinisten.info/wissen.kartenkunde.kompass.html]
::wie du die Landkarte mit dem Kompass ausrichtest
::wie du deinen Standort auf der Landkarte bestimmst
::wie du Höhenlinien und andere Kartenzeichen liest, Ziele richtig peilst, Entfernungen bestimmst, Geländehöhen und Wegzeiten ermittelst
*Informiere dich, wie du Himmelsrichtungen auch ohne Kompass erkennst. [https://youtu.be/epJLKx2PKxo]


*Wie du einen analogen Kompass selbst baust, kannst du dir im Video Kompass bauen [http://youtu.be/zhbGCoPAo_c] anschauen.
*Hier wirst du über Geocaching informiert [https://www.geocaching.com/play].




[[Kompass|Zurück zur Aufgabe]]
[[Kompass|Zurück zur Aufgabe]]
<htmlet>makecode_embed</htmlet>

Aktuelle Version vom 7. Dezember 2021, 21:33 Uhr

Hilfestellungen und Lösung zur Kompassaufgabe

Wie kannst du mit dem micro:bit die aktuelle Himmelsrichtung ermitteln?

CC-BY-Elisabeth Winklehner, Ermittlung der Himmelsrichtung
CC-BY-Elisabeth Winklehner, Ermittlung der Himmelsrichtung

Hinweis 1: Himmelsrichtung prüfen

  • Ein Sensor misst die Ausrichtung des micro:bit in Graden (°). Der Wert liegt zwischen 0° und 360°. Um zwischen den 4 Haupthimmelsrichtungen N, S, W, O unterscheiden zu können, teilen wir die 360° in 4 gleich große Teile.
  • Ist die Ausrichtung des micro:bit zwischen 0° und 45°, so handelt es sich um die Himmelsrichtung Norden.
  • Ist die Ausrichtung des micro:bit zwischen 45° und 135°, so handelt es sich um die Himmelsrichtung Osten. ...

Das Flussdiagramm kann dir bei deinen Überlegungen helfen. <spoiler text="Flussdiagramm">Flussdiagramm zur Bestimmung der Himmelsrichtung</spoiler>

Hinweis 2: Programmblöcke

CC-BY-Elisabeth Winklehner, QR-Code zur Programmierumgebung
CC-BY-Elisabeth Winklehner, QR-Code zur Programmierumgebung
Bis du schon zur Programmierumgebung [1] gegangen?
Hast du schon alle Blöcke gesammelt und richtig angeordnet?
  1. Erhebe immer wieder den Sensorwert, der die Ausrichtung des micro:bit in Grad (°) misst. Speichere den Wert in der Variablen "Ausrichtung"!
    • Welche Blöcke brauchst du dazu? <spoiler text="Blöcke"> Lies die Ausrichtung aus und weise diesen Wert einer Variablen zu</spoiler>
    • Hast du die erstellten Blöcke schon in der richtigen Reihenfolge zusammengesetzt? <spoiler text="Blöcke"> Lies immer wieder die Ausrichtung aus und weise diesen Wert einer Variablen zu</spoiler>
  2. Die Himmelsrichtung zeigst du auf dem Display mit dem jeweiligen Anfangsbuchstaben N, S, W, O. <spoiler text="Blöcke"> Die Himmelsrichtung Norden wird auf dem Display angezeigt mit Zeige ein N für die Himmelsrichtung Norden </spoiler>
  3. Bestimme die Himmelsrichtung, in die dein micro:bit zeigt!
    • Die Himmelsrichtung kannst du mithilfe von bedingten Anweisungen ermitteln. Du hast mehrere Möglichkeiten. <spoiler text="Blöcke"> Blöcke für Verzweigungen
    Mit dem Zahnrad wählst du deine gewünschte Verzweigung, indem du en gewünschten Block auf die rechte Seite ziehst.
    Statt dem Wert "wahr" musst du einen passenden logischen Ausdruck einsetzen.</spoiler>
    • Welche Blöcke brauchst du zum Prüfen und Anzeigen der Himmelsrichtung Norden? <spoiler text="Blöcke"> Prüfe Nordern</spoiler>
    • Hast du die erstellten Blöcke für die Himmelsrichtung Norden schon in der richtigen Reihenfolge zusammengesetzt? <spoiler text="Blöcke"> Prüfe Himmelsrichtung Norden</spoiler>
    • Verschachtelst du mehrere bedingte Anweisungen, so kannst du alle 4 Haupthimmelsrichtungen unterscheiden.
    • Welche Blöcke brauchst du zum Prüfen und Anzeigen der Himmelsrichtungen Norden und Osten? <spoiler text="Blöcke"> Prüfe Himmelsrichtungen Norden und Osten</spoiler>
    • Hast du die erstellten Blöcke für die Himmelsrichtungen Norden und Osten schon in der richtigen Reihenfolge zusammengesetzt? <spoiler text="Blöcke">
    
    basic.forever(function () {
        Ausrichtung = input.compassHeading()
        if (Ausrichtung < 45 || Ausrichtung >= 315) {
            basic.showString("N")
        } else {
            if (Ausrichtung < 135) {
                basic.showString("O")
            } else {
                if (Ausrichtung < 225) {
                    basic.showString("S")
                } else {
                    basic.showString("W")
                }
            }
        }
    })
    

    </spoiler> ...

Wie baust du einen einfachen, analogen Kompass?

Im Video siehst du, wie du einen analogen Kompass bauen kannst.[2]
Wenn du mehr über die Funktionsweise der Kompassnadel wissen möchtest, kannst du in Wikipedia [3] nachlesen.

Wenn deine beiden Kompasse nicht dieselbe Himmelsrichtung anzeigen

Eine möglich Ursache, wenn deine Kompasse nicht dieselbe Himmelsrichtung anzeigen, kann eine mangelhafte Kalibrierung sein. Die Kalibrierung stellt sicher, dass aufgrund des Magnetfeldes der Erde erkannt wird, in welche Richtung der mikro:bit bewegt wird. Starte die Kalibrierung z.B. durch Drücken der Taste A. <spoiler text="Blöcke">
  • Kalibrieren des Sensors
  • input.onButtonPressed(Button.A, function () {
    })
    

    </spoiler>

    Hast du die Blöcke schon zusammengesetzt? <spoiler text="Blöcke">

    input.onButtonPressed(Button.A, function () {

       input.calibrateCompass()
    

    })

    </spoiler>

    Lösung vergleichen

    Dein Programm kannst du hier vergleichen. <spoiler text="Blöcke">
    
    let Ausrichtung = 0
    input.onButtonPressed(Button.A, function () {
        input.calibrateCompass()
    })
    basic.forever(function () {
        Ausrichtung = input.compassHeading()
        if (Ausrichtung < 45 || Ausrichtung >= 315) {
            basic.showString("N")
        } else {
            if (Ausrichtung < 135) {
                basic.showString("O")
            } else {
                if (Ausrichtung < 225) {
                    basic.showString("S")
                } else {
                    basic.showString("W")
                }
            }
        }
    })
    


    </spoiler>

    Mit Karte und Kompass sicher und zeitsparend dein Ziel finden

    • Bevor du deinen Kompass zur Orientierung in unbekanntem Gelände praktisch einsetzt, musst du wissen [4]
    wie du die Landkarte mit dem Kompass ausrichtest
    wie du deinen Standort auf der Landkarte bestimmst
    wie du Höhenlinien und andere Kartenzeichen liest, Ziele richtig peilst, Entfernungen bestimmst, Geländehöhen und Wegzeiten ermittelst
    • Informiere dich, wie du Himmelsrichtungen auch ohne Kompass erkennst. [5]


    Zurück zur Aufgabe