Akvarijní rostliny potřebují světlo k vytváření energie prostřednictvím fotosyntézy, zatímco mnoho ryb těží z pravidelného světelný cyklus, ale jak jim můžete zajistit umělé osvětlení pomocí elektronických nástrojů pro kutily, které již máte mít? Postavme si vlastní osvětlovací systém akvária pomocí Arduina, hodin reálného času a LED pásku.

Použití akvarijního LED osvětlení

Než začneme, stojí za zmínku, že LED, které používáme v tomto projektu, nejsou plnospektrální LED, které napodobují denní světlo. To znamená, že neposkytují všechny vlnové délky světla, které jsou prospěšné pro rostliny, čímž je vykreslují nevhodné pro akvarijní rostliny s velkou potřebou světla a plýtváním malým množstvím energie vyrobené LED diody.

To znamená, že pro osázená akvária s nízkými požadavky na světlo může být LED osvětlení jako toto vynikající volba, která nabízí rychlejší a zdravější růst rostlin bez nákladů spojených s mnoha osvětlením akvárií produkty; prostě nedostanete stejný výkon.

LED osvětlení těží nejen z rostlin ve vašem akváriu: mnoho druhů ryb má pravidelný světelný cyklus napodobuje den a noc, aby zachoval jejich cirkadiánní rytmus, což jim umožňuje odpočívat, hledat potravu a být aktivní tak, jak by byli divočina.

instagram viewer

Chcete-li vytvořit systém osvětlení LED, který pohání cyklus dne a noci pro ryby a rostliny ve vašem akváriu, budeme používat Arduino, hodiny reálného času (RTC) a LED pásek – jak lze použít pro širokou škálu z Projekty LED osvětlení Arduino.

Co potřebuješ?

K dokončení této stavby potřebujete pouze několik dílů:

  • 1x Mikrokontrolér Arduino s kolíky SDA/SCL (Uno, Leonardo, Micro atd.; používáme Pro Micro)
  • 1x modul DS3231 RTC
  • 1x WS2812/WS2812B NeoPixel RGB LED pásek s krytím IP65 nebo vyšším (používáme 60 LED pásek 1 metr WS2812, který byl utěsněn silikonem; můžete mít prospěch z použití více LED, pokud máte 20+ galonovou nádrž)
  • 1x 12V AC/DC napájecí adaptér s konektorem samice
  • 1x 1000uF kondenzátor (volitelně)
  • Různé dráty a teplem smrštitelné kusy
  • Superglue/oboustranná páska
  • Vlákno 3D tiskárny (volitelné)

K dokončení tohoto projektu budete také potřebovat nějaké nástroje.

  • Páječka
  • Řezačky/odizolovače drátu
  • Horkovzdušná pistole
  • 3D tiskárna (volitelně)

Zapojení vašeho DIY nastavení LED světla do akvária

Zapojení vlastního osvětlení akvária je jednoduché, stačí provést několik připojení, než budete moci začít s kódováním svého projektu. Výše uvedené schéma ukazuje všechna připojení, která musíte provést, ale v následujících částech jsme to rozebrali.

Zapojení hodin reálného času

DS3231 RTC v tomto projektu funguje jako časovač pro LED osvětlení v našem akváriu. Tento modul má čtyři piny, které budeme používat: SCL, SDA, VCC a GND, z nichž všechny lze přímo připojit k našemu Arduino Pro Micro.

  • SCL až 3 na Arduinu
  • SDA na 2 na Arduinu
  • VCC na 5V na Arduinu
  • GND na GND na Arduinu

Zapojení LED pásku

Zapojení vašeho LED pásku je složitější než RTC, protože LED budou pravděpodobně v určité vzdálenosti od Arduina a budete muset použít samostatný napájecí adaptér získat plný jas z vašich LED. Výše uvedené schéma ukazuje, jak nejlépe připojit svůj LED NeoPixel pásek k Arduinu a zdroji napájení Výsledek.

  • DIN to Digital Pin 7 na Arduinu
  • GND na GND na Arduinu a záporném (-) napájecím terminálu
  • Konektor VCC/5V+/12V na kladný (+) napájecí zdroj
  • Důrazně se doporučuje použít 1000uF kondenzátor přes záporné (-) a kladné (+) svorky zdroje napájení, abyste zabránili poškození LED diod

