Akvaariumi taimed vajavad fotosünteesi teel energia loomiseks valgust, samas kui paljud kalad saavad kasu tavalisest valgustsükkel, kuid kuidas saate neile juba tehtavate elektroonikatööriistadega kunstlikku valgustust pakkuda on? Ehitame ise akvaariumi valgustussüsteemi, kasutades Arduino, reaalajas kella ja LED-riba.

LED-akvaariumi valgusti kasutamine

Enne alustamist väärib märkimist, et selles projektis kasutatavad LED-id ei ole täisspektriga LED-id, mis jäljendavad päevavalgust. See tähendab, et nad ei paku kõiki valguse lainepikkusi, mis on taimedele kasulikud, muutes neid ei sobi akvaariumitaimedele, mis vajavad suurt valgust ja raiskavad vähesel määral toodetud energiat LEDid.

See tähendab, et istutatud akvaariumite jaoks, kus on vähe valgust, võib selline LED-valgustus olla suurepärane valik, mis pakub kiiremat ja tervislikumat taimekasvu ilma paljude akvaariumivalgustusega kaasnevate kuludeta tooted; sa lihtsalt ei saa sama võimsust.

LED-valgustusest ei saa kasu ainult teie akvaariumi taimed: paljud kalaliigid naudivad regulaarset valgustsüklit. jäljendab päeva ja ööd, et säilitada ööpäevarütm, võimaldades neil puhata, toitu otsida ja olla aktiivsed nagu nad oleksid metsik.

instagram viewer

Et ehitada LED-valgustussüsteem, mis toidab teie akvaariumi kalade ja taimede jaoks päeva-öist tsüklit, me kasutame Arduinot, reaalajas kella (RTC) ja LED-riba - mida saab kasutada paljude jaoks kohta Arduino LED valgustusprojektid.

Mida sul vaja on?

Selle konstruktsiooni lõpuleviimiseks vajate vaid käputäis osi:

  • 1x Arduino mikrokontroller SDA/SCL tihvtidega (Uno, Leonardo, Micro jne; kasutame Pro Micro)
  • 1x DS3231 RTC moodul
  • 1x WS2812/WS2812B NeoPixel RGB LED-riba IP65 või kõrgema reitinguga (kasutame 60 LED-i 1-meetrist WS2812 riba, mis on silikooniga suletud; rohkemate LED-ide kasutamisest võib kasu olla, kui teil on üle 20 galloni paak)
  • 1x 12 V AC-DC toiteadapter emase silindri pistikuga
  • 1x 1000uF kondensaator (valikuline)
  • Erinevad juhtmed ja termokahanevad jupid
  • Superliim/kahepoolne teip
  • 3D-printeri hõõgniit (valikuline)

Selle projekti lõpuleviimiseks vajate ka mõningaid tööriistu.

  • Jootekolb
  • Traadilõikurid/eemaldajad
  • Kuuma relv
  • 3D-printer (valikuline)

Ise isetegemise akvaariumi LED-valgustite seadistamine

Ise isetegemise akvaariumi valgustuse ühendamine on lihtne, enne kui saate oma projekti kodeerimisega alustada, tuleb teha vaid mõned ühendused. Ülaltoodud diagrammil on näidatud kõik ühendused, mida peate tegema, kuid oleme selle järgmistes jaotistes lahti võtnud.

Reaalajas kella ühendamine

Selle projekti DS3231 RTC toimib meie akvaariumi LED-valgustuse taimerina. Sellel moodulil on neli tihvti, mida me kasutame: SCL, SDA, VCC ja GND, mis kõik saab ühendada otse meie Arduino Pro Micro'iga.

  • SCL kuni 3 Arduinol
  • SDA kuni 2 Arduinos
  • VCC kuni 5 V Arduinol
  • GND GND-ks Arduinos

LED-riba juhtmestik

LED-riba juhtmestik on keerulisem kui RTC, kuna LED-id on tõenäoliselt Arduinost mõnel kaugusel ja peate kasutama eraldi toiteadapterit. LED-ide täieliku heleduse saamiseks. Ülaltoodud diagramm näitab, kuidas saate oma LED NeoPixeli riba oma Arduino ja toiteallikaga parimal viisil ühendada tulemused.

  • Arduino DIN-i digitaalne viik 7
  • GND kuni GND Arduino ja negatiivse (-) toiteallika terminali kaudu
  • VCC/5V+/12V positiivse (+) toiteallika klemmiga
  • Valgusdioodide kahjustamise vältimiseks on tungivalt soovitatav kasutada negatiivse (-) ja positiivse (+) toiteallika klemmide vahel 1000 uF kondensaatorit.

Lisaks LED-riba ühendamisele meie Arduino ja 12 V toiteallikaga muudame ka meie NeoPixeli kloon, et luua kolm väiksemat LED-riba, mis ühendatakse ketti pika kaabliga. Kasutame selleks isoleeritud kolmesoonelist kaablit ja vuukide tihendamiseks termokahanevat kaablit. Meie LED-riba mõlemas otsas oli JST-pistikutega, mis annab meile mugava võimaluse riba meie Arduino küljest lahti võtta.

Teie isetegemise Arduino akvaariumi NeoPixel tulede kodeerimine

Selle projekti kodeerimiselement on keerulisem kui juhtmestik. Võite alustada tavalise tühja Arduino projektiga, kuna me ei vaja midagi peale sellega kaasnevate funktsioonide.

Teekide lisamine

Enne koodi lisamist peame installima mõned teegid ja need kõik leiate Arduino IDE raamatukoguhaldurist.

  • Wire.h: Selle raamatukoguga on kaasas Arduino IDE ja see võimaldab teil suhelda I2C komponentidega, nagu meie RTC.
  • Adafruit_NeoPixel.h: See teek lisab funktsioone/klasse NeoPixeli LED-ide juhtimiseks, kuid see töötab sama hästi ka meie tavalise WS2812 LED-ribaga.
  • RTClib.h: See raamatukogu võimaldab meil juhtida meie DS3231 RTC moodulit.
#kaasa  //LED-ribade raamatukogu
#kaasa
#kaasa //RTC raamatukogu

Globaalsete muutujate lisamine (valikuline)

Oleme oma koodi lisanud globaalsed muutujad, et saaksime tulevastes projektides nuppude ja muude sisendite abil valgustuse käitumist muuta. See ei ole oluline, kuid muudab koodi muutmise lihtsamaks, kui peate muudatusi tegema. Lisasime LED-i heleduse ja tooni muutujad ning muutuja meie LED-riba värvi salvestamiseks.

LED-riba/RTC objektide deklareerimine ja lähtestamine

Järgmisena peame deklareerima oma LED-riba ja RTC objektidena, mida meie Arduino saab kasutada, millele järgneb nende lähtestamine meie seadistusahelas.

Meie LED-ribasid saab deklareerida, määrates esmalt kasutatava tihvti ja seadistades ribal olevate LED-ide arvu, kuid seejärel saate deklaratsiooni koostamiseks kasutada allolevaid ridu.

#define LED_PIN 7 // Määrab meie LED-riba viiguks 7
#define LED_COUNT 60 // Määrab NeoPixel LED-i arvu
Adafruit_NeoPixel riba (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Deklareerib meie LED-riba objekti

RTC-d on lihtsam deklareerida ja selle käivitamiseks peate kasutama ainult allolevat rida; vaikimisi rakendatakse kõiki olulisi sätteid.

RTC_DS3231 rtc;

Kui see on lõpule jõudnud, peame lihtsalt oma RTC lähtestama, kasutades meie seadistusklassis järgmist koodi.

 Serial.begin (57600); //Algab meie jadaühenduse

#ifndef ESP8266
while (!Seeria); // Oodake jadaporti ühendamist
#endif

kui (! rtc.begin()) {
Serial.println("RTC-d ei leitud");
Serial.flush();
samas (1) viivitus (10);
} //See kontrollib, kas meie RTC on ühendatud

Taimersilmuse ehitamine

Nüüd on aeg ehitada akvaariumi LED-ribade jaoks põhiaas. Seda käsitletakse teie tühja Arduino projektiga kaasas olnud põhiahelas ja see tähendab, et see töötab pidevalt.

Alustame tsüklit, kontrollides praegust aega oma reaalajas kellaga ja määrates selle salvestamiseks muutuja, tagades päevavalguse olemasolu. Kui meil on a Kuupäev Kellaaeg muutujaga mängimiseks, saame määrata praeguse tunni ja minuti eraldi muutujatele, mis võimaldab meil oma valgustust väga täpselt juhtida.

 Kuupäev ja kellaaeg praegu = rtc.now(); //Kogub praegust kellaaega
int hh = praegu.tund(); //Rakendab muutujale voolu meie

Pärast seda kasutasime seeriat kui avaldused, et otsustada, kas meie tuled sisse lülitada. Need kui avaldused kontrollivad, kas praegune tund on võrdne või rohkem kui 9.00 ja võrdne või vähem kui 21.00, andes meile võimaluse LED-tulede põlemiseks kella 9.00–21.00.

Kui need tingimused on täidetud, kodeerige sees kui avaldus määrab meie LED-ribade heleduse ja värvi vastavalt globaalsetele muutujatele, mille me varem määrasime, kasutades a näidata käsk LED-riba värskendamiseks. Kui tingimused ei ole täidetud, an muidu lauset kasutatakse LED-ide heleduse määramiseks 0-le, lülitades need öösel tõhusalt välja.

 strip.begin(); //Lülitab LED-riba sisse
strip.show(); //Näitab iga tsükli LED-i muutusi

if (hh <= 8) { //Kui kell on 8:00 või vähem, siis LED-riba kustutatakse
strip.clear();
}
if ((hh > 8) && (hh < 21)) { //Kui kellaaeg on vahemikus 9:00 kuni 21:00, süttivad LED-id
strip.setHeledus (255);
riba.täide (kollaneValge, 0, 59);
}

if (hh >= 21) { //Kui aeg on võrdne kell 21:00 või suurem, siis LED-riba tühjeneb
strip.clear();
}

Täielik kood

#include //LED-ribade teek
#kaasa
#include //RTC raamatukogu
#define LED_PIN 7 // Määrab meie LED-riba viiguks 7
#define LED_COUNT 60 // Määrab NeoPixel LED-i arvu
Adafruit_NeoPixel riba (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Deklareerib meie LED-riba objekti
uint32_t kollaneValge = riba. Värv (255, 251, 201); //Loob heleda värvi muutuja
RTC_DS3231 rtc; //Deklareerib meie RTC objekti
void setup() {
Serial.begin (57600); //Algab meie jadaühenduse
#ifndef ESP8266
while (!Seeria); // Oodake jadaporti ühendamist
#endif
kui (! rtc.begin()) {
Serial.println("RTC-d ei leitud");
Serial.flush();
samas (1) viivitus (10);
} //See kontrollib, kas meie RTC on ühendatud
}
void loop() {
Kuupäev ja kellaaeg praegu = rtc.now(); //Kogub praegust kellaaega
int hh = praegu.tund(); //Rakendab muutujale voolu meie
strip.begin(); //Lülitab LED-riba sisse
strip.show(); //Näitab iga tsükli LED-i muutusi
if (hh <= 8) { //Kui kell on 8:00 või vähem, siis LED-riba kustutatakse
strip.clear();
}
if ((hh > 8) && (hh < 21)) { //Kui kellaaeg on vahemikus 9:00 kuni 21:00, süttivad LED-id
strip.setHeledus (255);
riba.täide (kollaneValge, 0, 59);
}
if (hh >= 21) { //Kui aeg on võrdne kell 21:00 või suurem, siis LED-riba tühjeneb
strip.clear();
}
viivitus (1000); //Stabiilsuse viivitus
}

LED-akvaariumi valgustuse paigaldamine

Meie LED-riba oli varustatud käepärase kleepribaga, mis teeb selle kinnitamise meie paagi kapoti/kaane külge uskumatult lihtsaks. Sama tulemuse saab saavutada kahepoolse teibi või superliimiga, kuid peate olema ettevaatlik, et teie valitud liim taluks kondensatsiooni kogunemist. Samuti saate 3D-printida oma uue akvaariumi valgusti aluse, kui teie paagil pole kaant, ja ümbrise muude kasutatud komponentide jaoks.

DIY Arduino akvaariumi tuled

Akvaariumi taimed ja kalad saavad kasu regulaarsest valgustustsüklist. Kuigi meie valgus ei ole täisspekter, annab see siiski suure osa sinisest, rohelisest ja punasest valgusest, mida teie taimed vajavad. Kõige parem on aga see, et see projekt on uskumatult taskukohane, lihtne ja lõbus kaasa võtta.

Parimad nutikate akvaariumipaakide tarvikud

Automatiseerige oma akvaariumi, investeerides nutikatesse tarvikutesse, mis vähendavad käsitsi sekkumise vajadust, hoides teie kalad terved ja õnnelikud.

Loe edasi

JagaSäutsMeil
Seotud teemad
  • DIY
  • Arduino
  • LED tuled
  • Tark kodu
Autori kohta
Samuel L. Garbett (33 avaldatud artiklit)

Samuel on Ühendkuningriigis asuv tehnoloogiakirjanik, kelle kirg on kõik isetegemine. Olles alustanud ettevõtteid veebiarenduse ja 3D-printimise vallas ning töötanud aastaid kirjanikuna, pakub Samuel ainulaadset sissevaadet tehnoloogiamaailma. Keskendudes peamiselt isetegemise tehnoloogiaprojektidele, ei armasta ta muud kui lõbusate ja põnevate ideede jagamist, mida saate kodus proovida. Väljaspool tööd võib Samueli tavaliselt leida jalgrattaga sõitmas, arvutivideomänge mängimas või meeleheitlikult oma lemmiklooma krabiga suhelda.

Veel Samuel L. Garbett

Liituge meie uudiskirjaga

Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!

Tellimiseks klõpsake siin