Akvarijske rastline potrebujejo svetlobo za ustvarjanje energije s fotosintezo, medtem ko veliko rib koristi od običajne svetlobni cikel, toda kako jim lahko zagotovite umetno razsvetljavo z elektronskimi orodji DIY, ki jih že imate imajo? Zgradimo DIY sistem osvetlitve akvarija z uporabo Arduina, ure realnega časa in LED traku.

Uporaba LED akvarijske luči

Preden začnemo, je vredno omeniti, da LED diode, ki jih uporabljamo v tem projektu, niso LED s polnim spektrom, ki posnemajo dnevno svetlobo. To pomeni, da ne zagotavljajo vseh svetlobnih valovnih dolžin, ki so koristne za rastline, zaradi česar neprimerno za akvarijske rastline z velikimi potrebami po svetlobi in zapravljajo majhno količino energije, ki jo proizvaja LED diode.

Kljub temu je za zasajene akvarije z nizkimi zahtevami glede svetlobe lahko LED osvetlitev, kot je ta, odlična izbira, ki ponuja hitrejšo in bolj zdravo rast rastlin brez stroškov, ki jih prinaša veliko akvarijskih osvetlitev izdelki; preprosto ne boste dobili enake moči.

instagram viewer

LED osvetlitev ne koristi le rastlinam v vašem akvariju: številne vrste rib uživajo reden svetlobni cikel, ki posnema dan in noč, da ohrani svoj cirkadiani ritem in jim omogoči počitek, iskanje hrane in aktivnost, kot bi bila divjina.

Za izgradnjo sistema LED osvetlitve, ki poganja cikel dan-noč za ribe in rastline v vašem akvariju, uporabljali bomo Arduino, uro realnega časa (RTC) in LED trak – kot se lahko uporablja za najrazličnejše od Projekti LED osvetlitve Arduino.

Kaj potrebujete?

Za dokončanje te gradnje potrebujete le nekaj delov:

  • 1x Arduino mikrokrmilnik z zatiči SDA/SCL (Uno, Leonardo, Micro itd.; uporabljamo Pro Micro)
  • 1x DS3231 RTC modul
  • 1x WS2812/WS2812B NeoPixel RGB LED trak z oceno IP65 ali več (uporabljamo 60 LED 1-metrski trak WS2812, ki je zapečaten s silikonom; morda boste imeli koristi od uporabe več LED diod, če imate 20+ galonski rezervoar)
  • 1x 12v AC na DC napajalnik z ženskim konektorjem
  • 1x 1000uF kondenzator (izbirno)
  • Različne žice in toplotno skrčljivi kosi
  • Super lepilo / dvostranski trak
  • Filament za 3D tiskalnik (neobvezno)

Za dokončanje tega projekta boste potrebovali tudi nekaj orodij.

  • Spajkalnik
  • Rezalniki / odstranjevalci žice
  • Toplotna pištola
  • 3D tiskalnik (neobvezno)

Ožičenje vaše DIY LED luči za akvarij

Priključitev akvarijske razsvetljave DIY je preprosta, z le nekaj povezavami, ki jih morate narediti, preden lahko začnete s kodiranjem svojega projekta. Zgornji diagram prikazuje vse povezave, ki jih morate vzpostaviti, vendar smo to razčlenili v spodnjih razdelkih.

Ožičenje ure realnega časa

DS3231 RTC v tem projektu deluje kot časovnik za LED osvetlitev v našem akvariju. Ta modul ima štiri zatiče, ki jih bomo uporabljali: SCL, SDA, VCC in GND, ki jih je mogoče neposredno povezati z našim Arduino Pro Micro.

  • SCL do 3 na Arduinu
  • SDA do 2 na Arduinu
  • VCC na 5V na Arduinu
  • GND v GND na Arduinu

Ožičenje LED traku

Ožičenje vašega LED traku je bolj zapleteno kot RTC, saj so LED diode verjetno nekaj oddaljene od Arduina in morate uporabiti ločen napajalnik da dosežete popolno svetlost vaših LED diod. Zgornji diagram prikazuje, kako lahko svoj LED NeoPixel trak povežete z Arduinom in virom napajanja za najboljše rezultate.

  • DIN na Digital Pin 7 na Arduinu
  • GND v GND na Arduinu in negativni (-) priključek za vir napajanja
  • VCC/5V+/12V do pozitivnega (+) priključka za vir napajanja
  • Zelo priporočljivo je, da uporabite kondenzator 1000uF na negativnem (-) in pozitivnem (+) priključku vira napajanja, da preprečite poškodbe vaših LED

Poleg priključitve našega LED traku na naš Arduino in 12V vir napajanja, bomo spremenili tudi naš Klon NeoPixel za ustvarjanje treh manjših LED trakov, ki bodo povezani v verigo z dolgim ​​kablom. Za to bomo uporabili izoliran trožilni kabel, skupaj s toplotno skrčenjem za tesnjenje spojev. Naš LED trak je bil opremljen s priključki JST na vsakem koncu, kar nam omogoča priročen način, da ga lahko ločimo od našega Arduina.

Kodiranje vaših DIY Arduino Aquarium NeoPixel luči

Element kodiranja tega projekta je bolj zapleten kot ožičenje. Začnete lahko z osnovnim praznim projektom Arduino, saj ne bomo potrebovali ničesar razen funkcij, ki so priložene.

Dodajanje knjižnic

Preden dodamo kakršno koli kodo, moramo namestiti nekaj knjižnic, vse pa lahko najdete v upravitelju knjižnic Arduino IDE.

  • Žica.h: Ta knjižnica je priložena Arduino IDE in vam omogoča komunikacijo s komponentami I2C, kot je naš RTC.
  • Adafruit_NeoPixel.h: Ta knjižnica dodaja funkcije/razrede za nadzor NeoPixel LED, vendar deluje enako dobro z našim običajnim LED trakom WS2812.
  • RTClib.h: Ta knjižnica nam omogoča nadzor nad našim modulom DS3231 RTC.
#vključi  // Knjižnica LED trakov
#vključi
#vključi // Knjižnica RTC

Dodajanje globalnih spremenljivk (izbirno)

V našo kodo smo dodali globalne spremenljivke, da lahko v prihodnjih projektih spremenimo obnašanje naše osvetlitve z gumbi in drugimi vnosi. To ni bistveno, vendar bo olajšalo urejanje kode, ko boste morali narediti spremembe. Dodali smo spremenljivke za svetlost in odtenek LED, skupaj s spremenljivko za shranjevanje barve našega LED traku.

Deklaracija in inicializacija LED trakov/RTC objektov

Nato moramo naš LED trak in RTC deklarirati kot objekte, ki jih lahko uporablja naš Arduino, čemur sledi inicializacija v naši nastavitveni zanki.

Naše LED trakove je mogoče deklarirati tako, da najprej definirate uporabljeni zatič in nastavite število LED na traku, nato pa lahko uporabite spodnje vrstice, da naredite samo deklaracijo.

#define LED_PIN 7 // Nastavi naš LED trak na pin 7
#define LED_COUNT 60 // Nastavi število LED NeoPixel
Adafruit_NeoPixel trak (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Razglasi naš objekt LED traku

RTC je lažje deklarirati in za njegovo delovanje morate uporabiti samo spodnjo vrstico; vse pomembne nastavitve se uporabljajo privzeto.

RTC_DS3231 rtc;

Ko je to končano, moramo samo inicializirati naš RTC z naslednjo kodo v našem nastavitvenem razredu.

 Serial.begin (57600); // Začne našo serijsko povezavo

#ifndef ESP8266
medtem ko (!Serial); // Počakajte, da se serijska vrata povežejo
#endif

če (! rtc.begin()) {
Serial.println("Ni bilo mogoče najti RTC");
Serial.flush();
medtem ko (1) zamuda (10);
} //S tem se preveri, ali je naš RTC povezan

Izdelava časovne zanke

Zdaj je čas, da zgradite glavno zanko za vaše akvarijske LED trakove. To se obravnava v glavni zanki, ki ste jo dobili z vašim praznim projektom Arduino, kar pomeni, da bo deloval neprekinjeno.

Zanko začnemo tako, da preverimo trenutni čas z našo uro realnega časa in nastavimo spremenljivko, ki jo shrani, tako da zagotovimo dnevno svetlobo čez dan. Ko imamo a Datum čas Spremenljivka, s katero se lahko igramo, lahko dodelimo trenutno uro in minuto ločenim spremenljivkam, kar nam omogoča zelo natančno nadzorovanje osvetlitve.

 Datum in čas zdaj = rtc.now(); //Zbere trenutni čas
int hh = zdaj.ura(); //Uveljavi trenutni our za spremenljivko

Po tem smo uporabili serijo če izjave, da ugotovimo, ali naj prižgemo naše luči. Te če izjave preverijo, ali je trenutna ura enaka ali večja od 9.00 in enaka ali manjša od 21.00, kar nam daje okno od 9.00 do 21.00, da prižgemo naše LED luči.

Če so ti pogoji izpolnjeni, koda znotraj če izjava nastavi svetlost in barvo naših LED trakov na globalne spremenljivke, ki smo jih nastavili prej, skupaj z uporabo a pokazati ukaz za posodobitev LED traku. Če pogoji niso izpolnjeni, a drugo Izjava se uporablja za nastavitev svetlosti LED diod na 0 in jih učinkovito izklopi ponoči.

 strip.begin(); // Vklopi LED trak
strip.show(); // Prikazuje spremembe LED iz vsake zanke

if (hh <= 8) { //Če je čas enak ali manjši od 8 zjutraj, se LED trak izbriše
strip.clear();
}
if ((hh > 8) && (hh < 21)) { //Če je čas med 9:00 in 21:00, se LED diode prižgejo
trak.setSvetlost (255);
trak.fill (rumenoBelo, 0, 59);
}

if (hh >= 21) { //Če je čas enak ali večji od 21:00, se LED trak izbriše
strip.clear();
}

Celotna koda

#include //Knjižnica LED trakov
#vključi
#include //Knjižnica RTC
#define LED_PIN 7 // Nastavi naš LED trak na pin 7
#define LED_COUNT 60 // Nastavi število LED NeoPixel
Adafruit_NeoPixel trak (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Razglasi naš objekt LED traku
uint32_t yellowWhite = trak. Barva (255, 251, 201); //Ustvari spremenljivko svetle barve
RTC_DS3231 rtc; // Razglasi naš objekt RTC
void setup() {
Serial.begin (57600); // Začne našo serijsko povezavo
#ifndef ESP8266
medtem ko (!Serial); // Počakajte, da se serijska vrata povežejo
#endif
če (! rtc.begin()) {
Serial.println("Ni bilo mogoče najti RTC");
Serial.flush();
medtem ko (1) zamuda (10);
} //S tem se preveri, ali je naš RTC povezan
}
void loop() {
Datum in čas zdaj = rtc.now(); //Zbere trenutni čas
int hh = zdaj.ura(); //Uveljavi trenutni our za spremenljivko
strip.begin(); // Vklopi LED trak
strip.show(); // Prikazuje spremembe LED iz vsake zanke
if (hh <= 8) { //Če je čas enak ali manjši od 8 zjutraj, se LED trak izbriše
strip.clear();
}
if ((hh > 8) && (hh < 21)) { //Če je čas med 9:00 in 21:00, se LED diode prižgejo
trak.setSvetlost (255);
trak.fill (rumenoBelo, 0, 59);
}
if (hh >= 21) { //Če je čas enak ali večji od 21:00, se LED trak izbriše
strip.clear();
}
zamuda (1000); //Zamik zaradi stabilnosti
}

Namestitev LED osvetlitve za akvarij

Naš LED trak je bil priložen s priročnim lepilnim trakom, zaradi česar ga je neverjetno enostavno pritrditi na pokrov/pokrov rezervoarja. Enak rezultat lahko dosežete z obojestranskim lepilnim trakom ali superlepilom, vendar morate paziti, da bo lepilo, ki ga izberete, preživelo nabiranje kondenza. Lahko tudi 3D natisnete stojalo za vašo novo akvarijsko luč, če vaš rezervoar nima pokrova, in ohišje za druge komponente, ki ste jih uporabili.

DIY Arduino luči za akvarij

Akvarijske rastline in ribe imajo koristi od rednega cikla osvetlitve. Čeprav naša svetloba ni polnega spektra, še vedno zagotavlja veliko modre, zelene in rdeče svetlobe, ki jih potrebujejo vaše rastline. Najboljše pa je, da je ta projekt izjemno dostopen, preprost in zabaven.

Najboljši dodatki za pametne akvarijske rezervoarje

Avtomatizirajte svoj akvarij z vlaganjem v pametne dodatke, ki bodo zmanjšali potrebo po ročnem posegu in ohranili vaše ribe zdrave in srečne.

Preberite Naprej

DelitiTweetE-naslov
Povezane teme
  • DIY
  • Arduino
  • LED luči
  • Pametni dom
O avtorju
Samuel L. Garbett (Objavljenih 33 člankov)

Samuel je pisatelj o tehnologiji s sedežem v Združenem kraljestvu s strastjo za vse stvari, ki jih naredim sam. Z ustanovitvijo podjetij na področju spletnega razvoja in 3D tiskanja ter dolgoletnega pisanja, Samuel ponuja edinstven vpogled v svet tehnologije. Osredotoča se predvsem na tehnološke projekte DIY in ne ljubi nič drugega kot deljenje zabavnih in vznemirljivih idej, ki jih lahko preizkusite doma. Zunaj službe je Samuela običajno mogoče najti, da kolesari, igra računalniške videoigre ali obupno poskuša komunicirati s svojim hišnim rakom.

Več od Samuel L. Garbett

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite