stationeers.de Mod-Werkstatt · Dominik1199
EN Anmelden
  1. Start
  2. IC10-Akademie
  3. Tag 27

Tag 27 von 365 · Einsteiger · Monat 1: Erste Schritte

Projekt: einfacher Thermostat

Projekt: ein Thermostat mit Sollwert im Gehäuse, Heizung, farbiger Anzeige und Schutz gegen unsinnige Sollwerte – ganz ohne bedingte Sprünge.

Projekt 30 Min. Woche 4

Das lernst du heute

  • Heizung nach Temperatur schalten
  • Zustand farbig anzeigen
  • Sollwert über das Gehäuse einstellen

Dein Wohnmodul soll warm bleiben, und den Sollwert willst du ändern können, ohne den Code anzufassen. Alles, was du dafür brauchst, kennst du aus dieser Woche und den letzten: Set-Befehle, select, min, max und round.

Der Aufbau

PinGerät
d0Gas-Sensor im Raum
d1Wandheizung
d2LED-Anzeige
dbGehäuse: Sollwert in °C

Der Sollwert im Gehäuse

Das Programm liest den Sollwert aus db Setting, in Grad Celsius. Im Spiel kommt er später von einem anderen Gerät oder Chip, im Simulator setzt du ihn von Hand. Zwei Absicherungen gehören dazu:

  • Steht im Gehäuse noch 0, gilt 20 °C. Ein frisch eingesetzter Chip heizt so nicht auf 0 °C herunter.
  • Der Sollwert wird auf 5 bis 35 °C begrenzt. Ein Tippfehler wie 300 macht aus dem Wohnmodul keine Sauna.
l r1 db Setting        # Soll in C
seqz r2 r1             # 1 = nichts eingetragen
select r1 r2 20 r1     # dann 20 C
max r1 r1 5
min r1 r1 35

Heizen und Farbe

Die Heizung läuft, wenn es mehr als 1 °C kälter als der Sollwert ist. Eine echte Hysterese mit Gedächtnis kommt in Woche 7, heute reicht das Band aus Woche 4.

Die Anzeige zeigt die Temperatur in °C mit einer Nachkommastelle, Mode Celsius, und färbt sich:

ZustandFarbe
Heizung läuftBlau (0)
mehr als 1 °C zu warmRot (4)
sonstGrün (2)

Zwei select hintereinander erledigen das. Das zweite überschreibt das erste, wenn die Heizung läuft:

select r6 r5 4 2       # rot oder gruen
select r6 r4 0 r6      # blau, wenn geheizt wird

Teilziele

  1. Kalt: Heizung an.
  2. Warm genug: Heizung aus, Anzeige grün.
  3. Anzeige in °C mit einer Nachkommastelle, Mode Celsius.
  4. Blau beim Heizen, rot bei zu warm.
  5. Ohne Sollwert gilt 20 °C.
  6. Sollwert begrenzt auf 5 bis 35 °C.
Tipp

Rechne früh in Celsius um und vergleiche in Celsius – der Sollwert im Gehäuse ist ja auch in Celsius. Vergleiche nie Kelvin mit Celsius.

Schaubild

Vergleich und select als Weiche temp = 313 sgt r1 temp 303 r1 = 1 select Color.Red Color.Green 4 wenn r1 ≠ 0 wenn r1 = 0
Vergleiche liefern 0 oder 1, select wählt damit Farbe und Ersatzwert aus.

Projektaufgabe

Aufgabe

Baue den Thermostat aus der Lektion, ohne bedingte Sprünge (nur j start):

  • Sollwert in °C aus db Setting; 0 heißt 20 °C; begrenzt auf 5 bis 35 °C.
  • Heizung d1 an, wenn die Temperatur mehr als 1 °C unter dem Sollwert liegt.
  • Anzeige d2: Temperatur in °C, eine Nachkommastelle, Mode 4.
  • Farbe: blau (0) beim Heizen, rot (4) bei mehr als 1 °C zu warm, sonst grün (2).

Teilziele

  1. Teilziel 1: Kalt – Heizung an
  2. Teilziel 2: Warm genug – Heizung aus, grün
  3. Teilziel 3: Anzeige in °C mit einer Nachkommastelle
  4. Teilziel 4: Blau beim Heizen, rot bei zu warm
  5. Teilziel 5: Ohne Sollwert gilt 20 °C
  6. Teilziel 6: Sollwert begrenzt auf 5 bis 35 °C

Hinweise

Hinweis 1

Ersatzwert: seqz r2 r1, dann select r1 r2 20 r1.

Hinweis 2

Abweichung r3 = Ist − Soll. Heizung: add r4 r3 1 und sltz r4 r4.

Hinweis 3

Farbe mit zwei select, Anzeige mit mal 10, round, durch 10.

Quiz

2 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.

Tag abschließen

  • Alle Teilziele des Projekts bestanden
  • Quiz mit mindestens 60 % bestanden

Ohne Konto wird der Fortschritt nur in diesem Browser gespeichert.

Fehler in dieser Lektion melden

Zum Melden bitte anmelden. Anmelden

Esc
↑ ↓ wählenEnter öffnen/ öffnet die Suche überall