vodní hospodářstvíčko

OctopusLAB 66
Vodní hospodářstvíčko – tři malé projekty.


Voda je vzácná. Bez vody by na planetě Zemi neexistoval život. Voda je důležitá, a tak jistě znáte pojem vodní hospodářství. V tomto díle chce představit tři drobné projekty, které mají vodu, jako základní „problém“.

Projekt 1 – přečerpávání nežádoucí vody z dřevníku

Po renovaci opěrné zdi ve svahu se po desítkách let změnily podmínky spodních vod. Podlaha dříve suchého dřevníku se zaplavila a já musel hledat řešení. Vyhloubil jsem v rohu odčerpávací jímku – studánku.

Výšku hladiny jsem měřil jednoduchým plovákovým spínačem. Lepší by byly dva: při sepnutí horního se spustí čerpadlo a při rozepnutí spodního se zastaví. Také jsem změřil čas potřebný k odčerpání napuštěného množství vody. Vždy (zhruba každé dvě hodiny) když voda sepne plovák, zapne se na čas pumpa a vypustí přebytečnou vodu. Nakonec jsem ale chtěl znát rychlost napouštění i odčerpávání, tak jsem na měření vzdálenosti od hladiny použil ultrazvukový senzor.

Použité čerpadlo: karavanové 12V, 50W (10l/min.) Necelý den jsem zkoušel i 12V akumulátor, ale nakonec přepojeno na adaptér.

Na grafu je vidět, jak rychle se jímka vypouštěla (cca každé tři hodiny). Je také zaznamenán čas sepnutí relé. Hladinu jsem reguloval od 10ti cm (plná jímka) až po necelých 28 cm.


Projekt 2 – studna, monitoring hladiny vody

Petr Kracík řeší u sebe v Lomici nad Popelkou monitorování hladiny vody ve studni. Po pár experimentech použil nakonec ponorný senzor na přesné měření hydrostatického tlaku (s korekcí na atmosférický tlak). Tlak vodního sloupce nad čidlem je přímo úměrný s výškou hladiny. Studnu má kousek od domu, a tak použil externí baterie a zařízení provozoval v režimu deepsleep s využitím úžasného rychlého protokolu ESPnow. Díky tomu vystačí jediná baterie i na několik týdnů.

Měření hladiny: hydrostatický senzor (stříbrný váleček na obrázku vlevo nahoře). Čerpadlo: domácí vodárna Darling. ESP32 připojené na jednu LiFePo baterii. ESP s čidlem posílá data přes ESPnow protistraně, kde je také ESP32, ale s LAN (připojená k Internetu kabelem).


Projekt 3 – dočasné „řešení“ kapající vody

Vašek Chalupníček se projevil jako opravdový geek, když mi v pátek odpoledne volal, že jede na víkend pryč, ale že mu kape voda ve spodní části stoupačky. Několik dní sháněl instalatéra (byl nutný větší zásah, závada byla u vypouštěcího ventilu stoupačky) a voda kapala tak, že musel ráno a v podvečer vylít kýbl plný vody. Jak ho „vylívat“ automaticky? Vzal čerpadlo z akvária (spínaného pomocí relé) a hladinu také měřil externím ultrazvukovým senzorem, který používáme na robotech. Data o výšce hladiny si zaznamenával přes httprequest do Influxu (a také zobrazoval v Grafaně).

Měření hladiny: ultrazvukový senzor. Čerpadlo: miniaturní akvaristické.


Společným znakem všech projektů je využití ESP32 s posíláním dat pomocí WiFi a MQTT do Grafany. Realizace v Micropythonu, kde už jsou všechny knihovny připravené a odzkoušené může být opravdu rychlá. Celý systém funguje spolehlivě. Největší slabinou může být kolísavé lokání WiFi připojení. Obyčejné ultrazvukové senzory by také asi neměly dlouhou životnost, protože nejsou určeny dlouhodobě do vlhkého prostředí.

LNATM

Zdrojové kdy ESP32 + Micropython: https://github.com/agama-point/lnatm


Ligtning automat – poznámky k open source verzi

#RFID
hardware_setup.conf.set("rfid_tx", 17)
hardware_setup.conf.set("rfid_rx", 16)

2022/03 – koncept – displej + RFID:
čudo – https://www.octopusengine.org/octopus-crypto-device/



2022/07:

  1. Přesunutí UARTU (pro mincovník) z levé strany na samostatný JST konektor z druhé strany

Inspirace a další odkazy:
https://www.bleskomat.com/

Cyber clock

OctopusLAB 65
Cyber (matrix) clock – velké digitálné hodiny.


Jelikož nás baví moderní technologie i jejich kulturní přesah, zkusili jsme se tentokrát zapojit i do poněkud netradičního projektu. Měli jsme možnost spolupracovat na několika „atrakcích“ prvního ročníku CyberTown 22. V minulém díle jsme popisovali PONG1D, který slavil na akci mimořádný úspěch. Dnes vám přiblížíme relativně jednoduché digitální hodiny, které jsme v duchu akce pojmenovali stylově cyber clock.
Na následujícím obrázku jsou snad trochu vidět (čas 22:12).

Cybertown je postcyberpunkový multižánrový festival zasazený do fiktivní dystopické budoucnosti. Odehrává se v kulisách postapokalyptického městečka na bývalé raketové základně. Uvádějí stručně pořadatelé na stánkách www.cybertown.cz/.

Základem zadání bylo navrhnout a vyrobit „retro digitání hodiny na bránu u radnice“. Pokud možno zadarmo a pokud možno včera. Požadované rozměry byly zhruba 120×50 cm. Tak velké segmenty nemáme. Ano, šlo by to složit z jednotlivých LEDek nebo žárovek, ale tolik času na to nebylo.

Už při tvorbě PONGU jsem si vzpomenul, že sériové „programovatelné“ LEDky se dají propojovat v prostoru do jednotlivých řad, které pak tvoří plochu, na které půjdou hodiny snadno naprogramovat. A protože jsem to chtěl hned rychle zkusit, LED pásek jsem jen cik-cak smotal do požadovaného tvaru, aniž bych musel něco stříhat a drátkama složitě propojovat. Použil jsem ESP32 v DoIT adapteru a již popisovaný modul reálného času ds3231 a hlavně „programovatelný“ LED pásek (s ws2812).
A hrubý základ pro hodiny byl velmi rychle hotový.

Na obrázku vidíte, jak je pásek „smotán“. Určili jsme si „mezery“ (zelené body), které se nevyužívají a slouží jen k propojení a zachování kompaktnosti. Je nutné odlišit sudé a liché řádky (1 až 5), jelikož se pro ně vykreslují body číslovek v opačném pořadí. V dolní části obrázku je vidět, kde jsou na kousku rozvinu pásku LEDky tvořící číslice „2“ a „3“. Sudý řádek je pak indexován reverzně.
Matice čísel pro jednotlivé číslovky se nachází v samostatném modulu assets/char4x7.py, kde je přesně definováno, které LEDky v daných číslech svítí. Máme náznak i pro jiné znaky a velikosti, ale pouze tato jedna knihovna je dokončená a odzkoušená.
Výsledný program včetně nových knihoven je opět na githubu:
https://github.com/octopuslab-cz/cyber-clock

import ds3231                # real time
from assets.char4x7 import * # matrix
....
ws = Rgb(27,WSMAX)           # 27 DEV3

""" ROW -----+ odd           ---o
          RX |               RXX  o
        +----+ even          ---o
"""
# --- LED strip --> 
WSMAX = 250
RX, RXX = 25, 3             # row, space
INTENSITY = 200             # intenzita

Opět jen seznámení s nejdůležitějšími konstantami používanými v programu:
WSMAX – celkový počet LEDek v pásku
RX – počet LEDek na jednom řádku (na našem obrázku by to bylo 10, 4+2+4).
RXX – počet nevyužitých LEDek (v ohybu) máme také 3 (na obrázku zelené).
INTENSITY – intenzita jasu, v šeru stačí 100, ale ve dne bylo lepší 200.

Pásek jsme přichytili k odřezku plastového parapetu a celý displej překryli vrstvou Miralonu (slouží jako difuzor pro rozplýlení světla). Finální ochranu tvoří dutinková polykarbonátová deska vsazená mezi dva odřezky z pozinkovaných profilů využívaných pro sádrokartony.

Pong-1D


