Las plantas de acuario necesitan luz para crear energía a través de la fotosíntesis, mientras que muchos peces se benefician de una luz regular. ciclo de luz, pero ¿cómo puede proporcionarles iluminación artificial con las herramientas electrónicas de bricolaje que ya tiene? ¿tener? Construyamos un sistema de iluminación de acuario de bricolaje usando un Arduino, un reloj en tiempo real y una tira de LED.

Usar una luz de acuario LED

Antes de comenzar, vale la pena señalar que los LED que estamos usando en este proyecto no son LED de espectro completo que imitan la luz del día. Esto significa que no proporcionan todas las longitudes de onda de luz que son beneficiosas para las plantas, haciéndolas inadecuado para plantas de acuario con grandes necesidades de luz y desperdiciando una pequeña cantidad de la energía producida por el LED.

Dicho esto, para acuarios plantados con requisitos de poca luz, la iluminación LED como esta puede ser una excelente opción que ofrece un crecimiento de plantas más rápido y saludable sin el costo que conlleva la iluminación de muchos acuarios productos; simplemente no obtendrás la misma potencia.

instagram viewer

No solo las plantas de su acuario se benefician de la iluminación LED: muchas especies de peces disfrutan de un ciclo de luz regular que imita el día y la noche para preservar su ritmo circadiano, lo que les permite descansar, buscar comida y estar activos como lo estarían en lo salvaje.

Para construir un sistema de iluminación LED que active un ciclo de día y noche para los peces y las plantas de su acuario, usaremos un Arduino, un reloj en tiempo real (RTC) y una tira de LED, ya que se puede usar para una amplia variedad de Proyectos de iluminación LED Arduino.

¿Qué necesitas?

Solo necesita un puñado de piezas para completar esta construcción:

  • 1x microcontrolador arduino con pines SDA/SCL (Uno, Leonardo, Micro, etc.; estamos usando un Pro Micro)
  • 1 módulo RTC DS3231
  • 1 tira LED NeoPixel RGB WS2812/WS2812B con clasificación IP65 o superior (estamos usando una tira WS2812 de 60 LED de 1 metro sellada con silicona; puede beneficiarse de usar más LED si tiene un tanque de más de 20 galones)
  • 1 adaptador de corriente de 12 V CA a CC con conector de barril hembra.
  • Condensador 1x 1000uF (opcional)
  • Surtido de alambres y piezas termorretráctiles
  • Superpegamento/cinta de doble cara
  • filamento de impresora 3D (opcional)

También necesitará algunas herramientas para completar este proyecto.

  • un soldador
  • Cortadores/peladores de alambre
  • una pistola de calor
  • Una impresora 3D (opcional)

Cableado de la configuración de la luz LED de su acuario de bricolaje

El cableado de la iluminación de su acuario de bricolaje es simple, con solo unas pocas conexiones antes de que pueda comenzar a codificar su proyecto. El diagrama de arriba muestra todas las conexiones que necesita hacer, pero las hemos desglosado en las secciones a continuación.

Cableado del reloj en tiempo real

El RTC DS3231 en este proyecto actúa como un temporizador para la iluminación LED en nuestro acuario. Este módulo tiene cuatro pines que usaremos: SCL, SDA, VCC y GND, todos los cuales se pueden conectar directamente a nuestro Arduino Pro Micro.

  • SCL a 3 en Arduino
  • SDA a 2 en Arduino
  • VCC a 5V en Arduino
  • GND a GND en Arduino

Cableado de la tira de LED

El cableado de su tira de LED es más complicado que el RTC, ya que es probable que los LED estén a cierta distancia del Arduino y necesita usar un adaptador de corriente separado para obtener el brillo completo de sus LED. El diagrama anterior muestra cómo puede conectar su tira LED NeoPixel a su Arduino y fuente de alimentación para obtener el mejor resultados

  • DIN a pin digital 7 en Arduino
  • GND a GND en Arduino y terminal de fuente de alimentación negativa (-)
  • Terminal de fuente de alimentación VCC/5V+/12V a positivo (+)
  • Se recomienda encarecidamente que utilice un condensador de 1000 uF en los terminales de fuente de alimentación negativo (-) y positivo (+) para evitar daños en los LED.

Además de conectar nuestra tira de LED a nuestro Arduino y fuente de alimentación de 12 V, también modificaremos nuestro Clona NeoPixel para crear tres tiras de LED más pequeñas que se conectarán en cadena con un cable largo. Usaremos un cable de triple núcleo aislado para esto, junto con termorretráctil para sellar las juntas. Nuestra tira de LED viene con conectores JST en cada extremo, lo que nos brinda una manera conveniente de separar la tira de nuestro Arduino.

Codificación de las luces NeoPixel del acuario Arduino DIY

El elemento de codificación de este proyecto es más complicado que el cableado. Puede comenzar con un proyecto básico de Arduino vacío, ya que no necesitaremos nada fuera de las funciones que lo acompañan.

Agregar las bibliotecas

Antes de agregar cualquier código, necesitamos instalar algunas bibliotecas, y todas ellas se pueden encontrar en el Administrador de bibliotecas IDE de Arduino.

  • Alambre.h: Esta biblioteca viene con Arduino IDE y le permite comunicarse con componentes I2C, como nuestro RTC.
  • Adafruit_NeoPixel.h: Esta biblioteca agrega funciones/clases para controlar los LED NeoPixel, pero funciona igual de bien con nuestra tira de LED WS2812 normal.
  • RTClib.h: Esta biblioteca nos permite controlar nuestro módulo RTC DS3231.
#incluir  //Biblioteca de tiras LED
#incluir
#incluir //Biblioteca RTC

Adición de variables globales (opcional)

Agregamos variables globales a nuestro código para que podamos cambiar el comportamiento de nuestra iluminación con botones y otras entradas en proyectos futuros. Esto no es esencial, pero facilitará la edición de su código cuando necesite hacer cambios. Agregamos variables para el brillo y el tono del LED, junto con una variable para almacenar el color de nuestra tira de LED.

Declaración e inicialización de tiras de LED/objetos RTC

A continuación, debemos declarar nuestra tira de LED y RTC como objetos que nuestro Arduino puede usar, y luego inicializarlos dentro de nuestro ciclo de configuración.

Nuestras tiras de LED se pueden declarar definiendo primero el pin que se está utilizando y configurando la cantidad de LED en la tira, pero luego puede usar las líneas a continuación para hacer la declaración en sí.

#define LED_PIN 7 // Establece nuestra tira de LED en el pin 7
#define LED_COUNT 60 // Establece el recuento de LED NeoPixel
Tira Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Declara nuestro objeto de tira de LED

El RTC es más fácil de declarar, y solo necesita usar la línea a continuación para que se ejecute; todos los ajustes importantes se aplican de forma predeterminada.

RTC_DS3231 rtc;

Una vez que esto esté completo, solo necesitamos inicializar nuestro RTC usando el siguiente código en nuestra clase de configuración.

 Serial.begin (57600); //Comienza nuestra conexión serial

#ifndef ESP8266
mientras (! Serie); // Espere a que el puerto serie se conecte
#terminara si

si (! rtc.begin()) {
Serial.println("No se pudo encontrar RTC");
Serial.flush();
mientras que (1) retraso (10);
} //Esta prueba para asegurarse de que nuestro RTC está conectado

Construyendo el ciclo del temporizador

Ahora es el momento de construir el bucle principal para las tiras de LED de su acuario. Esto se maneja dentro del ciclo principal que vino con su proyecto Arduino vacío, y esto significa que se ejecutará continuamente.

Comenzamos el ciclo verificando la hora actual con nuestro reloj en tiempo real y configurando una variable para almacenarla, asegurándonos de que haya luz natural durante el día. Una vez que tenemos un Fecha y hora variable con la que jugar, podemos asignar la hora y los minutos actuales a variables separadas, lo que nos permite controlar nuestra iluminación con gran precisión.

 DateTime ahora = rtc.now(); //Recoge la hora actual
int hh = ahora.hora(); //Aplica el nuestro actual a una variable

A continuación, utilizamos una serie de si declaraciones para determinar si encender nuestras luces. Estas si estados de cuenta verificamos si la hora actual es igual o mayor a las 9 AM e igual o menor a las 9 PM, dándonos una ventana de 9 AM a 9 PM para tener nuestras luces LED encendidas.

Si se cumplen estas condiciones, codifique dentro del si declaración establece el brillo y el color de nuestras tiras de LED a las variables globales que establecimos anteriormente, junto con el uso de un show comando para actualizar la tira de LED. Si no se cumplen las condiciones, un demás se utiliza para establecer el brillo de los LED en 0, apagándolos efectivamente durante la noche.

 tira.begin(); //Enciende la tira de LED
tira.mostrar(); //Muestra los cambios de LED de cada ciclo

if (hh <= 8) { //Si la hora es igual o menor a las 8AM, la tira de LED se borra
tira.claro();
}
if ((hh > 8) && (hh < 21)) { //Si la hora es entre las 9 a.m. y las 9 p.m., los LED se encienden
tira.setBrillo (255);
strip.fill (amarilloBlanco, 0, 59);
}

if (hh >= 21) { //Si la hora es igual o mayor a las 9PM, la tira de LED se borra
tira.claro();
}

El código completo

#include //Biblioteca de tiras LED
#incluir
#include //Biblioteca RTC
#define LED_PIN 7 // Establece nuestra tira de LED en el pin 7
#define LED_COUNT 60 // Establece el recuento de LED NeoPixel
Tira Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); //Declara nuestro objeto de tira de LED
uint32_t amarilloBlanco = tira. Color (255, 251, 201); //Crea una variable de color claro
RTC_DS3231 rtc; //Declara nuestro objeto RTC
configuración vacía () {
Serial.begin (57600); //Comienza nuestra conexión serial
#ifndef ESP8266
mientras (! Serie); // Espere a que el puerto serie se conecte
#terminara si
si (! rtc.begin()) {
Serial.println("No se pudo encontrar RTC");
Serial.flush();
mientras que (1) retraso (10);
} //Esta prueba para asegurarse de que nuestro RTC está conectado
}
bucle vacío () {
DateTime ahora = rtc.now(); //Recoge la hora actual
int hh = ahora.hora(); //Aplica el nuestro actual a una variable
tira.begin(); //Enciende la tira de LED
tira.mostrar(); //Muestra los cambios de LED de cada ciclo
if (hh <= 8) { //Si la hora es igual o menor a las 8AM, la tira de LED se borra
tira.claro();
}
if ((hh > 8) && (hh < 21)) { //Si la hora es entre las 9 a.m. y las 9 p.m., los LED se encienden
tira.setBrillo (255);
strip.fill (amarilloBlanco, 0, 59);
}
if (hh >= 21) { //Si la hora es igual o mayor a las 9PM, la tira de LED se borra
tira.claro();
}
retraso (1000); //Retraso para la estabilidad
}

Instalación de la iluminación LED de su acuario

Nuestra tira LED viene con una práctica tira adhesiva adherida, lo que hace que sea increíblemente fácil colocarla en el capó/tapa de nuestro tanque. Se puede lograr el mismo resultado con cinta de doble cara o superpegamento, pero debe tener cuidado para asegurarse de que el adhesivo que elija pueda sobrevivir a la acumulación de condensación. También puede imprimir en 3D un soporte para la nueva luz de su acuario si su tanque no tiene tapa, y un estuche para los otros componentes que ha usado.

Luces de acuario Arduino DIY

Las plantas de acuario y los peces se benefician de un ciclo de iluminación regular. Si bien nuestra luz no es de espectro completo, aún proporciona gran parte de la luz azul, la luz verde y la luz roja que necesitan sus plantas. Sin embargo, lo mejor es que este proyecto es increíblemente asequible, simple y divertido de realizar.

Los mejores accesorios para acuarios inteligentes

Automatice su acuario invirtiendo en accesorios inteligentes que reducirán la necesidad de intervención manual, manteniendo a sus peces sanos y felices.

Leer siguiente

CuotaPíoCorreo electrónico
Temas relacionados
  • bricolaje
  • arduino
  • Luces led
  • Casa inteligente
Sobre el Autor
samuel l Garbett (33 Artículos Publicados)

Samuel es un escritor de tecnología con sede en el Reino Unido apasionado por todo lo relacionado con el bricolaje. Habiendo iniciado negocios en los campos del desarrollo web y la impresión 3D, además de haber trabajado como escritor durante muchos años, Samuel ofrece una visión única del mundo de la tecnología. Centrándose principalmente en proyectos tecnológicos de bricolaje, nada le gusta más que compartir ideas divertidas y emocionantes que puedes probar en casa. Fuera del trabajo, generalmente se puede encontrar a Samuel montando en bicicleta, jugando videojuegos de PC o intentando desesperadamente comunicarse con su cangrejo mascota.

Más de Samuel L. Garbett

Suscríbete a nuestro boletín

¡Únase a nuestro boletín para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse