Szia!
Minek SD kártya? Milyen adatot akarsz tárolni, amihez kell?
25 és 65 fok között 40 fok differencia van. Bojlerben azért ez nagyon sok szerintem. Ennyire nem kritikus a hőmérséklet?
Az egész cucc elvileg elmegy két változóval:
-- megy-e a fűtés (bool), kiindulási állapot: false,
-- mennyi a mért hőmérséklet (int).
Aztán kell pár vizsgálat:
1. Ha a fűtési fázisban van ÉS a mért hőmérséklet a beállított maximum hőmérsékletet felett van, akkor:
-- fűtés kikapcsol (false),
2. Ha a nem a fűtési fázisban van ÉS a mért hőmérséklet a beállított minimum hőmérsékletet alatt van, akkor:
-- fűtés bekapcsol (true).
A két köztes eset (fűtés megy ÉS a mért hőmérséklet a beállított maximum alatt van, illetve a fűtés nem megy és a hőmérséklet a beállított minimum felett van) irreleváns, mert nincs szükség kapcsolásra.
A fűtés kimenete a fűtés boolean állapota, ha true, megy, ha false, nem megy.
Néhány további javaslat:
1. Watchdog legyen,
2. A mérési gyakoriságot érdemes úgy beállítani, hogy a hőmérsékletváltozás követhető legyen,
3. Direkt analóg bemenetet érdemes szűrni (átlagolt beolvasás),
4. Figyelj a tápellátásra,
5. Galvanikus leválasztás legyen!
Kb. ennyi a lényeg. A kód nagyjából 30 sor, de lehet, hogy túlzok.