Kromě připojení našeho LED pásku k našemu Arduinu a 12V napájecímu zdroji budeme také upravovat naše Klon NeoPixel pro vytvoření tří menších LED pásků, které budou spojeny v řetězci pomocí dlouhého kabelu. K tomu použijeme izolovaný třížilový kabel spolu s tepelným smrštěním pro utěsnění spojů. Náš LED pásek je dodáván s konektory JST na každém konci, což nám poskytuje pohodlný způsob, jak pásek odpojit od našeho Arduina.

Kódování vašeho DIY Arduino Aquarium NeoPixel Lights

Kódovací prvek tohoto projektu je složitější než kabeláž. Můžete začít se základním prázdným projektem Arduino, protože kromě funkcí, které s ním přicházejí, nebudeme potřebovat nic.

Přidání knihoven

Před přidáním jakéhokoli kódu musíme nainstalovat některé knihovny a všechny je lze nalézt v Arduino IDE Library Manager.

  • Wire.h: Tato knihovna je dodávána s Arduino IDE a umožňuje vám komunikovat s I2C komponentami, jako je naše RTC.
  • Adafruit_NeoPixel.h: Tato knihovna přidává funkce/třídy pro ovládání NeoPixel LED, ale funguje stejně dobře s naším běžným LED páskem WS2812.
  • RTClib.h: Tato knihovna nám umožňuje ovládat náš modul DS3231 RTC.
#zahrnout  //Knihovna LED pásků
#zahrnout
#zahrnout //Knihovna RTC

Přidání globálních proměnných (volitelné)

Do našeho kódu jsme přidali globální proměnné, abychom v budoucích projektech mohli změnit chování našeho osvětlení pomocí tlačítek a dalších vstupů. To není nezbytné, ale usnadní to úpravu kódu, když potřebujete provést změny. Přidali jsme proměnné pro jas a odstín LED spolu s proměnnou pro uložení barvy našeho LED pásku.

Deklarace a inicializace LED pásků/RTC objektů

Dále musíme deklarovat náš LED pásek a RTC jako objekty, které může naše Arduino používat, a následně je inicializovat v naší nastavovací smyčce.

Naše LED pásky lze deklarovat tak, že nejprve definujete použitý pin a nastavíte počet LED na pásku, ale poté můžete pomocí řádků níže provést samotnou deklaraci.

#define LED_PIN 7 // Nastaví náš LED pásek na pin 7
#define LED_COUNT 60 // Nastaví počet LED diod NeoPixel
Pásek Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Deklaruje náš objekt LED pásku

RTC se snadněji deklaruje a k jeho spuštění stačí použít řádek níže; všechna důležitá nastavení jsou použita ve výchozím nastavení.

RTC_DS3231 rtc;

Jakmile je toto dokončeno, musíme pouze inicializovat naše RTC pomocí následujícího kódu v naší třídě nastavení.

 Serial.begin (57600); //Zahájí naše sériové připojení

#ifndef ESP8266
zatímco (!Seriál); // Počkejte na připojení sériového portu
#endif

pokud (! rtc.begin()) {
Serial.println("Nelze najít RTC");
Serial.flush();
while (1) zpoždění (10);
} //Toto testuje, aby se ujistil, že naše RTC je připojeno

Budování časové smyčky

Nyní je čas postavit hlavní smyčku pro vaše akvarijní LED pásky. To je řešeno v hlavní smyčce, která přišla s vaším prázdným projektem Arduino, a to znamená, že bude běžet nepřetržitě.

Smyčku zahájíme kontrolou aktuálního času pomocí našich hodin reálného času a nastavením proměnné pro jeho uložení, abychom zajistili, že je během dne zajištěno denní světlo. Jakmile máme a Čas schůzky Proměnnou, se kterou si můžeme hrát, můžeme jednotlivým proměnným přiřadit aktuální hodinu a minutu, což nám umožňuje ovládat naše osvětlení s velkou přesností.

 DateTime now = rtc.now(); //Shromažďuje aktuální čas
int hh = now.hour(); //Použije aktuální naše na proměnnou

Následně jsme použili řadu -li prohlášení, abychom určili, zda rozsvítit naše světla. Tyto -li příkazy zkontrolujte, zda je aktuální hodina rovna nebo větší než 9:00 a rovna nebo méně než 21:00, což nám dává okno od 9:00 do 21:00, abychom měli rozsvícená LED světla.

Pokud jsou tyto podmínky splněny, kód v rámci -li příkaz nastaví jas a barvu našich LED pásků na globální proměnné, které jsme nastavili dříve, spolu s použitím a ukázat příkaz k aktualizaci LED pásku. Pokud podmínky nejsou splněny, an jiný příkaz se používá k nastavení jasu LED na 0, takže je v noci efektivně vypne.

 strip.begin(); //Zapne LED pásek
strip.show(); //Zobrazuje změny LED z každé smyčky

if (hh <= 8) { //Pokud je čas stejný nebo menší než 8:00, LED pásek se vymaže
strip.clear();
}
if ((hh > 8) && (hh < 21)) { //Pokud je čas mezi 9:00 a 21:00, LED se rozsvítí
strip.setBrightness (255);
strip.fill (žlutáBílá, 0, 59);
}

if (hh >= 21) { //Pokud je čas stejný nebo větší než 21:00, pásek LED se vymaže
strip.clear();
}

Úplný kód

#include //Knihovna LED pásků
#zahrnout
#include //Knihovna RTC
#define LED_PIN 7 // Nastaví náš LED pásek na pin 7
#define LED_COUNT 60 // Nastaví počet LED diod NeoPixel
Pásek Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Deklaruje náš objekt LED pásku
uint32_t žlutáBílá = pruh. Barva (255, 251, 201); //Vytvoří proměnnou světlé barvy
RTC_DS3231 rtc; //Deklaruje náš objekt RTC
void setup() {
Serial.begin (57600); //Zahájí naše sériové připojení
#ifndef ESP8266
zatímco (!Seriál); // Počkejte na připojení sériového portu
#endif
pokud (! rtc.begin()) {
Serial.println("Nelze najít RTC");
Serial.flush();
while (1) zpoždění (10);
} //Toto testuje, aby se ujistil, že naše RTC je připojeno
}
void loop() {
DateTime now = rtc.now(); //Shromažďuje aktuální čas
int hh = now.hour(); //Použije aktuální naše na proměnnou
strip.begin(); //Zapne LED pásek
strip.show(); //Zobrazuje změny LED z každé smyčky
if (hh <= 8) { //Pokud je čas stejný nebo menší než 8:00, LED pásek se vymaže
strip.clear();
}
if ((hh > 8) && (hh < 21)) { //Pokud je čas mezi 9:00 a 21:00, LED se rozsvítí
strip.setBrightness (255);
strip.fill (žlutáBílá, 0, 59);
}
if (hh >= 21) { //Pokud je čas stejný nebo větší než 21:00, pásek LED se vymaže
strip.clear();
}
zpoždění (1000); //Zpoždění pro stabilitu
}

Instalace LED osvětlení akvária

Náš LED pásek je dodáván s praktickým lepicím páskem, díky kterému je neuvěřitelně snadné jej připevnit na kapotu/víko naší nádrže. Stejného výsledku lze dosáhnout s oboustrannou páskou nebo superlepidlem, ale musíte být opatrní, abyste zajistili, že lepidlo, které si vyberete, bude schopno přežít nahromadění kondenzátu. Můžete také 3D vytisknout stojan pro vaše nové akvarijní světlo, pokud vaše nádrž nemá víko, a pouzdro na další komponenty, které jste použili.

DIY Arduino akvarijní světla

Akvarijní rostliny a ryby těží z pravidelného cyklu osvětlení. I když naše světlo není plnospektrální, stále poskytuje většinu modrého světla, zeleného světla a červeného světla, které vaše rostliny potřebují. Nejlepší však je, že tento projekt je neuvěřitelně dostupný, jednoduchý a zábavný.

Nejlepší příslušenství pro chytré akváriové nádrže

Zautomatizujte své akvárium investováním do chytrého příslušenství, které sníží potřebu ručního zásahu a udrží vaše ryby zdravé a šťastné.

Přečtěte si další

PodíltweetE-mailem
Související témata
  • DIY
  • Arduino
  • Led světla
  • Chytrý domov
O autorovi
Samuel L. Garbett (33 zveřejněných článků)

Samuel je technologický spisovatel se sídlem ve Spojeném království s vášní pro vše, co je kutilství. Samuel začal podnikat v oblasti vývoje webu a 3D tisku a řadu let pracoval jako spisovatel a nabízí jedinečný pohled do světa technologií. Zaměřuje se hlavně na DIY technické projekty a nemiluje nic víc než sdílení zábavných a vzrušujících nápadů, které si můžete vyzkoušet doma. Mimo práci lze Samuela obvykle zastihnout, jak jezdí na kole, hraje počítačové videohry nebo se zoufale pokouší komunikovat se svým krabem.

Více od Samuela L. Garbett

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Chcete-li se přihlásit k odběru, klikněte sem