Kompass Lösung: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Alois.bachinger (Diskussion | Beiträge)
 
(233 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 und richtig angeordnet?
*Ist die Ausrichtung des micro:bit zwischen 0° und 45°, so handelt es sich um die Himmelsrichtung Norden.
<ul>
*Ist die Ausrichtung des micro:bit zwischen 45° und 135°, so handelt es sich um die Himmelsrichtung Osten. ...
<li>Lies immer wieder die Ausrichtung des micro:bit aus und speichere den Wert in einer Variablen mit sinnvollem Namen!
Das Flussdiagramm kann dir bei deinen Überlegungen helfen. <spoiler text="Flussdiagramm">[[Datei:Flussdiagramm kompass.jpg|border|600px |Flussdiagramm zur Bestimmung der Himmelsrichtung]]</spoiler>
*Welche Blöcke brauchst du dazu? <spoiler text="Blöcke"> [[Datei:Kompassausrichtung speichern.png|border|Lies die Ausrichtung aus und weise diesen Wert einer Variablen zu]]</spoiler>
===Hinweis 2: Programmblöcke===
*Setze die erstellten Blöcke in der richtigen Reihenfolge zusammen <spoiler text="Blöcke"> [[Datei:Aktuelle_Kompassausrichtung_speichern.png|border|Lies immer wieder die Ausrichtung aus und weise diesen Wert einer Variablen zu]]</spoiler></li>
[[Datei:qr_microbit.png|200px|right|CC-BY-Elisabeth Winklehner, QR-Code zur Programmierumgebung]]
: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">


<li>Bestimme die Himmelsrichtung, in die dein micro:bit schaut![[Datei:Kompassrose.png|right|Kompassrose]]
basic.forever(function () {
*Der Sensor für die Ausrichtung des micro:bit misst in Graden (°). Der Wert liegt zwischen 0° und 360°. Ist die Ausrichtung des micro:bit 0° oder 360°, so muss er N für die Himmelsrichtung Norden anzeigen. Für  Wenn die 4 Haupthimmelsrichtungen unterteilen wir die 360° in 4 gleich große Teile (siehe Kompassrose). Liegt der Wert der Ausrichtung zwischen 0° und 45° oder zwischen 315° und 360°, soll "Norden" angezeigt werden.
    Ausrichtung = input.compassHeading()
*Die Werte kannst du mit Verzweigung abfragen. Bei Verzweigungen gibt es verschiedene Arten. <spoiler text="Blöcke für Verzweigungen"> [[Datei:Verzweigungsvarianten.png|border|Blöcke für Verzweigungen]]
    if (Ausrichtung < 45 || Ausrichtung >= 315) {
::Mit dem Zahnrad wählst du deine gewünschte Verzweigung.  
        basic.showString("N")
::Statt dem Wert "wahr" musst du einen passenden logischen Ausdruck einsetzen.</spoiler>
    } else {
*Verschachtelst du mehrere Verzweigungen, kannst du zwischen allen 4 Himmelsrichtungen unterscheiden.
        if (Ausrichtung < 135) {
*Die gefundene Himmelsrichtung  stellst du mit dem 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]] .... </spoiler>
            basic.showString("O")
<spoiler text="Block"> [[Datei:Ueberpruefung_norden_osten.png|border|Überprüfe Himmelsrichtung  Norden oder Osten]]</spoiler>
        } else {
            if (Ausrichtung < 225) {
                basic.showString("S")
            } else {
                basic.showString("W")
            }
        }
    }
})
</pre>
</spoiler>  
...
</ol>


==Wie baust du einen einfachen, analogen Kompass?==
:Im Video siehst du, wie du einen analogen Kompass bauen kannst.[https://youtu.be/jiGrvXWNotk]


<spoiler text="Blöcke"> [[Datei:Ueberpruefung norden.png|border|Überprüfung der Richtung Norden]]</spoiler>
:Wenn du mehr über die Funktionsweise der Kompassnadel wissen möchtest, kannst du in Wikipedia [http://de.wikipedia.org/wiki/Kompass#Aufbau] nachlesen.


===Lösung===
==Wenn deine beiden Kompasse nicht dieselbe Himmelsrichtung anzeigen ==
Die vollständige Lösung kannst du hier vergleichen. <spoiler text="Block"> [[Datei:loesung_kompass.png|border|Lösung Kompass]]</spoiler>
: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>


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]
==Lösung vergleichen==
:Dein Programm kannst du hier vergleichen. <spoiler text="Blöcke">
<pre id="01">


=Informationen zu den Erweiterungen =
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