Kurs im Selbststudium

Embedded Smart Home

Angeboten von Jan Renz, Martin Malchow, Matthias Bauer

Aufgabe 2.2 - Fenster in Abhängigkeit von Außentemperatur/Luftfeuchtigkeit

Anweisungen:


Diese Aufgabe erweitert die Genauigkeit der Fensteröffnung anhand der Informationen aus diesem Flyer (Seite 6) für ein gesundes Raumklima.

Implementiere die Funktion “RelHumidityOK” anhand dieser vereinheitlichten Werte:

  • Kalte Witterung (unter oder gleich 5°C)

    • Raumtemperatur über 21°C --> rel. Feuchte muss unter/gleich 40% sein
    • Raumtemperatur über 18°C bis gleich 21°C --> rel. Feuchte muss unter/gleich 50% sein
    • Raumtemperatur unter und gleich 18°C --> rel. Feuchte muss unter/gleich 60% sein
  • Kalte Witterung (über 5°C bis gleich 15°C)

    • Raumtemperatur über 21°C --> rel. Feuchte muss unter/gleich 50% sein
    • Raumtemperatur über 18°C bis gleich 21°C --> rel. Feuchte muss unter/gleich 60% sein
    • Raumtemperatur unter und gleich 18°C --> rel. Feuchte muss unter/gleich 70% sein
    • Bei Temperaturen über 15°C wird angenommen das die Luftfeuchtigkeit immer in Ordnung ist. Natürlich sollte man trotzdem etwa 3x am Tag die Fenter öffnen

Wenn die Empfehlung erfüllt wird, gibt die Funktion "RelHumidityOK" "true" zurück. Anderfalls false. Bitte prüfe mit der gerade implementierten Funktion den Fensterstatus und die Luftfeuchtigkeit. Wenn das Fenster geöffnet ist, ist alles in Ordnung (die grüne LED leuchtet und die rote LED ist deaktiviert). Derselbe Status wird angezeigt, wenn das Fenster geschlossen ist und die relative Luftfeuchtigkeit den Empfehlungen entspricht. Wenn allerdings das Fenster geschlossen ist und die relative Luftfeuchtigkeit nicht den Empfehlungen entspricht, dann leuchtet die rote LED und die grüne ist deaktiviert. Dies soll dem Nutzer signalisieren, dass eine Aktion für gesundes Raumklima am Fenster notwendig ist.

Hinweise:

  1. Da die Programmierung auf geteilter Hardware erfolgt, schreibe bitte keine Endlosschleifen, auch wenn das für Eingebettete Systeme typisch ist.
  2. Verzichte auf GPIO.cleanup() am Ende des Programms. Dies würde dazu führen, dass deine Programmierung bei der Aufnahme des Fotos nicht erscheint.
  3. Die GPIO-Pin-Belegung findest du unter den Programmier-Videos von Woche 1

  • Dies ist eine benotete Aufgabe.
  • 6.0 Punkte
  • Abgabe bis Juli 04, 2016 um 20:00 Uhr (UTC)