Akváriové rastliny potrebujú svetlo na vytváranie energie prostredníctvom fotosyntézy, zatiaľ čo mnohé ryby využívajú pravidelné svetlo svetelný cyklus, ale ako im môžete zabezpečiť umelé osvetlenie pomocou elektronických nástrojov pre domácich majstrov mať? Postavme si svojpomocne systém osvetlenia akvária pomocou Arduina, hodín reálneho času a LED pásika.

Použitie LED akváriového svetla

Skôr než začneme, stojí za zmienku, že LED diódy, ktoré používame v tomto projekte, nie sú plnospektrálne LED, ktoré napodobňujú denné svetlo. To znamená, že neposkytujú všetky vlnové dĺžky svetla, ktoré sú prospešné pre rastliny, čím ich vykresľujú nevhodné pre akváriové rastliny s veľkou potrebou svetla a plytvanie malým množstvom energie produkovanej LED diódy.

To znamená, že pre rastlinné akváriá s nízkymi požiadavkami na svetlo môže byť LED osvetlenie ako toto vynikajúce voľba, ktorá ponúka rýchlejší a zdravší rast rastlín bez nákladov, ktoré prichádzajú s množstvom osvetlenia akvárií Produkty; jednoducho nedosiahnete rovnaký výkon.

instagram viewer

Z LED osvetlenia profitujú nielen rastliny vo vašom akváriu: mnohé druhy rýb si užívajú pravidelný svetelný cyklus napodobňuje deň a noc, aby zachoval ich cirkadiánny rytmus, čo im umožňuje odpočívať, hľadať potravu a byť aktívnymi tak, ako by boli divočina.

Ak chcete vytvoriť systém osvetlenia LED, ktorý poháňa deň a noc pre ryby a rastliny vo vašom akváriu, budeme používať Arduino, hodiny reálneho času (RTC) a LED pásik – ako sa dá použiť pre širokú škálu z Projekty osvetlenia LED Arduino.

Čo potrebuješ?

Na dokončenie tejto zostavy potrebujete iba niekoľko častí:

  • 1x Arduino mikrokontrolér s kolíkmi SDA/SCL (Uno, Leonardo, Micro atď.; používame Pro Micro)
  • 1x DS3231 RTC modul
  • 1x WS2812/WS2812B NeoPixel RGB LED pásik s krytím IP65 alebo vyšším (používame 60 LED 1-metrový pás WS2812, ktorý bol utesnený silikónom; môžete využiť viac LED diód, ak máte nádrž s objemom 20+ galónov)
  • 1x 12V AC na DC napájací adaptér so zásuvkovým konektorom
  • 1x 1000uF kondenzátor (voliteľné)
  • Rôzne drôty a tepelne zmršťovacie kusy
  • Superglue/obojstranná páska
  • Vlákno 3D tlačiarne (voliteľné)

Na dokončenie tohto projektu budete potrebovať aj nejaké nástroje.

  • Spájkovačka
  • Rezačky/odizolovače drôtu
  • Teplovzdušná pištoľ
  • 3D tlačiareň (voliteľné)

Zapojenie vášho DIY nastavenia LED svetla do akvária

Zapojenie osvetlenia akvária pre domácich majstrov je jednoduché, stačí vykonať niekoľko pripojení, aby ste mohli začať s kódovaním svojho projektu. Vyššie uvedená schéma zobrazuje všetky pripojenia, ktoré musíte vykonať, ale v sekciách nižšie sme to rozdelili.

Zapojenie hodín reálneho času

DS3231 RTC v tomto projekte funguje ako časovač pre LED osvetlenie v našom akváriu. Tento modul má štyri kolíky, ktoré budeme používať: SCL, SDA, VCC a GND, pričom všetky môžu byť priamo pripojené k nášmu Arduino Pro Micro.

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

Zapojenie LED pásika

Zapojenie vášho LED pásu je komplikovanejšie ako RTC, pretože LED diódy budú pravdepodobne v určitej vzdialenosti od Arduina a musíte použiť samostatný napájací adaptér. získať plný jas z vašich LED diód. Vyššie uvedený diagram ukazuje, ako najlepšie pripojiť svoj LED NeoPixel pásik k Arduinu a zdroju napájania výsledky.

  • DIN to Digital Pin 7 na Arduino
  • GND na GND na Arduino a zápornom (-) napájacom termináli
  • Konektor VCC/5V+/12V na kladný (+) zdroj napájania
  • Dôrazne sa odporúča použiť 1000uF kondenzátor na záporných (-) a kladných (+) svorkách zdroja napájania, aby ste predišli poškodeniu LED diód

