Akvarijske biljke trebaju svjetlost za stvaranje energije fotosintezom, dok mnoge ribe imaju koristi od redovite svjetlosnog ciklusa, ali kako im možete pružiti umjetnu rasvjetu s DIY elektroničkim alatima koje već imate imati? Izgradimo DIY sustav rasvjete za akvarij koristeći Arduino, sat u stvarnom vremenu i LED traku.

Korištenje LED svjetla za akvarij

Prije nego što počnemo, vrijedno je napomenuti da LED diode koje koristimo u ovom projektu nisu LED diode punog spektra koje oponašaju dnevnu svjetlost. To znači da ne daju sve valne duljine svjetlosti koje su korisne za biljke, što ih čini neprikladno za akvarijske biljke s velikim potrebama za svjetlom i trošenjem male količine energije koju proizvodi LED diode.

Ipak, za posađene akvarije s niskim zahtjevima za osvjetljenjem, ovakva LED rasvjeta može biti izvrsna izbor koji nudi brži i zdraviji rast biljaka bez troškova koji dolaze s mnogo akvarijskih rasvjeta proizvodi; jednostavno nećete dobiti istu snagu.

Nisu samo biljke u vašem akvariju one koje imaju koristi od LED rasvjete: mnoge vrste riba uživaju u redovitom ciklusu svjetlosti koji oponaša dan i noć kako bi očuvao njihov cirkadijalni ritam, omogućujući im da se odmore, traže hranu i budu aktivni kao što bi bili u divljina.

instagram viewer

Za izradu LED rasvjetnog sustava koji pokreće ciklus dan-noć za ribe i biljke u vašem akvariju, koristit ćemo Arduino, sat stvarnog vremena (RTC) i LED traku—kako se može koristiti za široku paletu od Projekti Arduino LED rasvjete.

Što trebaš?

Treba vam samo nekoliko dijelova da dovršite ovu konstrukciju:

  • 1x Arduino mikrokontroler sa SDA/SCL iglama (Uno, Leonardo, Micro, itd.; koristimo Pro Micro)
  • 1x DS3231 RTC modul
  • 1x WS2812/WS2812B NeoPixel RGB LED traka s IP65 ocjenom ili više (koristimo 60 LED 1-metarsku WS2812 traku koja je zapečaćena silikonom; možda ćete imati koristi od korištenja više LED dioda ako imate spremnik od 20+ galona)
  • 1x 12v AC na DC strujni adapter sa ženskim bačvastim konektorom
  • 1x 1000uF kondenzator (opcionalno)
  • Različite žice i toplinski skupljajući komadi
  • Superljepilo/dvostrana traka
  • Filament za 3D printer (opcionalno)

Za dovršetak ovog projekta trebat će vam i neki alati.

  • Lemilo za lemljenje
  • Rezači/skidači žice
  • Toplinski pištolj
  • 3D pisač (opcionalno)

Ožičenje vašeg DIY LED svjetla za akvarij

Ožičenje vaše DIY akvarijske rasvjete je jednostavno, uz samo nekoliko priključaka prije nego što počnete s kodiranjem svog projekta. Gornji dijagram prikazuje sve veze koje trebate napraviti, ali mi smo to raščlanili u odjeljcima u nastavku.

Ožičenje sata stvarnog vremena

DS3231 RTC u ovom projektu djeluje kao mjerač vremena za LED rasvjetu u našem akvariju. Ovaj modul ima četiri pina koje ćemo koristiti: SCL, SDA, VCC i GND, a svi oni mogu biti izravno povezani na naš Arduino Pro Micro.

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

Ožičenje LED trake

Ožičenje vaše LED trake je kompliciranije od RTC-a, jer će LED diode vjerojatno biti udaljene od Arduina i trebate koristiti zasebni adapter za napajanje da dobijete punu svjetlinu svojih LED dioda. Gornji dijagram pokazuje kako možete spojiti svoju LED NeoPixel traku na Arduino i izvor napajanja za najbolji rezultate.

  • DIN na Digital Pin 7 na Arduinu
  • GND na GND na Arduinu i negativni (-) terminal izvora napajanja
  • VCC/5V+/12V na pozitivni (+) priključak za izvor napajanja
  • Preporučljivo je da koristite kondenzator od 1000uF na negativnim (-) i pozitivnim (+) terminalima izvora napajanja kako biste spriječili oštećenje vaših LED dioda

Uz spajanje naše LED trake na naš Arduino i 12V izvor napajanja, također ćemo modificirati našu NeoPixel klon za stvaranje tri manje LED trake koje će biti povezane u lanac dugim kabelom. Za to ćemo koristiti izolirani trožilni kabel, zajedno s toplinskim skupljanjem za brtvljenje spojeva. Naša LED traka dolazi s JST konektorima na svakom kraju, pružajući nam zgodan način da omogućimo odvajanje trake od našeg Arduina.

Kodiranje vaših DIY Arduino akvarijskih NeoPixel svjetala

Element kodiranja ovog projekta je složeniji od ožičenja. Možete započeti s osnovnim praznim Arduino projektom, jer nam neće trebati ništa osim funkcija koje dolaze s njim.

Dodavanje knjižnica

Prije dodavanja bilo kakvog koda, moramo instalirati neke biblioteke, a sve se one mogu pronaći u Arduino IDE Library Manageru.

  • Žica.h: Ova biblioteka dolazi s Arduino IDE i omogućuje vam komunikaciju s I2C komponentama, poput našeg RTC-a.
  • Adafruit_NeoPixel.h: Ova biblioteka dodaje funkcije/klase za kontrolu NeoPixel LED dioda, ali jednako dobro funkcionira i s našom običnom WS2812 LED trakom.
  • RTClib.h: Ova biblioteka nam omogućuje kontrolu nad našim DS3231 RTC modulom.
#uključiti  //Knjižnica LED traka
#uključiti
#uključiti //RTC knjižnica

Dodavanje globalnih varijabli (izborno)

Dodali smo globalne varijable u naš kod kako bismo mogli promijeniti ponašanje naše rasvjete s gumbima i drugim ulazima u budućim projektima. Ovo nije bitno, ali će olakšati uređivanje vašeg koda kada trebate unijeti promjene. Dodali smo varijable za svjetlinu i nijansu LED-a, zajedno s varijablu za pohranjivanje boje naše LED trake.

Deklariranje i inicijalizacija LED traka/RTC objekata

Zatim, našu LED traku i RTC moramo deklarirati kao objekte koje može koristiti naš Arduino, nakon čega ih inicijaliziramo unutar naše petlje za postavljanje.

Naše LED trake se mogu deklarirati tako da prvo definirate pin koji se koristi i postavite broj LED dioda na traci, ali onda možete koristiti donje linije za izradu same deklaracije.

#define LED_PIN 7 // Postavlja našu LED traku na pin 7
#define LED_COUNT 60 // Postavlja broj NeoPixel LED dioda
Adafruit_NeoPixel traka (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Deklariše naš objekt LED trake

RTC je lakše deklarirati i trebate samo koristiti donju liniju da biste ga pokrenuli; sve važne postavke primjenjuju se prema zadanim postavkama.

RTC_DS3231 rtc;

Kada se ovo završi, samo trebamo inicijalizirati naš RTC koristeći sljedeći kod u našoj klasi za postavljanje.

 Serial.begin (57600); //Započinje našu serijsku vezu

#ifndef ESP8266
dok (!Serijski); // Pričekajte da se serijski port poveže
#završi ako

ako (! rtc.begin()) {
Serial.println("Nisam mogao pronaći RTC");
Serial.flush();
dok (1) kašnjenje (10);
} //Ovo testira kako bi se uvjerili da je naš RTC povezan

Izgradnja petlje tajmera

Sada je vrijeme da napravite glavnu petlju za vaše LED trake za akvarij. To se rješava unutar glavne petlje koja je došla s vašim praznim Arduino projektom, a to znači da će raditi kontinuirano.

Započinjemo petlju provjeravanjem trenutnog vremena našim satom u stvarnom vremenu i postavljanjem varijable za pohranjivanje, osiguravajući da dnevno svjetlo bude osigurano tijekom dana. Nakon što imamo a Datum vrijeme varijabla za igru, možemo dodijeliti trenutni sat i minutu zasebnim varijablama, što nam omogućuje da s velikom preciznošću kontroliramo svoju rasvjetu.

 Datum i vrijeme sada = rtc.now(); //Prikuplja trenutno vrijeme
int hh = sada.sat(); //Primjenjuje trenutni our na varijablu

Nakon toga, koristili smo niz ako izjave da odredimo hoćemo li upaliti naša svjetla. Ove ako izjave provjeravaju je li trenutni sat jednak ili više od 9 ujutro i jednak ili manji od 21 sat, što nam daje prozor od 9 do 21 sat da upalimo naša LED svjetla.

Ako su ovi uvjeti ispunjeni, kodirajte unutar ako izjava postavlja svjetlinu i boju naših LED traka na globalne varijable koje smo prethodno postavili, zajedno s korištenjem a pokazati naredba za ažuriranje LED trake. Ako uvjeti nisu ispunjeni, an drugo izjava se koristi za postavljanje svjetline LED dioda na 0, učinkovito ih isključujući tijekom noći.

 strip.begin(); //Uključuje LED traku
strip.show(); //Pokazuje promjene LED-a iz svake petlje

if (hh <= 8) { //Ako je vrijeme jednako ili manje od 8 ujutro, LED traka se briše
strip.clear();
}
if ((hh > 8) && (hh < 21)) { //Ako je vrijeme između 9:00 i 21:00, LED diode se pale
traka.setSvjetlina (255);
traka.ispuna (žutoBijelo, 0, 59);
}

if (hh >= 21) { //Ako je vrijeme jednako ili veće od 21:00, LED traka se briše
strip.clear();
}

Potpuni kod

#include //Knjižnica LED traka
#uključiti
#include //RTC knjižnica
#define LED_PIN 7 // Postavlja našu LED traku na pin 7
#define LED_COUNT 60 // Postavlja broj NeoPixel LED dioda
Adafruit_NeoPixel traka (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Deklariše naš objekt LED trake
uint32_t žutoBijelo = traka. Boja (255, 251, 201); //Stvara varijablu svijetle boje
RTC_DS3231 rtc; //Deklariše naš RTC objekt
void setup() {
Serial.begin (57600); //Započinje našu serijsku vezu
#ifndef ESP8266
dok (!Serijski); // Pričekajte da se serijski port poveže
#završi ako
ako (! rtc.begin()) {
Serial.println("Nisam mogao pronaći RTC");
Serial.flush();
dok (1) kašnjenje (10);
} //Ovo testira kako bi se uvjerili da je naš RTC povezan
}
void loop() {
Datum i vrijeme sada = rtc.now(); //Prikuplja trenutno vrijeme
int hh = sada.sat(); //Primjenjuje trenutni our na varijablu
strip.begin(); //Uključuje LED traku
strip.show(); //Pokazuje promjene LED-a iz svake petlje
if (hh <= 8) { //Ako je vrijeme jednako ili manje od 8 ujutro, LED traka se briše
strip.clear();
}
if ((hh > 8) && (hh < 21)) { //Ako je vrijeme između 9:00 i 21:00, LED diode se pale
traka.setSvjetlina (255);
traka.ispuna (žutoBijelo, 0, 59);
}
if (hh >= 21) { //Ako je vrijeme jednako ili veće od 21:00, LED traka se briše
strip.clear();
}
kašnjenje (1000); //Odgoda radi stabilnosti
}

Postavljanje LED rasvjete za akvarij

Naša LED traka dolazi s pričvršćenom praktičnom ljepljivom trakom, što je čini nevjerojatno lakim za pričvršćivanje na haubu/poklopac našeg spremnika. Isti rezultat možete postići dvostranom trakom ili superljepilom, ali morate biti oprezni kako biste osigurali da ljepilo koje odaberete može preživjeti nakupljanje kondenzata. Također možete 3D ispisati stalak za vaše novo svjetlo za akvarij ako vaš spremnik nema poklopac i kućište za ostale komponente koje ste koristili.

DIY Arduino svjetla za akvarij

Akvarijske biljke i ribe imaju koristi od redovitog ciklusa osvjetljenja. Iako naše svjetlo nije punog spektra, ono još uvijek pruža mnogo plavog, zelenog i crvenog svjetla koje su potrebne vašim biljkama. Ipak, najbolje je to što je ovaj projekt nevjerojatno pristupačan, jednostavan i zabavan za preuzimanje.

Najbolji pribor za pametne akvarijske spremnike

Automatizirajte svoj akvarij ulaganjem u pametne dodatke koji će smanjiti potrebu za ručnom intervencijom, održavajući vašu ribu zdravom i sretnom.

Pročitajte dalje

UdioCvrkutE-mail
Povezane teme
  • DIY
  • Arduino
  • LED svjetla
  • Pametna kuća
O autoru
Samuel L. Garbett (Objavljeno 33 članka)

Samuel je pisac o tehnologiji sa sjedištem u Ujedinjenom Kraljevstvu sa strašću za sve stvari DIY. Nakon što je pokrenuo poslove u području web razvoja i 3D ispisa, uz dugogodišnji rad kao pisac, Samuel nudi jedinstven uvid u svijet tehnologije. Usredotočujući se uglavnom na DIY tehničke projekte, ne voli ništa više od dijeljenja zabavnih i uzbudljivih ideja koje možete isprobati kod kuće. Izvan posla, Samuela se obično može naći kako vozi bicikl, igra PC video igrice ili očajnički pokušava komunicirati sa svojim rakovim ljubimcem.

Više od Samuela L. Garbett

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu