Hladinomer - Arduino / ESP8266 / ESP32 / Sigfox
Kategorie:
Software
Ponúkam mnou navrhnutý a naprogramovaný SOFTVÉR - webaplikáciu pre projekt Hladinomer. Cieľom projektu je zaznamenávať a reprezentovať používateľovi výšku hladiny vody (alebo inej kvapaliny) v studni, nádrži. Princíp merania ultrazvukových senzorov je vyslanie signálu Trigger o dĺžke 10 mikrosekúnd, ktorý sa od hladiny odrazí a vráti sa do prijímača - Echo. Na základe prepočtu času vzhľadom na rýchlosť šírenia zvuku je možné určiť vzdialenosť medzi senzorom a hladinou vody, ktorú je možné reprezentovať v litroch.
Projekt využíva ultrazvukový senzor vzdialenosti HC-SR04 - (detekčný uhol 15°), prípadne vodotestný senzor JSN-SR04T (detekčný uhol je až 60°). [Detekčný uhol reprezentuje šírku lúča]. Merať je možné výšku hladiny až do 450cm.
Pre obsluhu projektu je možné využiť mikrokontróler Arduino s Ethernet modulom Wiznet W5100 alebo W5500, prípadne WiFi platformy od Espressif Systems - ESP8266 (NodeMCU, Wemos D1 Mini), alebo ESP32 (Devkit). Schéma zapojenia pre všetky platformy je dostupná priamo vo webaplikácii.
Mikrokontrolérové platformy ESP8266 a ESP32 je možné prevádzkovať aj v režime Deep Sleep, ktorý dramaticky zníži ich spotrebu na úroveň desiatok mikroampérov, sú tak vhodné pre prevádzku na batériu. Druhým prevádzkovým režimom je StandBy, kedy platforma beží v štandardnom režime a môže byť rozšírená o implementáciu Over The Air (OTA), ktorá ponúka aktualizáciu firmvéru prostredníctvom LAN siete.
Arduino s Ethernetom podporuje iba HTTP konektivitu a nepodporuje OTA aktualizáciu, ani režim spánku! Pre platformy ESP8266 a ESP32 je možné využiť HTTP i HTTPS šifrované spojenie s webserverom. V prípade, že nie je na danom mieste dostupný pevný internet, je možné využiť aj prenos dát cez IoT sieť Sigfox, ktorá pokrýva 85% Slovenska a je tak vhodnou alternatívou.
Kompatibilný je UART modem SIGFOX WISOL 868MHz.
Vhodný pre IoT aplikácie s nízkym prúdovým odmerom, pri vysielaní spotrebúva tretinu v porovnaní s ESP32. Limit správy 12B (používajú sa 4B pre výšku hladiny vody), custom callback zo Sigfox backendu vykonáva HTTP / HTTPS POST request pre zápis dát do webového rozhrania.
Pre prevádzku projektu je nutné vlastniť webserver s podporou Apache/Nginx (pre .php scripty) na verejnej IP adrese, alebo v LAN sieti, kam daná platforma odosiela dáta z ultrazvukového senzora. POZOR, v prípade Sigfox prevádzky musí byť server dosiahnuteľný z internetu, inak nie je možné zapísať dáta!
Na webserveri beží aplikácia, ktorá používateľovi vizualizuje v dynamickom prehľade posledné údaje s indikátorom konektivity mikrokontroléru. Umožňuje sledovať aj historické údaje o výške hladiny vody za mesiac, týždeň, deň v prehľadných grafoch, či tabuľkovom vyhotovení. Web rozhranie obsahuje aj záznam rekordov - maximálna, minimálna hodnota hladiny vody za 24 hodín, 7 dní, 30 dní, čo umožňuje priebežne monitorovať aj výdatnosť studne. Webaplikácia má aj rôzne meniteľné údaje, ktoré sú potrebné pre správne určenie výšky hladiny vody.
Projekt využíva ultrazvukový senzor vzdialenosti HC-SR04 - (detekčný uhol 15°), prípadne vodotestný senzor JSN-SR04T (detekčný uhol je až 60°). [Detekčný uhol reprezentuje šírku lúča]. Merať je možné výšku hladiny až do 450cm.
Pre obsluhu projektu je možné využiť mikrokontróler Arduino s Ethernet modulom Wiznet W5100 alebo W5500, prípadne WiFi platformy od Espressif Systems - ESP8266 (NodeMCU, Wemos D1 Mini), alebo ESP32 (Devkit). Schéma zapojenia pre všetky platformy je dostupná priamo vo webaplikácii.
Mikrokontrolérové platformy ESP8266 a ESP32 je možné prevádzkovať aj v režime Deep Sleep, ktorý dramaticky zníži ich spotrebu na úroveň desiatok mikroampérov, sú tak vhodné pre prevádzku na batériu. Druhým prevádzkovým režimom je StandBy, kedy platforma beží v štandardnom režime a môže byť rozšírená o implementáciu Over The Air (OTA), ktorá ponúka aktualizáciu firmvéru prostredníctvom LAN siete.
Arduino s Ethernetom podporuje iba HTTP konektivitu a nepodporuje OTA aktualizáciu, ani režim spánku! Pre platformy ESP8266 a ESP32 je možné využiť HTTP i HTTPS šifrované spojenie s webserverom. V prípade, že nie je na danom mieste dostupný pevný internet, je možné využiť aj prenos dát cez IoT sieť Sigfox, ktorá pokrýva 85% Slovenska a je tak vhodnou alternatívou.
Kompatibilný je UART modem SIGFOX WISOL 868MHz.
Vhodný pre IoT aplikácie s nízkym prúdovým odmerom, pri vysielaní spotrebúva tretinu v porovnaní s ESP32. Limit správy 12B (používajú sa 4B pre výšku hladiny vody), custom callback zo Sigfox backendu vykonáva HTTP / HTTPS POST request pre zápis dát do webového rozhrania.
Pre prevádzku projektu je nutné vlastniť webserver s podporou Apache/Nginx (pre .php scripty) na verejnej IP adrese, alebo v LAN sieti, kam daná platforma odosiela dáta z ultrazvukového senzora. POZOR, v prípade Sigfox prevádzky musí byť server dosiahnuteľný z internetu, inak nie je možné zapísať dáta!
Na webserveri beží aplikácia, ktorá používateľovi vizualizuje v dynamickom prehľade posledné údaje s indikátorom konektivity mikrokontroléru. Umožňuje sledovať aj historické údaje o výške hladiny vody za mesiac, týždeň, deň v prehľadných grafoch, či tabuľkovom vyhotovení. Web rozhranie obsahuje aj záznam rekordov - maximálna, minimálna hodnota hladiny vody za 24 hodín, 7 dní, 30 dní, čo umožňuje priebežne monitorovať aj výdatnosť studne. Webaplikácia má aj rôzne meniteľné údaje, ktoré sú potrebné pre správne určenie výšky hladiny vody.
Podobné inzeráty
Ponúkam SOFTVÉR pre DOMINATOR stopky. Vhodné pre herný mód DOMINATION v Arduino / Paintball hrách. Vytvorené pre 2 tímy - RED a GREEN. Počítadlo má sekundové rozlíšenie a dokáže vizualizovať čas na max. rozsah 99 hodín, 59 minút a 59 sekúnd.
Princíp funkčnosti:
Stopky sú tvorené mikrokontrolérom Arduino Uno/Nano (architektúra ATmega328P, možno využiť i tento samostatný čip), LCD znakovým displejom 16x2 / 20x4 s I2C prevodníkom a 4 tlačidlami pre digitálny vstup active-LOW. V systéme sú implementované celkom 4 tlačidlá. Prvé 2 z nich sú určené pre tímy, ktoré proti sebe hrajú a snažia sa o obsadenie bodu stlačením tohto tlačidla.
Tímu, ktorý svoje tlačidlo stlačil sa začne pripočítavať čas na displeji (týmto úkonom obsadí tím bod). Tlačidlo reaguje okamžite na stlačenie (nie je potrebná dĺžka stlačenia). Aktívny tím na bode je reprezentovaný aj rozsvietenou LED diódou danej farby. V prípade, že bod obsadí druhý tím, čas prvého tímu sa zastaví a začne sa pripočítavať druhému tímu. Tlačidlá sú zapojené ako INPUT_PULLUP, spínajú sa teda proti zemi a využíva sa interný rezistor Arduina na 5V.
Ak svoje tlačidlo stlačí rozhodca, hra sa zastaví až do stlačenia tlačidla niektorého z tímov. V prípade, ak svoje tlačidlo stlačí eraser, hra sa končí a časy sa reštartujú - DOMINATOR pripravený na novú hru. DOMINATOR je vhodný aj pre niekoľko dňové akcie s daným rozlíšením času. Program je možné vopred zdarma vyskúšať v Shareware verzii s meraním času max. 15 sekúnd pre každý tím. Slúži na overenie kompatibility hardvéru, komunikačnej adresy I2C displeja a pod...
Hardvér pre projekt:
Arduino Uno / Nano
LCD 20x4 / 16x2 s I2C prevodníkom
4x spínacie tlačidlá
2x LED diódy
Buzzer (voliteľný)
Dodávam:
Schéma zapojenia (kompatibilná pre všetky 2 spomenuté mikrokontroléry a samostatný čip AtMega328P)
Strojový kód pre mikrokontróler Arduino Uno / Nano (ATmega328P) v .hex
Projekt nemá vytvorený DPS návrh. K dispozícii aj rozšírená (Konfigurovateľný DOMINATOR) verzia, ktorá využíva konfiguračné menu pre konfiguráciu dĺžky stlačenia tlačidla, nemá eraser tlačidlo, ani rozhodcu + má implementovaný konfigurovateľný režim COUNTDOWN. Viac info poskytnem na vyžiadanie.
Cena: 20€ za kópiu strojového kódu s možnosťou klonovania na ľubovoľný počet DOMINATOR bodov
Ponúkam SOFTVÉR pre Arduino stopky so sekundovým počítadlom pre Airsoft, Paintball hru - herný mód Capture Point. V hre existujú 2 entity (Tím RED a tím GRE), ktoré proti sebe hrajú a snažia sa o obsadenie bodu. Obsadenie bodu sa realizuje stlačením (držaním tlačidla) príslušného tímu. Po obsadení bodu sa ozve hlásič (buzzer), ktorý hlási že došlo k obsadeniu bodu niektorých tímom.
Po obsadení bodu sa rozsvieti LED dióda daného tímu a začne sa na displeji pripočítavať čas tohto tímu do momentu obsadenia bodu druhým tímom. Ak sú obe tlačidlá stlačené zároveň, okamžite je čas zastavený (pauza), slúži pre zásah rozhodcu v hre pri potrebe prerušenia hry. Druhým typom hry, ktorú je možné cez menu zapnúť je Countdown, ktorý počíta od nastaveného času po nulu, pokým musia byť stlačené (držané) tlačidlá po určitú dobu aby došlo k zastaveniu odpočtu.
Systém je konfigurovateľný prostredníctvom konfiguračného menu, ktoré sa spustí po štarte celého systému. V konfiguračnom menu vie používateľ rotačným enkóderom prepínať položky menu a následne i aj konfigurovať s enkóderom. V tomto móde nereaguje systém na tlačidla tímov, rovnako tak v hre nereaguje systém na rotačný enkóder.
Menu je rozdelené na:
Štart hry DOMINATOR (2 tímy)
Nastavenie času pre obsadenie bodu (ako dlho má hráč držať tlačidlo pre obsadenie bodu - X sekúnd)
Nastavenie maximálne dĺžky hry (neobmedzené / X hodín)
ZAP/VYP hlásiča v hre
Nastavenie odpočtu pre countdown hru (X hodín)
Štart hry COUTNDOWN (1 tím, resp. 2 tímy a rýchlejší vyhráva stlačením oboch tlačidiel súčasne)
Všetky časy a nastavenia sú uložené do EEPROM pamäte Arduina, sú k dispozícii aj po odpojení a pripojení napájania, ide o energeticky nezávislú pamäť. Limit prepisov je na úrovni 100 tisíc. Displej je obmedzený na vykreslenie maximálne 99 hodín, 59 minút, 59 sekúnd. LCD displej rozmeru 16x2 i 20x4 je plne kompatibilný.
Súpis hardvéru:
Arduino Uno / Nano / samostatný AVR čip ATmega328P
LCD znakový displej 16x2 / 20x4
I2C prevodník pre LCD displej
2x tlačidlá (spínacie)
Rotačný enkóder 360° - napr. KY-040 (alebo podobný)
2x LED diódy
Voliteľný - buzzer
Program ponúkam v strojovom kóde .hex pre cieľovú architektúru ATmega328P (Arduino Uno / Nano). Projekt je možné vopred vyskúšať zdarma v testovacej verzii s meraním max. 15 sekúnd pre každý tím. Testovacia (Shareware) verzia slúži najmä pre overenie kompatibility vášho hardvéru a pochopenie logiky hry. Testovacia verzia neumožňuje spustiť herný režim COUNTDOWN, iba DOMINATION. K projektu nie je vytvorený DPS návrh.
Cena: 30€
Ponúkam mnou navrhnutý a naprogramovaný softvér pre AVR platformu Arduino UNO / Nano (ATmega328P) pre projekt RFID Dominator.
Dominator je zariadenie - stopky so sekundovým rozlíšením, ktoré na LCD znakovom displeji rozmeru 16x2 prípadne 20x4 vizualizujú časy pre 2 tímy, ktoré hrajú o obsadenie bodu, ktorý predstavuje práve Dominator.
Hráč tímu po obsadení bodu priloží svoju RFID kartu (prípadne kľúčenku / náramok) k čítačke NXP RC522, čím obsadí bod. Hlásič (buzzer) pípnutím oznámi obsadenie bodu, rozsvieti sa LED dióda daného tímu, začne sa počítať čas.
Čas sa pre tento tím počíta do momentu, kým svoju kartu priloží člen druhého tímu, čo zastaví pôvodný čas a začne sa pripočítavať čas k druhému tímu. Rozhodca má svoju kartu, ktorou dokáže čas zastaviť. Čas je zastavený až do momentu priloženia karty niektorého z tímov.
Poslednou možnou kartou je eraser, ktorý čas zastaví a zároveň vynuluje. Slúži na reštart bežiacej hry, alebo na nastavenie stopiek na novú hru.
RFID čítačka NXP RC522 (pracuje na frekvencii 13.56MHz) vyžaduje priloženie RFID karty na zhruba 3 cm pre úspešnú detekciu. Čítačka funguje pre karty štandardu ISO/IEC 14443-A.
DPS návrh pre projekt RFID DOMINATOR (1.0) je dostupný vo formáte .lppz (LibrePCB). Archív je možné nahrať na webstránky nemeckej firmy AISLER, ktorá vie plošný spoj vyrobiť strojovo vrátane vŕtania, prekovenia otvorov. Na DPS sa odporúča využiť pin headre, nakoľko je tak možné v prípade poruchy vymeniť hardvér bez nutnosti spájkovania. Dištančné stĺpiky je možné nahradiť aj závitovými tyčami. Krabička pre projekt nie je navrhnutá. DPS je možné osadiť do krabičky, alebo na stenu skrz 4 montážne otvory v rohoch DPS.
Projekt je vhodný pre Airsoft akcie, športové areály, či tímy.
Je plne bezúdržbový, rovnako tak aj RFID karty. Jednotná konfigurácia, ktorá sa do Arduina nahrá je uložená do flash pamäte. Teda ani po odpojení napájania sa autorizované RFID karty nezmenia.
Pozri aj ostatné inzeráty. V ponuke aj Dominator s tlačidlovým vstupom v základnej, ale aj rozšírenej verzii s možnosťou konfigurácie dĺžky stlačenia tlačidla, COUNTDOWN herný režim v menu.
Cena projektu RFID Dominator: 30€
V cene je:
Strojový kód (.hex) pre Arduino Uno / Nano (čip ATmega328P)
Kód je možné nahrať do Arduina cez AVRDUDE, alebo cez grafické rozhranie XLoader.
V cene je možné implementovať maximálne 24 UID RFID kariet (10x pre každý tím, 2x rozhodca, 2x eraser).
Pri potrebe väčšieho množstva RFID kariet +5€ za každých ďalších 5 UID.
UID je možné zadať do prehľadnej tabuľky, ktorú je potrebné dodať. Je dostupná v Google Tabuľkách, link zašlem spolu s testovacím programom, ktorý umožňuje načítanie UID a výpis na UART.
Dominator je možné klonovať na ľubovoľný počet vašich zariadení, ktoré budú mať identickú funkcionalitu a môžete tak prevádzkovať viacero Dominator bodov.
Arduino, RFID RC522, LED, displej 20x4