OctopusLAB 64
Pong-1D – cyber ping-pong na počest výročí Atari.

Před padesáti lety (v červnu 1972) byla založena legendární společnost Atari. Mnozí na ní vzpomínají jako na firmu, která dala prvotní impulz hernímu průmyslu a tak v podstatě vytvořila fenomén videoher (dnes už se více používá termín počítačových her).


Jednou z prvních počítačových her byl PONG, který dokonce ani nevymyslela sama společnost Atari.
Automatová verze z historicky první komerčně vydané konzole/videohry se jmenovala Table Tennis a vyšla pod názvem Magnavox Odyssey v září 1972, pouhé dva měsíce předtím, než prý Atari umístilo první Pong do místního baru. Ale protlačit věc do světa je mnohdy záslužnější než ji vyvinout nebo nabídnout jako první (bohužel je to tak).

Credits: www.cdh.cz (česká databáze her)

Pong patřil dlouhou dobu mezi jednu z nejhranějších videoher vůbec. Je to jednoduchá počítačová hra s 2D grafikou pro dva hráče na principu tenisu nebo ping-pongu. Vytvořil jí Allan Alcorn jako cvičení, ve kterém použil černobílý televizor značky Hitachi, vložil ho do dřevěné skříňky a potřebné obvody připojil k deskám s elektronikou. Společnost Atari oznámila uvedení Pongu 29. listopadu 1972. První hry v poměrně velké žluté skříňce se sestavovaly velmi pomalu – v počtu několika desítek za týden. Až v roce 1975 byla představena domácí verze herní konzole Home Pong, která se dala připojit jednoduše přímo k TV. A v roce 1977 vyšla hra jako součást základního balíčku her zcela nové konzole Atari 2600.

Psát o zlaté éře Atari (tedy o 70. letech minulého století) z České republiky, je na každý pád trochu zvláštní. Jakkoliv už byla tato americká společnost ve světě proslulá, u nás jí téměř nikdo neznal. Že vymyslela novou formu zábavy, to se k nám za železnou oponu prakticky nedoneslo. Videohry samozřejmě jako pokleslý druh imperialistické zábavy nedostaly v socialistické společnosti ani ten nejmenší prostor. (Modrák – zkráceno)

PONG1D

Jelikož se pečlivě připravujeme na letošní první ročník Cyber town, přemýšleli jsme, s jakou atrakcí bychom se tam mohli blýsknout. Máme tam v ohni želízek více, ale vzpomněli jsme si i na jeden z prvních workshopů ESP + Micropython, kde nám Petr Viktorín připomenul zábavné hrátky s barevným LED páskem a inspiroval nás tak k napsání naší vlastní verze Pongu.
Zkoušeli jsme různé varianty délek, ale nejvíce se nám osvědčila velikost delšího stolu, kde hra připomíná stolní tenis (ping-pong) v rozšířené realitě se svítícím míčkem. Základem je tedy cca dva metry dlouhý LED pásek a řídící elektronika (s ESP32) ke které jsou připojena dvě tlačítka a případně i sedmisegmentový displej pro zobrazování skóre.



Hra oproti původní 2D verzi se hraje v 1D – na přímce (nebo křivce, chcete-li). Míček se hýbe ze strany na stranu a hráč musí míček odpálit (stikem tlačítka) na své straně když je dostatečně blízko začátku (tolerance). Podle toho, v kterém místě hráč míček odehraje, se zvyšuje nebo snižuje rychlost míčku.

Tlačítko je k centrále připojeno cca 150 cm dlouhým kabelem. Zkoušeli jsme opět různé druhy tlačítek a nejlepší jsou velká průmyslová nebo obyčejná domovní (tlačítko pro schodiště – ne přepínač).


Na podrobný rozbor kódu opět nemáme prostor, ale jako již tradičně je k dispozici na githubu:
https://github.com/octopuslab-cz/cyberpingpong.

Jedna z hlavních konstant je WSMAX, která udává celkový počet LEDek. Záleží na Vás, jak dlouhý pásek zvolíte, souvisí to i s hustotou ledek. Ale jistě si můžete pohrát i s ostatními parametry (rychlost nebo citlivost – tolerance, což je počet LEDek kde lze míček odehrát).