Projekt monitoru výšky hladiny vody je typom projektu so záznamom a ukladaním dát, ktoré môžu byť použité pre rozšírenú štatistiku denného vývoja hladiny vody. Vďaka tomu je možné určiť mesiace v roku, kedy je v studniach nedostatok vody a opak, kedy je vody dostatok, alebo až nadbytok. Projekt sa môže stať základom pre ďalší projekt - automatickú závlahu riadenú mikrokontrolérom. Do projektu je možné integrovať aj rozšírené ovládanie výkonových prvkov - čerpadiel, vodárni, solenoidových ventilov, ktorými je možné zalievať záhradu a záhony - zavlažovať, alebo aj čerpať vodu a využívať ju ako úžitkovú na splachovanie, umývanie. Projekt zo základnej verzii využíval iba logovanie dát do MySQL databázy v pravidelných 5-minútových intervaloch.
Pre záznam výšky hladiny vody (ale výšku aj inej veličiny, napríklad snehu, uhlia, dreva) som využil cenovo dostupný ultrazvukový senzor vzdialenosti HC-SR04, ktorý sa vyznačuje vysokou spoľahlivosťou a jednoduchým ovládaním a nízkou spotrebou. Dokáže merať vzdialenosť 2-450 centimetrov. Využíva ultrazvuk na frekvencii 40kHz s vysielacím pulzom o dĺžke 10 mikrosekúnd. Na základe času od prijatia odrazenej vlny je možné vzorcom vypočítať vzdialenosť objektu, od ktorého sa vlna odrazila. Vyžaduje sa však, aby bola plocha kolmo na ultrazvukový senzor vzdialenosti z dôvodu presnosti merania.
Z popisu vyplýva, že je možné merať maximálne studňu s výškou 450cm. Senzor sa umiestni na hornú úroveň, najlepšie na stred studne. Aby boli merania čo najpresnejšie, vykoná sa celkovo 5 meraní, ktoré sa spriemerujú. Nakoľko je ale výsledok merania otočený - meria sa vzdialenosť od vrchu a nie od dna, je nutné výsledok odčítať od maximálnej výšky (450cm - alebo inej pri plytšej studni) a vytvoriť absolútnu hodnotu. Takto vieme určiť výšku vody v studni. Ak vieme priemer studne a aj výšku vodného stĺpca, vieme určiť aj litre vody v rozumnej miere.
Technické parametre senzora HC-SR04:Operačné napätie 3.8-5.5V
Frekvencia ultrazvuku 40kHz
Maximálna vzdialenosť 450cm
Minimálna vzdialenosť 2cm
Efektívny uhol detekcie 15°
Z technickej špecifikácie vyplýva, že senzor sa hodí aj do low-power aplikácii, kedy sa využíva deep-sleep, alebo iný mód uspania mikrokontroléru pri prevádzke na batérie.
Aby bolo možné projekt uspôsobiť na prenos rôznymi technológiami, vyhotovil som niekoľko zdrojových kódov, ktoré umožňujú prenos týmito technológiami a mikrokontrolérmi:
Arduino + Ethernet (Wiznet W5100/Wiznet W5500)
ESP8266 (Wemos D1, Wemos D1 mini, NodeMCU, Generic module) - WiFi
ESP32 (Generic, devkit v1-v4, Lolin32) - WiFi
Sigfox Wisol - IoT (vyžaduje náročnejšiu prvotnú konfiguráciu + HTTPS callback)
Všetky technológie umožňujú prenos do webového rozhrania, kde sa dáta spracujú, uložia sa do MySQL databázy a sú archivované pre rozsiahlejšiu štatistiku. Z Arduina s Ethernet shieldom sa vykoná HTTP request, ktorý predá dáta webovému rozhraniu. Pri využití ESP dosiek, alebo Sigfox modulu, či GSM, NB-IoT je možné vykonať HTTPS request, ktorým sa dáta do webového rozhrania odošlú.
Webové rozhranie využíva knižnicu Google charts na reprezentáciu dát za 2 hodiny, 24 hodín, 7 dní a 30 dní v čiarových grafoch. S možnosťou zobrazenia grafu za navolený mesiac, či deň. Vďaka tomu je možné prezerať rozdiely medzi rokmi, mesiacmi a dňami a vyhodnocovať výdatnosť studne a aj to, či vplyvom rokov naberá na výdatnosti, alebo vysychá.
Súčasťou systému je aj real-time tabuľka, v ktorej sa automaticky zobrazia vždy najnovšie údaje s tendenciou hladiny vody. Pre dlhodobejšiu štatistiku a priemery sa na stránke využívajú budíkové rozprezentácie, ktoré vizualizujú maximá a minimá, priemery za 24 hodín / 7 dní / 30 dní.
Pre historický prehľad nameraných údajov je možné využiť aj jednoduchú tabuľku, ktorá zároveň obsahuje informácie o čase daného záznamu a aj porovnanie prechádzajúcej hodnoty, teda je možné určiť v danom období aj pribúdanie, či odbúdanie vody - výšky hladiny v studni.
Schéma zapojenia pre platformy Arduino, ESP32, ESP8266 (NodeMCU):Viac o projekte je možné nájsť na mojich stránkach:
http://arduino.clanweb.eu/studna-voda.phpProjekt je možné vyskúšať na adrese:
http://arduino.clanweb.eu/studna_s_prekladom/