Popri pripájaní nášho LED pásika k nášmu Arduino a 12V zdroju napájania budeme tiež upravovať naše Klon NeoPixel na vytvorenie troch menších LED pásikov, ktoré budú spojené do reťaze pomocou dlhého kábla. Na to použijeme izolovaný trojžilový kábel spolu s tepelným zmršťovaním na utesnenie spojov. Náš LED pásik sa dodáva s konektormi JST na každom konci, čo nám poskytuje pohodlný spôsob, ako pásik odpojiť od nášho Arduina.

Kódovanie vášho DIY Arduino Aquarium NeoPixel Lights

Kódovací prvok tohto projektu je komplikovanejší ako zapojenie. Môžete začať so základným prázdnym projektom Arduino, keďže okrem funkcií, ktoré s ním prichádzajú, nebudeme potrebovať nič.

Pridanie knižníc

Pred pridaním akéhokoľvek kódu musíme nainštalovať nejaké knižnice a všetky z nich nájdete v Arduino IDE Library Manager.

  • Wire.h: Táto knižnica sa dodáva s Arduino IDE a umožňuje vám komunikovať s komponentmi I2C, ako je naše RTC.
  • Adafruit_NeoPixel.h: Táto knižnica pridáva funkcie/triedy na ovládanie LED diód NeoPixel, ale rovnako dobre funguje aj s naším bežným LED pásikom WS2812.
  • RTClib.h: Táto knižnica nám umožňuje ovládať náš modul DS3231 RTC.
#include  //Knižnica LED pásikov
#include
#include //Knižnica RTC

Pridanie globálnych premenných (voliteľné)

Do nášho kódu sme pridali globálne premenné, aby sme v budúcich projektoch mohli zmeniť správanie nášho osvetlenia pomocou tlačidiel a iných vstupov. Nie je to nevyhnutné, ale uľahčí to úpravu kódu, keď potrebujete vykonať zmeny. Pridali sme premenné pre jas a odtieň LED spolu s premennou na uloženie farby nášho LED pásika.

Deklarovanie a inicializácia LED pásikov/RTC objektov

Ďalej musíme deklarovať náš LED pásik a RTC ako objekty, ktoré môže používať naše Arduino, a následne ich inicializovať v rámci našej nastavovacej slučky.

Naše LED pásiky je možné deklarovať tak, že najskôr zadefinujete používaný kolík a nastavíte počet LED na pásiku, ale potom môžete použiť riadky nižšie na vykonanie samotnej deklarácie.

#define LED_PIN 7 // Nastaví náš LED pásik na pin 7
#define LED_COUNT 60 // Nastaví počet LED diód NeoPixel
Pásik Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Deklaruje náš objekt LED pásu

RTC sa ľahšie deklaruje a na jeho spustenie stačí použiť riadok nižšie; všetky dôležité nastavenia sa použijú štandardne.

RTC_DS3231 rtc;

Po dokončení musíme inicializovať naše RTC pomocou nasledujúceho kódu v našej triede nastavenia.

 Serial.begin (57600); //Začne naše sériové pripojenie

#ifndef ESP8266
zatiaľ čo (!Seriál); // Počkajte na pripojenie sériového portu
#koniec Ak

ak (! rtc.begin()) {
Serial.println("Nepodarilo sa nájsť RTC");
Serial.flush();
pričom (1) oneskorenie (10);
} //Toto testuje, aby sme sa uistili, že naše RTC je pripojené

Budovanie slučky časovača

Teraz je čas postaviť hlavnú slučku pre vaše akváriové LED pásiky. Toto je riešené v hlavnej slučke, ktorá bola dodaná s vaším prázdnym projektom Arduino, a to znamená, že bude bežať nepretržite.

Slučku začíname kontrolou aktuálneho času pomocou hodín reálneho času a nastavením premennej na jeho uloženie, čím sa zabezpečí, že počas dňa bude k dispozícii denné svetlo. Keď už máme a Dátum Čas Premenná na hranie, môžeme priradiť aktuálnu hodinu a minútu k samostatným premenným, čo nám umožňuje ovládať naše osvetlenie s veľkou presnosťou.

 DateTime now = rtc.now(); //Zhromažďuje aktuálny čas
int hh = teraz.hodina(); //Použije aktuálnu hodnotu na premennú

Následne sme použili sériu ak vyhlásenia, aby sme určili, či máme zapnúť naše svetlá. Títo ak výpisy skontrolujte, či je aktuálna hodina rovná alebo viac ako 9:00 a rovná alebo menšia ako 21:00, čo nám dáva okno od 9:00 do 21:00, aby sme rozsvietili naše LED svetlá.

Ak sú splnené tieto podmienky, kód v rámci ak príkaz nastaví jas a farbu našich LED pásikov na globálne premenné, ktoré sme nastavili predtým, spolu s použitím a šou príkaz na aktualizáciu pásu LED. Ak nie sú splnené podmienky, an inak slúži na nastavenie jasu LED diód na 0, čím sa efektívne vypínajú počas noci.

 strip.begin(); //Zapne LED pásik
strip.show(); //Zobrazuje zmeny LED z každej slučky

if (hh <= 8) { //Ak je čas rovnaký alebo menší ako 8:00, pásik LED sa vymaže
strip.clear();
}
if ((hh > 8) && (hh < 21)) { //Ak je čas medzi 9:00 a 21:00, LED sa rozsvietia
strip.setBrightness (255);
strip.fill (žltáBiela, 0, 59);
}

if (hh >= 21) { //Ak je čas rovnaký alebo väčší ako 21:00, pásik LED sa vymaže
strip.clear();
}

Úplný kódex

#include //Knižnica LED pásikov
#include
#include //Knižnica RTC
#define LED_PIN 7 // Nastaví náš LED pásik na pin 7
#define LED_COUNT 60 // Nastaví počet LED diód NeoPixel
Pásik Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Deklaruje náš objekt LED pásu
uint32_t žltáBiela = pásik. Farba (255, 251, 201); //Vytvorí premennú svetlej farby
RTC_DS3231 rtc; //Deklaruje náš objekt RTC
void setup() {
Serial.begin (57600); //Začne naše sériové pripojenie
#ifndef ESP8266
zatiaľ čo (!Seriál); // Počkajte na pripojenie sériového portu
#koniec Ak
ak (! rtc.begin()) {
Serial.println("Nepodarilo sa nájsť RTC");
Serial.flush();
pričom (1) oneskorenie (10);
} //Toto testuje, aby sme sa uistili, že naše RTC je pripojené
}
void loop() {
DateTime now = rtc.now(); //Zhromažďuje aktuálny čas
int hh = teraz.hodina(); //Použije aktuálnu hodnotu na premennú
strip.begin(); //Zapne LED pásik
strip.show(); //Zobrazuje zmeny LED z každej slučky
if (hh <= 8) { //Ak je čas rovnaký alebo menší ako 8:00, pásik LED sa vymaže
strip.clear();
}
if ((hh > 8) && (hh < 21)) { //Ak je čas medzi 9:00 a 21:00, LED sa rozsvietia
strip.setBrightness (255);
strip.fill (žltáBiela, 0, 59);
}
if (hh >= 21) { //Ak je čas rovnaký alebo väčší ako 21:00, pásik LED sa vymaže
strip.clear();
}
oneskorenie (1000); //Oneskorenie pre stabilitu
}

Montáž LED osvetlenia akvária

Náš LED pás je dodávaný s praktickým lepiacim pásikom, vďaka čomu je neuveriteľne ľahké ho pripevniť na kapotu / veko našej nádrže. Rovnaký výsledok možno dosiahnuť s obojstrannou páskou alebo superlepidlom, ale musíte byť opatrní, aby ste zabezpečili, že lepidlo, ktoré si vyberiete, bude schopné prežiť kondenzáciu. Môžete tiež 3D vytlačiť stojan pre vaše nové akváriové svetlo, ak vaša nádrž nemá veko, a puzdro na ostatné komponenty, ktoré ste použili.

DIY Arduino akváriové svetlá

Akváriovým rastlinám a rybám prospieva pravidelný cyklus osvetlenia. Aj keď naše svetlo nie je celospektrálne, stále poskytuje veľa z modrého svetla, zeleného svetla a červeného svetla, ktoré vaše rastliny potrebujú. Najlepšie však je, že tento projekt je neuveriteľne cenovo dostupný, jednoduchý a zábavný.

Najlepšie príslušenstvo pre inteligentné akváriové nádrže

Zautomatizujte svoje akvárium investovaním do inteligentného príslušenstva, ktoré zníži potrebu manuálneho zásahu, vďaka čomu budú vaše ryby zdravé a šťastné.

Prečítajte si ďalej

zdieľamTweetujteEmail
Súvisiace témy
  • DIY
  • Arduino
  • LED svetlá
  • Smart Home
O autorovi
Samuel L. Garbett (33 publikovaných článkov)

Samuel je technologický spisovateľ so sídlom v Spojenom kráľovstve s vášňou pre všetko, čo si sami urobia. Samuel, ktorý začal podnikať v oblasti vývoja webu a 3D tlače, spolu s dlhoročnou prácou spisovateľa ponúka jedinečný pohľad do sveta technológií. Zameriava sa hlavne na DIY technické projekty a nemiluje nič viac ako zdieľanie zábavných a vzrušujúcich nápadov, ktoré si môžete vyskúšať doma. Mimo práce možno Samuela zvyčajne nájsť bicyklovať, hrať počítačové videohry alebo sa zúfalo pokúšať komunikovať so svojím krabom.

Viac od Samuela L. Garbett

prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!

Ak sa chcete prihlásiť na odber, kliknite sem