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.
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 silmukastaif (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.
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
- tee-se-itse
- Arduino
- LED-valot
- Älykoti
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.
tilaa uutiskirjeemme
Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia e-kirjoja ja eksklusiivisia tarjouksia!
Klikkaa tästä tilataksesi