Ich würde gerne ein kleines Projekt teilen, das ich als Übungsaufgabe gemacht habe.
Es handelt sich um Thermostat, das für das beheizen von LiPo-Ladekoffern genutzt werden kann.
Es war mein erstes Projekt mit einem Display als Newbie mit 5 Wochen Erfahrung.
Die vorab aufgestellte 10. Punkte Aufgabenreihe war wie folgt:
-
Temperaturbereich mit Poti einstellbar, nicht mit Tasten
-
Temperaturbereich von 35 bis 42°C ( leicht änderbar für andere Anwendungen )
-
Es sollte Material verbraucht werden, was da war, daher der Sensor TMP36
-
Da dieser am analogen Eingang nicht so stabile Werte generiert, und damit am
Schaltpunkt oft ein Toggeln auftritt, sollte dem auf einfache Art begegnet werden. Dazu bin ich
wie folgt vorgegangen:
- Damit nicht dauernd die Heizung anspringt, schaltet si e erst wieder Soll- Temperatur -2° ein, das
reicht für den Heizkoffer, da kommt es auf ein Grad nicht an. Auch der Wert -2 solle einfach
änderbar sein. - Zusätzlich wartet das Programm dann noch eine Minute, bevor das Relais wieder geschaltet wird.
Das klappt in Summe ganz ordentlich. Diese Zeit ist ebenfalls leicht änderbar für andere
Anwendungen.
-
Es soll ja Spaß machen, also gibt es am Anfang ein kurzes Intro auf dem Display. Zusätzlich soll
sich, wenn die Heizung an ist, dort auch was bewegen. Wie gesagt, war eine Übungsaufgabe für
mich selbst. -
Im Loop sollten folgende Dinge nicht vorkommen:
- Delay
- For Schleifen
- Goto´s
-
Das Display sollte regelmäßig ( etwa Sekundentakt ) refreshed werden. Diese Zeit soll auch
einfach änderbar sein. -
Es sollte mindestens angezeigt werden:
-Die aktuelle Temperatur „T", die Solltemperatur „S", jeweils in °C
-Heizung „ein" oder „aus", und etwas, was sich im Zustand „ein" bewegt.
-
Die Beschreibung in den Kommentaren sollte halbwegs nützlich sein.
-
Die Formatierung sollte ein wenig Übersicht erlauben. Kann sicher besser, aber ich hab mir Mühe
gegeben.
Das Ergebnis kommt nachfolgend im Code und sollte mit wenig Aufwand nachbaubar sein.
Lies sich nicht auf einmal machen, da dann die Message zu lang ist. Hoffentlich klappt das,
sonst teile ich den Code nachher auch noch in monatliche Zwölftel
Danke an microBahner, der mir mit einer Engelsgedult vieles an Basiswissen mitgegeben hat.
Ohne den Crashkurs hätte das Programm sicher schlimm ausgesehen.
Obwohl man es sicher auch jetzt noch mit der Hälft an Aufwand schreiben könnte, wenn man mehr davon kennt, als ich es zur Zeit noch tue.