Přihlaste se a využijte web naplno RYBICKY.NET »

Arduino v akváriu :-)

 

Články » Arduino v akváriu :-)   Vytisknout tuto stránku 

Arduino v akváriu :-)

Publikováno: 27.02.2019 • Autor: © Oldass • Rubrika: Technika

Začátkem letošního roku (2019) jsem se rozhodl, že si zkusím postavit malé "pasivní" krevetárium. Bez topení, bez filtrace, jen s LED osvětlením. Když jsem přemýšlel nad řízením LEDek, zalíbila se mi možnost plynulého řízení jejich jasu a simulace východu a západu slunce. Plynulé ovládání svitu jsem bral jako výbornou možnost, jak ideálně nastavit úroveň osvětlení, a pomoci tak s docílením rovnováhy v akváriu. Na větším akváriu mě vždy vadila nemožnost snížit jas osvětlení při použití zářivky. Chvíli mi trvalo, než jsem se zorientoval v nabídce RGB LED a možnostech jejich řízení, no nakonec mě cesta zavedla až k mikrokontroleru Arduino, který mě do té doby zcela míjel. (jaká škoda :) ) Arduino skýtá ohromné možnosti pro takový projekt, stejně jako 3D tisk, o kterém bude také řeč.

F


Za pár dní jsem "šel na nákup".

1 ks Arduino UNO R3
1 ks RTC Hodiny reálného času DS3231 (přesné, teplotně stálé)
1 ks I2C Displej OLED 0.91" 128 x 32 bodů - bílý
1 ks teplotní čidlo DS18B20 - vodotěsné - (přesné, nerezové pouzdro)
1 ks spínaný zdroj MEAN WELL RS-25-12, (12 V, 25 W)
1 ks membránová klávesnice 1 x 5
1 ks RGB LED modul pro Arduino STM32 AVR (řízení RGB LEDek)
3 ks 4k7 rezistor
1 ks modul s LM2596 DC-DC (mění napětí z 12 V na 5 V)
Arduino propojovací kablíky (různé kombinace)

(lze koupit v ČR, ale mnohem levněji v Číně)

1 m LED pásek červený/zelený/modrý STRIP 5050 OPSB/RGB
1 ks zástrčka síťová KES 1/ST 
1 ks pojistkové pouzdro PTF 5030
1 ks pojistka skleněná T0,5 A
2 m vícežilového kablíku AWG 28-34F
9 ks svorkovnice CPP 3.5/3BU
2 m dvoužilový kabel CYH 2 x 0,75 mm 2/2-0
1 ks univerzální plošný spoj TA-ECL/2
smršťovací bužírky

1 m hliníkový LED profil Mikro 21 m difuzor (matný)
4 ks koncovky LED profilu

vteřinové lepidlo
tavná pistole

(zakoupeno v ČR) 


Arduino - hardware

Z koupených dílů jsem na stole postavil změť kabelů a modulů, tedy propojil modul hodin, ovládání LED, klávesnici a OLED display s 
Arduinem (schéma níže). Arduino jsem zatím napájel přes USB kabel s počítače. LED pásky napájel spínaný zdroj 12 V/25 W.

F F

 

Arduino - software

Po sestavení všech modulů začala práce na vývoji software. Ovládací program jsem si rozdělil na několik částí: - řízení LED - čtení a konfigurace klávesnice - správa MENU (uživatelské nabídky)

Pro práci s hardware jsem využil již existující knihovny: 
FastLED (obsluha RGB LED pásků)
U8glib (obsluha OLED display)
OneWire a DallasTemperature (obsluha teploměru)
DS3231 (obsluha hodin reálného času)

(najdete buď přímo v Arduino IDE a nebo na Github)

Nejnáročnější bylo programování menu, od něhož jsem chtěl možnost snadného rozšíření o další položky, lokalizaci, schopnost nastavení různých hodnot jako číslo, čas či datum. Protože je Arduino UNO docela omezované velikostí programové paměti, bylo třeba psát kód s rozvahou - šetřit každý bajt. Úvodní obrazovku jsem rozdělil na záhlaví, kde se zobrazuje aktuální teplota vody a čas. A hlavní část, kde se zobrazují stavové ikony a položky menu. Pozici v menu poté v zápatí znázorňuje tzv. progress bar.

Software nyní hlídá několik událostí, které lze konfigurovat. Pokud některá z událostí nastane, display se probudí a zobrazí patřičnou ikonu.

- dosažení minimální teploty
- dosažení maximální teploty
- den údržby

Program také umožňuje následující (viz. obrázek)

- nastavit automatické zapínání/vypínání osvětlení
- noční osvětlení
- nastavit jas LED osvětlení
- nastavení hodin
- nastavení dne údržby atd.

Jak už bylo uvedeno výše, při programování je třeba šetřit každý bajt, takže např. fonty je třeba ořezat o nevyužívané znaky. Tím se dá ušetřit i několik kB. Já nakonec skončil u dvou upravených a ořezaných fontů, ke kterým jsem dokreslil stavové ikony (programem Fony). (pro převod fontů do formátu, který využívá knihovna U8glib použijte program bdf2u8g_101.exe)

F F



Ostatní hardware

Akvárium, které jsem pro projekt použil mělo rozměry 32 x 16 x 23 (cm) a jednalo se o obyčejné skleněné akvárium bez jakéhokoliv příslušenství. Proto bylo nutné nejdříve navrhnout horní kryt s držákem LED pásků. Poté následoval návrh vedení kabelů, které jsou schovány v otevíratelných lištách, klipy LED pásků, držák teploměru, kryt displaye, krabička pro napájecí zdroj a samotné Arduino s ostatní elektronikou. Vše jsem navrhoval v primitivním starém programu 123D. (viz. obrázky)

F F F F F F

Navržené díly jsem vytiskl na 3D tiskárně (v mém případě Creality Ender 3D - mimochodem vynikající levná tiskárna). Vše z materiálu PLA (snad zvládne kontakt s vodou) krom držáku teploměru a klipů pro LED pásky, ty jsou z PETG pro lepší pevnost a pružnost. Některé díly je nutné tisknout ze dvou částí a poté slepit. Buď z důvodu složitého tvaru (držák teploměru) a nebo velikosti (víko akvária).

F F F F

Po vytištění všech dílů jsem začal s montáží LED pásků. Pro mé akvárium stačily 2 x 20 cm pásky. Ty jsem umístil do hliníkových profilů (chlazení) a nacvakl do předem přilepených klipů ve víku akvária. (viz. obrázek) Zatím je nemám ve smršťovací bužírce, ale až bude akvárium založené, bude to vhodné, aby se k páskům nedostala voda. Difuzor na hliníkový profil jsem zvolil matný, aby lépe spojil světelné záření RGB LEDek, i když je třeba počítat se ztrátou světla (cca 20 %, čirý bere asi 5 %).

F F

Lišty pro vedení kabelů jsem přilepit oboustrannou lepící páskou.

F F F F


Pro připojení všech externích zařízení k Arduinu a rozvod napájení jsem použil univerzální plošný spoj a několik svorkovnic. (viz. obrázek) Pro napájení je třeba osadit modul redukující vstupní 12V napětí na 5V. (Ten ještě na obrázku chybí, napájení zatím obstarává 
USB kabel z PC)

F F F F F



Závěr

Nyní je samozřejmě důležité vše vyzkoušet na založeném akváriu. Jestli bude zvolené osvětlení dostatečné, jestli PLA výtisky vydrží kontakt s vodou atd. Každopádně jsem se výrobou docela bavil a doufám, že článek bude inspirací pro ostatní. RGB LED osvětlení má nízkou spotřebu, která velmi hrubě odpovídá zvolené úrovni jasu v menu. 100 jednotek odpovídá cca 100 mA proudu (při 12 V). 255 jednotek je pak cca 300 mA. Tzn., že na maximum LEDky berou cca 3 W.

Spotřeba celku při maximálním jasu osvětlení je: ?? (bude doplněno)
Spotřeba celku při vypnutém osvětlení je: ?? (bude doplněno)


Hodně zábavy s Arduinem!

 

Video ukázka: https://youtu.be/d_QfHKmU05U

 

 

F

F



 

Za správnost informací zodpovídá autor článku, dotazy směřujte na autora. Hodnocení článku hvězdičkami provádí redakce. K článku se vyjádřete pomocí palců (líbilo se / nelíbilo se).

Hodnocení
*****

Líbilo se: 29x Nelíbilo se: 0x Zveřejněno: 27.02.2019 Upraveno: 27.02.2019 Přečteno: 1262x

Schválili: vaclav ***** 27.02.19 • romant ***** 27.02.19 • ctibum ***** 28.02.19

Související články
Žádné související články
Další články z rubriky Technika
14.09.2012*****Slepá hladina - Dennerle Turbo-Skimmer1583x
22.06.2011*****Jak jsem vyřešil nadměrné proudění z vnitřního filtru2275x
26.04.2013*****Zhotovení rozstřikovací rampy k čerpadlu AT 200-203 během 2 minut? Proč ne?1241x
10.01.2011*****Ideální náplň do Co2 kvasinkovače8771x
17.03.2009*****Výroba inkubátoru2199x
20.02.2012*****Zprovoznění externího filtru Atman CF-12001135x
06.08.2012*****Chladenie očami amatéra297x
26.08.2017*****DIY - akvarijní kontrolér/regulátor teploty, automatické topení a chlazení, osobní zkušenost552x
17.09.2014*****Výroba rozstřikovací rampy levně a rychle1376x
26.02.2017*****Výroba držáku akvanářadí617x

Komentáře návštěvníků

x Funkce je dostupná pouze pro přihlášené uživatele

Další články tohoto autora
Žádné další články



© RYBICKY.NET - https://rybicky.net/clanky/1779-arduino-v-akvariu-: