Jednoduché zariadenie na monitorovanie teploty chladničky, mrazničky s alarmom
Nápad na vytvorenie tohoto zariadenia som dostal asi dva mesiace dozadu, kedy nám z ničoho nič prestala chladiť chladnička a skoro celý deň si to nikto z nás nevšimol. Až keď nás ku nej dostal hlad, zistili sme, že je komplet rozmrazená a termostat si veselo čušal vypnutý. Aby sme podobným situáciám predišli, napadlo mi zostrojiť jednoduchý alarm s monitorovaním teploty a varovaním zvukovou signalizáciou.
Základom je Arduino Nano, ktoré som mal v šuplíku. Je celkom malé a tak sa dalo pekne prichytiť na zadnú časť znakového LCD 16x2 s radičom HD44780 alebo kompatibilným.
Schéma pripojenia komponentov k Arduino NANO
Vzhľadovo nič moc, viem :)
Teplota je meraná dvoma kusmi digitálnych čidiel Dallas DS18B20. Sú zapojené trojvodičovou metódou. U dvojvodičového zapojenia bol problém s rušením (ktorá sa dá odstrániť použitím tieneného kábla).
Ako bzučiak poslúži ľubovoľný piezo bzučiak/repráčik, nemusí byť samovybudzujúci, nakoľko tón sa generuje v programe.
Signalizácia stavu monitora je tvorená dvojfarebnou LED (červeno-zelená) so spoločnou katódou. LED má 4 stavy:
1. zelená - všetko v poriadku
2. oranžová - prekročenie nastavenej alarmovej teploty v priestore (v programe premenná chladnickaAlarmTepl a mraznickaAlarmTepl)
3. červená - alarmová teplota bola prekro?ená aj po uplynutí času oneskorenia pred spustením zvukového alarmu (v programe premenná oneskAlarm)
4. bliká striedavo oranžová/zelená - chyba niektorého z čidiel, na LCD sa zároveň zobrazuje, ktoré čidlo je vadné
1. režim s oneskorením alarmu (v programe premenná oneskAlarm) - pri krátkodobom zvýšení teploty, napr. dlhšie otvorené dvere pri nakladaní/vyberaní vecí. LED svieti na oranžovo, na LCD hore v pravo je zobrazený symbol výkričníka a zostávajúci čas do spustenia alarmu
2. režim alarmu - LED svieti na červeno, je spustená zvuková signalizácia
Bola prekročená teplota v chladničke - po uplynutí času zobrazeného vpravo hore sa pustí alarm (ak sa teplota nevráti do normálu)
Zvukový alarm je možné oneskoriť o nastavený čas (v programe odlozenieAlarm) stlačením tlačidla na porte D7. V pravom dolnom rohu je zobrazený symbol hodín a opäť zostávajúci čas, po ktorého uplynutí: ak prekročenie alarmových teplôt trvá, opäť sa spustí zvukový alarm; ak sa teplota počas tohoto času vrátila pod alarmovú hodnotu, LED svieti opäť na zeleno a nič sa ďalej nedeje.
Odloženie zvukového alarmu po dobu zobrazovanú v pravom dolnom rohu
Výstup D13, na ktorom je zapojená zelená LED som prispôsobil tak, aby slúžil aj ako alarmový výstup na externé zariadenie (gsm alarm...). Ak je všetko ok, je v LOG.1, pri alarme alebo výpadku napájania prejde do LOG.0. Po alarme prejde do LOG.1 až keď je všetko v poriadku :)
Chyba čidla - LED bliká zeleno-oranžovo
Oživenie:
1. najprv je potrebné zistiť adresy jednotlivých čidiel. Na to slúži program DS18B20_get_address.ino. Zoberieme prvé čidlo a pripojíme ho k Arduinu, dátový pin na pin D6. Nezabudnúť na Pull-up rezistor medzi Vcc a dátovým pinom čidla.
2. V Arduino IDE otvoríme sériový terminál, kde sa nám zobrazí adresa pripojeného čidla. Túto si poznačíme. Rovnaký postup urobíme aj s druhým čidlom. Adresy zadáme v programe do premenných DeviceAddress chladnicka_cidlo a DeviceAddress mraznicka_cidlo.
3. pripojíme obidve čidlá k Arduinu a nahráme program chladnicka_alarm.ino.
4. V programe zadáme prevádzkové teploty v chladničke a mrazničke do premenných chladnickaNormTepl a mraznickaNormTepl. Teploty si buď odmeráme externým teplomerom alebo rovno osadíme čidlá monitora a odčítame ich z LCD.
5. Do premenných chladnickaAlarmTepl mraznickaAlarmTepl zadáme hraničné hodnoty, kedy sa spustí varovanie/alarm o prekročení teplôt.
6. Upravíme premenné oneskorení. Oneskorenie po prekročení teploty oneskAlarm a trvanie odloženia alarmu po stlačení tlačidla odlozenieAlarm. Defaultne nastavené na 3 minúty a 90 minút. Nakoľko sa pri počítaní času vykonávajú aj ďalšie programové veci, trvá jedna minúta asi 72 sekúnd, čo je upravené v programe. Tých pár sekúnd hore dole aj tak nevadí :)
Pre informáciu sa na LCD okrem aktuálnej nameranej teploty zobrazuje aj rozdiel medzi aktuálne nameranou teplotou a alarmovou teplotou nastavenou v programe (hodnota zobrazená na LCD za symbolom Delta). Stručne - kým je hodnota mínusová, je všetko ok. Akonáhle tu vyskočí kladná hodnota, spúšťa sa alarm.
Ak riešite problém, ako dostať čidlá do vnútra chladničky/mrazničky bez poškodenia tesnenia dverí (alebo aby ste medzi tesnením a rámom chladničky mali medzeru kvôli prechádzajúcemu káblu), použite v mieste prechodu cez tesnenie páskový vodič. Je jedno aký, nájdete ich v starých CD/DVD mechanikách a iných zariadeniach.
Umiestnenie čidla v chladničke
Súbory na stiahnutie:
Hlavný program monitora chladničky
Program na zistenie adresy Dallas čidla
OneWire knižni pre Arduino
DallasTemperature knižnica pre Arduino
LiquidCrystal knižnica pre Arduino
< Dozadu | Dopredu > |
---|