09_03_TemperaturAmpel

Calliope-Kurs (Lehrer Herrengasse)

Jogi Künstner, Turbine Brunnen

Frühjahr 2019

Download Folien

Download Kursteil: 09_03_TemperaturAmpel als DinA4-PDF-Folien
Download Kursteil: 09_03_TemperaturAmpel als PDF-Folien im 16:10-Format

Die Temperatur-Ampel

Wiedereinbau Wenn-Dann

Nun können wir aus der Wenn-Dann Übung von vorher und dem kleinen Temperatur-Programm von eben eine kleine Temperatur-“Ampel” machen.

Dazu bauen wir das vorher “beiseite” gelegte Wenn-Dann wieder ein.

Wieder Einbau
Wieder Einbau

Wiedereinbau Wenn-Dann

Eingebaut
Eingebaut

Verwendung sinnvoller Werte

Wir möchten im ersten Schritt, “Alles im Grünen Bereich” anzeigen, wenn die Temperatur eine gute Temperatur hat.

Dazu sagen wir : Alles was grösser 21 °C ist, ist gut.

Thermometer
Thermometer

Verwendung sinnvoller Werte

Das heisst: Wir müssen unsere Wenn-Dann-Konstruktion so umbauen, dass folgender Satz/Aussage abgebildet wird:

Verwendung sinnvoller Werte

Verwendung sinnvoller Werte

Variable holen
Variable holen

Verwendung sinnvoller Werte

Variable liegt da
Variable liegt da

Verwendung sinnvoller Werte

Variable wird benutzt
Variable wird benutzt

Damit lässt sich im Simulator schon mal ausprobieren, wie unsere Temperatur-Ampel reagiert.

Benutzung im Simulator

Beim Starten ist im Simulator die Temperatur immer 21 °C, das ist nach unseren Wünschen genau die Grenze. Erst wenn die AktuelleTemperatur grösser als 21 °C ist, dann wird die Anzeige grün. Das können wir im Simulator ausprobieren und dann natürlich auch wieder in den Calliope laden um es in der richtigen Hardware mit echten Werten zu testen.

Download in der Calliope

Jetzt ist der Programm-Code eigentlich gut genug, um eine echte Messung in unserem echten Calliope durchzuführen.

Wir laden das Programm dazu auf den Calliope:

JavaScript-Code

Java-Script-Code

let AktuelleTemperatur = 0
basic.forever(() => {
    AktuelleTemperatur = input.temperature()
    basic.showNumber(AktuelleTemperatur)
    basic.pause(500)
    basic.showLeds(`
        # . . # #
        . . # . .
        . . # . .
        . . # . .
        . . . # #
        `)
    basic.pause(500)
    basic.clearScreen()
    basic.pause(500)
    if (AktuelleTemperatur > 21) {
        basic.setLedColor(Colors.Green)
    } else {
        basic.setLedColor(Colors.Red)
    }
})

Download Hex-Code

Hex-code

Lizenz/Copyright-Info

Für alle Texte und Bilder auf dieser Seite gilt: