Akvaariokasvit tarvitsevat valoa tuottaakseen energiaa fotosynteesin kautta, kun taas monet kalat hyötyvät tavallisesta valosykli, mutta kuinka voit tarjota niille keinovalon jo valmiilla DIY-elektroniikkatyökaluilla omistaa? Rakennetaan tee-se-itse akvaarion valaistusjärjestelmä käyttämällä Arduinoa, reaaliaikakelloa ja LED-nauhaa.

LED-akvaariovalon käyttäminen

Ennen kuin aloitamme, on syytä huomata, että tässä projektissa käyttämämme LEDit eivät ole täyden spektrin LEDejä, jotka matkivat päivänvaloa. Tämä tarkoittaa, että ne eivät tarjoa kaikkia valon aallonpituuksia, jotka ovat hyödyllisiä kasveille, mikä tekee niistä ei sovellu akvaariokasveille, jotka tarvitsevat runsaasti valoa ja tuhlaavat pienen määrän akvaarioiden tuottamaa energiaa LEDit.

Istutetuissa akvaarioissa, joissa on vähän valoa, tällainen LED-valaistus voi kuitenkin olla erinomainen valinta, joka tarjoaa nopeamman ja terveellisemmän kasvien kasvun ilman monien akvaariovalaistuksen aiheuttamia kustannuksia Tuotteet; et vain saa samaa wattia.

instagram viewer

LED-valaistuksesta hyötyvät muutkin kuin akvaariosi kasvit: monet kalalajit nauttivat säännöllisestä valokierrosta. jäljittelee päivää ja yötä säilyttääkseen vuorokausirytminsä, jolloin he voivat levätä, etsiä ruokaa ja olla aktiivisia kuten he olisivat erämaa.

Voit rakentaa LED-valaistusjärjestelmän, joka toimii päivä-yö-jaksolla akvaariosi kaloille ja kasveille, käytämme Arduinoa, reaaliaikakelloa (RTC) ja LED-nauhaa - joita voidaan käyttää monenlaisiin / Arduino LED-valaistusprojektit.

Mitä tarvitset?

Tarvitset vain kourallisen osia tämän rakenteen viimeistelemiseen:

  • 1x Arduino mikro-ohjain SDA/SCL-nastalla (Uno, Leonardo, Micro jne.); käytämme Pro Microa)
  • 1x DS3231 RTC-moduuli
  • 1x WS2812/WS2812B NeoPixel RGB -LED-nauha, jonka IP65-luokitus tai korkeampi (käytämme 60 LED: n 1 metrin WS2812-nauhaa, joka on sinetöity silikonilla; saatat hyötyä enemmän LED-valoista, jos sinulla on yli 20 gallonan säiliö)
  • 1x 12v AC-DC virtasovitin naaraspuolisella piippuliittimellä
  • 1x 1000uF kondensaattori (valinnainen)
  • Erilaisia ​​johtoja ja lämpökutistekappaleita
  • Superliima/kaksipuolinen teippi
  • 3D-tulostimen filamentti (valinnainen)

Tarvitset myös joitain työkaluja tämän projektin suorittamiseen.

  • Juotosrauta
  • Lankaleikkurit/kuorittimet
  • Lämpöase
  • 3D-tulostin (valinnainen)

Tee-se-itse-akvaariosi LED-valaisimien johdotus

Tee-se-itse-akvaariosi valaistuksen kytkeminen on helppoa, sillä sinun on tehtävä vain muutama liitäntä ennen kuin voit aloittaa projektin koodaamisen. Yllä oleva kaavio näyttää kaikki liitännät, jotka sinun on tehtävä, mutta olemme eristäneet tämän alla olevissa osioissa.

Reaaliaikakellon kytkeminen

Tämän projektin DS3231 RTC toimii akvaariomme LED-valaistuksen ajastimena. Tässä moduulissa on neljä nastaa, joita käytämme: SCL, SDA, VCC ja GND, jotka kaikki voidaan kytkeä suoraan Arduino Pro Microimme.

  • SCL arvoon 3 Arduinossa
  • SDA to 2 Arduinossa
  • VCC 5V: iin Arduinossa
  • GND: stä GND: hen Arduinossa

LED-nauhan johdotus

LED-nauhan kytkeminen on monimutkaisempaa kuin RTC, koska LEDit ovat todennäköisesti jonkin matkan päässä Arduinosta ja sinun on käytettävä erillistä virtalähdettä saadaksesi täyden kirkkauden LED-valoistasi. Yllä oleva kaavio näyttää, kuinka voit kytkeä LED NeoPixel -nauhan Arduinoon ja virtalähteeseen parhaalla mahdollisella tavalla tuloksia.

  • DIN digitaaliseen nastaan ​​7 Arduinossa
  • GND GND: hen Arduinossa ja negatiivisessa (-) virtalähdeliittimessä
  • VCC/5V+/12V positiiviseen (+) virtalähteen liittimeen
  • On erittäin suositeltavaa, että käytät 1000 uF: n kondensaattoria negatiivisten (-) ja positiivisten (+) virtalähteen liittimissä LED-valojen vahingoittumisen estämiseksi.

Sen lisäksi, että yhdistämme LED-nauhamme Arduinoon ja 12 V virtalähteeseen, muokkaamme myös NeoPixel-klooni luoda kolme pienempää LED-nauhaa, jotka liitetään ketjuun pitkällä kaapelilla. Käytämme tähän eristettyä kolmijohtimista kaapelia sekä lämpökutistetta liitosten tiivistämiseen. LED-nauhamme molemmissa päissä oli JST-liittimet, mikä tarjoaa meille kätevän tavan irrottaa nauha Arduinosta.

Tee-se-itse Arduino Aquarium NeoPixel -valojen koodaaminen

Tämän projektin koodauselementti on monimutkaisempi kuin johdotus. Voit aloittaa tavallisesta tyhjästä Arduino-projektista, koska emme tarvitse mitään sen mukana tulevien toimintojen lisäksi.

Kirjastojen lisääminen

Ennen kuin lisäät koodia, meidän on asennettava joitain kirjastoja, ja kaikki nämä löytyvät Arduino IDE Library Managerista.

  • Wire.h: Tämän kirjaston mukana tulee Arduino IDE, ja sen avulla voit kommunikoida I2C-komponenttien, kuten RTC: n, kanssa.
  • Adafruit_NeoPixel.h: Tämä kirjasto lisää toimintoja/luokkia NeoPixel-LED-valojen ohjaamiseen, mutta se toimii yhtä hyvin tavallisen WS2812-LED-nauhamme kanssa.
  • RTClib.h: Tämän kirjaston avulla voimme ohjata DS3231 RTC -moduuliamme.
#sisältää  //LED-nauhakirjasto
#sisältää
#sisältää //RTC-kirjasto

Yleisten muuttujien lisääminen (valinnainen)

Olemme lisänneet koodiimme globaaleja muuttujia, jotta voimme muuttaa valaistuksen käyttäytymistä painikkeilla ja muilla tuloilla tulevissa projekteissa. Tämä ei ole välttämätöntä, mutta se helpottaa koodin muokkaamista, kun sinun on tehtävä muutoksia. Lisäsimme muuttujat LED-kirkkaudelle ja -sävylle sekä muuttujan LED-nauhamme värin tallentamiseen.

LED-nauha-/RTC-objektien ilmoittaminen ja alustaminen

Seuraavaksi meidän täytyy ilmoittaa LED-nauhamme ja RTC: mme objekteiksi, joita Arduinomme voi käyttää, ja sen jälkeen alustettava ne asennussilmukassamme.

LED-nauhamme voidaan ilmoittaa määrittämällä ensin käytettävä nasta ja asettamalla nauhalla olevien LEDien lukumäärä, mutta sitten voit käyttää alla olevia rivejä itse ilmoituksen tekemiseen.

#define LED_PIN 7 // Asettaa LED-nauhamme nastaksi 7
#define LED_COUNT 60 // Asettaa NeoPixel-LED-määrän
Adafruit_NeoPixel-nauha (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Ilmoittaa LED-nauhaobjektimme

RTC on helpompi ilmoittaa, ja sinun tarvitsee vain käyttää alla olevaa riviä saadaksesi sen toimimaan; kaikki tärkeät asetukset ovat oletusarvoisesti käytössä.

RTC_DS3231 rtc;

Kun tämä on valmis, meidän on vain alustettava RTC käyttämällä seuraavaa koodia asennusluokissamme.

 Serial.begin (57600); //Aloittaa sarjayhteytemme

#ifndef ESP8266
while (!Serial); // Odota, että sarjaportti muodostaa yhteyden
#loppu Jos

jos (! rtc.begin()) {
Serial.println("RTC: tä ei löytynyt");
Serial.flush();
kun taas (1) viive (10);
} //Tämä testaa, että RTC on kytketty

Ajastinsilmukan rakentaminen

Nyt on aika rakentaa pääsilmukka akvaariosi LED-nauhoille. Tämä käsitellään pääsilmukassa, joka tuli tyhjän Arduino-projektisi mukana, ja tämä tarkoittaa, että se toimii jatkuvasti.

Aloitamme silmukan tarkistamalla nykyisen ajan reaaliaikakellollamme ja asettamalla muuttujan tallentamaan sen varmistamalla, että päivänvaloa on tarjolla päivän aikana. Kun meillä on a Treffiaika Muuttuja pelata, voimme määrittää nykyiset tunnit ja minuutit erillisiin muuttujiin, jolloin voimme ohjata valaistusta erittäin tarkasti.

 DateTime now = rtc.now(); //Kerää nykyisen ajan
int hh = nyt.tunti(); //Käyttää nykyistä meidän muuttujaan

Tämän jälkeen käytimme sarjaa jos lausunnot sen määrittämiseksi, sytytetäänkö valot. Nämä jos lausunnot tarkistavat, onko nykyinen tunti yhtä suuri tai suurempi kuin 9.00 ja yhtä suuri tai pienempi kuin kello 21.00, jolloin saamme LED-valot päälle kello 9.00–21.00.

Jos nämä ehdot täyttyvät, koodaa jos lauseke asettaa LED-nauhoidemme kirkkauden ja värin aiemmin asettamiimme globaaleihin muuttujiin sekä a näytä -komento päivittää LED-nauha. Jos ehdot eivät täyty, an muu lauseketta käytetään LEDien kirkkauden asettamiseen nollaan, mikä sammuttaa ne tehokkaasti yön ajaksi.

 strip.begin(); //Ottaa LED-nauhan käyttöön
strip.show(); //Näyttää LED-muutokset jokaisesta silmukasta

if (tt <= 8) { //Jos aika on yhtä suuri tai vähemmän kuin klo 8, LED-nauha tyhjenee
strip.clear();
}
if ((th > 8) && (th < 21)) { //Jos aika on 9:00 ja 21:00 välillä, LED-valot syttyvät
strip.setKirkkaus (255);
strip.fill (keltainenValkoinen, 0, 59);
}

if (tt >= 21) { //Jos aika on yhtä suuri tai suurempi kuin klo 21.00, LED-nauha tyhjenee
strip.clear();
}

Koko koodi

#include //LED Strip -kirjasto
#sisältää
#include //RTC-kirjasto
#define LED_PIN 7 // Asettaa LED-nauhamme nastaksi 7
#define LED_COUNT 60 // Asettaa NeoPixel-LED-määrän
Adafruit_NeoPixel-nauha (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Ilmoittaa LED-nauhaobjektimme
uint32_t yellowWhite = nauha. väri (255, 251, 201); //Luo vaalean värimuuttujan
RTC_DS3231 rtc; //Ilmoittaa RTC-objektimme
void setup() {
Serial.begin (57600); //Aloittaa sarjayhteytemme
#ifndef ESP8266
while (!Serial); // Odota, että sarjaportti muodostaa yhteyden
#loppu Jos
jos (! rtc.begin()) {
Serial.println("RTC: tä ei löytynyt");
Serial.flush();
kun taas (1) viive (10);
} //Tämä testaa, että RTC on kytketty
}
void loop() {
DateTime now = rtc.now(); //Kerää nykyisen ajan
int hh = nyt.tunti(); //Käyttää nykyistä meidän muuttujaan
strip.begin(); //Ottaa LED-nauhan käyttöön
strip.show(); //Näyttää LED-muutokset jokaisesta silmukasta
if (tt <= 8) { //Jos aika on yhtä suuri tai vähemmän kuin klo 8, LED-nauha tyhjenee
strip.clear();
}
if ((th > 8) && (th < 21)) { //Jos aika on 9:00 ja 21:00 välillä, LED-valot syttyvät
strip.setKirkkaus (255);
strip.fill (keltainenValkoinen, 0, 59);
}
if (tt >= 21) { //Jos aika on yhtä suuri tai suurempi kuin klo 21.00, LED-nauha tyhjenee
strip.clear();
}
viive (1000); //Viive vakaudelle
}

LED-akvaariovalaistuksen asentaminen

LED-nauhamme mukana toimitettiin kätevä liimanauha, jonka ansiosta se on uskomattoman helppo kiinnittää säiliön kanteen/kanteen. Sama tulos voidaan saavuttaa kaksipuolisella teipillä tai superliimalla, mutta sinun on oltava varovainen varmistaaksesi, että valitsemasi liima kestää kondenssiveden muodostumisen. Voit myös 3D-tulostaa jalustan uudelle akvaariovalaisillesi, jos säiliössäsi ei ole kantta, ja kotelon muille käyttämillesi komponenteille.

DIY Arduino Aquarium Lights

Akvaariokasvit ja kalat hyötyvät säännöllisestä valaistusjaksosta. Vaikka valomme ei ole koko spektri, se tarjoaa silti suuren osan kasvisi tarvitsemasta sinisestä, vihreästä ja punaisesta valosta. Parasta kuitenkin on, että tämä projekti on uskomattoman edullinen, yksinkertainen ja hauska ottaa mukaan.

Parhaat älykkäät akvaariosäiliöiden tarvikkeet

Automatisoi akvaariosi investoimalla älykkäisiin lisävarusteisiin, jotka vähentävät manuaalisten toimenpiteiden tarvetta ja pitävät kalasi terveinä ja onnellisina.

Lue Seuraava

JaaTweetSähköposti
Liittyvät aiheet
  • tee-se-itse
  • Arduino
  • LED-valot
  • Älykoti
Kirjailijasta
Samuel L. Garbett (33 artikkelia julkaistu)

Samuel on Iso-Britanniassa toimiva teknologiakirjoittaja, joka on intohimoinen kaikkeen tee-se-itse-asioihin. Perustettuaan yrityksiä verkkokehityksen ja 3D-tulostuksen aloilla sekä työskennellyt useiden vuosien ajan kirjailijana, Samuel tarjoaa ainutlaatuisen näkemyksen teknologian maailmaan. Hän keskittyy pääasiassa tee-se-itse-tekniikkaprojekteihin, ja hän ei rakasta muuta kuin hauskojen ja jännittävien ideoiden jakamista, joita voit kokeilla kotona. Työn ulkopuolella Samuel voidaan yleensä tavata pyöräilemässä, pelaamassa PC-videopelejä tai yrittämässä epätoivoisesti kommunikoida lemmikkirapunsa kanssa.

Lisää kirjailijalta Samuel L. Garbett

tilaa uutiskirjeemme

Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja eksklusiivisia tarjouksia!

Klikkaa tästä tilataksesi