Introducción: Que es Anakino_Aquarium

Este proyecto está discontinuado. Ahora estoy con una versión mas sencilla ya que solamente utiliza una pantalla LCD de 20×4.

El proyecto Anakino_Aquarium es un proyecto basado en el codigo de Ferduino, pero adaptado a un acuario de agua dulce.

Únete al grupo de telegram en: https://t.me/Anakino_aquarium

Aunque no esta terminado, de momento es funcional. Si quereis ver los datos del acuario via web debeis registraros en la web Xively. También necesitais la ethernetShield que conecta el Arduino a internet.

A continuación voy a explicar como podeis montar un controlador básico de un acuario de agua dulce con un arduino mega.

En primer lugar agradecer a Fernando Garcia todo su trabajo, ya que todo el código es suyo, yo solo he modificado lo necesario para que funcione con un acuario de agua dulce.

Se supone que llegados a este punto tenemos unos conocimientos básicos de electrónica o de Arduino en concreto. Un resumen muy sencillo seria; Arduino es una placa con un chip y una memoria interna que es capaz de guardar y ejecutar una serie de instrucciones escritas en un sketch. Arduino con esas “instrucciones” realizara lo que nosotros le hayamos escrito y en función de diversos valores.

En nuestro caso lo que hará el controlador será:

  • Mantener la temperatura del agua del acuario a una prefijada por nosotros con la variación que le hayamos permitido. Por ejemplo, marcamos 25.5º y le damos 0,5º de margen de temperatura.
  • Configurar el encendido y el apagado de las luces blancas, rojas, azules, etc y activar la luz de luna real según el día del mes y año en el que nos encontramos.
  • Regular la velocidad de los ventiladores del disipador en función de su temperatura.
  • Configurar hasta 5 temporizadores (para controlar Lampara UV, bomba de aire )
  • Conocer el estado de las variables del acuario desde cualquier pc o teléfono a través de internet.
  • Cambiar algunos valores mediante una aplicación móvil

En un futuro: manejar comederos temporizados.

Todo esto será controlado y manejado con una pantalla tactil a color, donde podremos ver los valores del acuario.

Para poder empezar a trabajar necesitamos que tengais descargado el ultimo IDE de arduino, os recomiendo la 1.0.4 de aqui: http://arduino.cc/en/Main/Software

Todos los archivos los teneis para descargar de aqui: https://github.com/Anakinspain

Aqui teneis un video explicando el funcionamiento:


Capitulo 1: Componentes

Paso a poner el listado de los materiales necesarios:

Material Enlace Precio
Arduino Mega 2560 Ebay 12/25€
Ethernet Shield con chip W5100 Ebay 13 / 25€
TFT tactil Itead pte confirmar nuevo modelo
Placa de 8 reles. Ebay 10€
Sensores de temperatura DS18B20 Ebay 3x 4€
3 TIPS 141 Ebay 3×3€
Reloj RTC DS1307 Ebay 5€
Cables y conectores
Caja para meterlo todo

Iluminación

En mi caso, estoy utilizando iluminación mediante tubos T5. Estos tubos están conectados a uno de los relés, que activan o desactivan los 220v del enchufe. Aunque estoy esperando una pantalla de LEDS que tiene muy buena pinta…

De todos modos, para el que use leds, se puede configurar el amanecer y el anochecer. Para ello, tienen que conectar el cable de salida de la fuente de alimentación a la entrada del TIP y la salida del tip irá conectada a los leds.

En la última version he dejado he abandonado la posibilidad del manejo de los canales, dejando solo el control de la luz de día y noche.

De todos modos, aun podeis encontrar el codigo usado en: GITHUB

Caja de reles

Siguiendo el consejo de Fernando Garcia, decidí poner la caja de relés fuera de la caja del Arduino.

Para esto he utilizado un cable de 10 hilos y un conector D-Sub macho y hembra para conectar la caja de relés con la caja donde va el Arduino.

El conector de la derecha lo tenéis que dejar en modo JD-VCC, luego tenéis que conectar el pin de la izquierda del todo GND a masa, y el VCC a 5v. Cada uno de los pines de IN1, IN2, es para activar cada uno de los ocho reles y deben unirse al pin del Arduino que los active.

En mi caso compre la placa de reles en eBay y me la enviaron desde china, y como son así funciona al revés, es decir, si quiero activarlo debo decirle LOW y si quiero desactivar el rele debo decir HIGH. De todos modos en el código se ha incluido una función para que no nos compliquemos y que ya explicaré mas adelante.

En la parte trasera de la caja de Arduino es donde tengo la conexión de los relés.

Sensores de temperatura

Para este código estamos usando tres sensores de temperatura. Uno de ello, nos tiene que dar el valor del agua del acuario, y en función del valor captado lo compara con el valor deseado y activa o desactiva el rele del calentador.(Es importante, poner el regulador de la temperatura del calentador un poco por encima de la deseada, de esta manera, si el Arduino activa el enchufe, el calentador debe funcionar correctamente).

Los tres sensores van conectado en serie, y tienen el PIN 42 por el que Arduino lee los datos.

Reloj

El reloj es necesario ya que el Arduino en si no conoce la hora, así que mediante este pequeño circuito se puede configurar la fecha, necesaria para la fase de la luna y para la configuración de los temporizadores.

El reloj lleva una pequeña pila de botón para que en caso de fallo de la luz o reinicio no se pierda la configuración de la hora.

TIP141

En mi instalación actualmente solo se usa un TIP para regular la luz de luna ya que uso tubos fluorescentes.

De todos modos, un TIP seria para regular la luz nocturna (azul), otro seria para la luz blanca y el ultimo sería para regular la velocidad de los ventiladores.

Fuente de alimentación

Para mi proyecto uso dos fuentes de alimentación.

  • La primera es un cargador de USB a 220v, en el conecto una toma con la que alimento la pantalla, el Arduino, los reles y el reloj. Es importante tener en cuenta que ese transformador debe tener al menos 2A para no tener problemas, y que todo va conectado directamente al USB mediante una regleta y no al Arduino, para evitar sobrecargar la placa.
  • En segundo lugar es un transformador de 220v a 12v con el que se da corriente a la luz de leds azules y a los ventiladores.

Capitulo 2: Conexiones

Hay que tener en cuenta que la placa Arduino es la base de todo el control por lo tanto hay que buscarle un sitio un poco centrado para que todas las conexiones sean cómodas. Yo he usado una caja de metacrilato que tenia de un antiguo PC para montar todo.

La parte trasera de la caja es donde estan las conexiones, de esta forma, la caja es como una minitorre de PC que puedo desconectar por la parte trasera por si tengo que trastear en ella.

Como podeis ver estan las conexiones de la entrada de voltaje de 12V, las de salida para alimentar los leds (en caso de que se instale), de ventiladores, las conexiones de la placa de relés, y el conector de los sensores.

En la parte delantera hice dos agujeros, uno para la pantalla y otro para un conector USB para poder cargar el IDE del Anakino_Aquarium de manera mas cómoda.

En el interior hay una placa donde tengo la entrada de 5v. Esa placa es como un distribuidor con el que alimento de 5v todos los componentes que lo necesitan como el Arduino, el reloj, la placa de relés, y así no sobrecargo el Arduino.

Aqui teneis una primera version para que vayas haciendo una idea de como está todo conectado

Capitulo 3: Software

Necesitamos instalar un software para poder cargar el “programa”. Recomiendo descargaros la version 1.0.4 que es la compatible con el sketch que se usa. Descargar de AQUI

Una vez instalado el software necesitamos copiar las librerías que necesitamos para que se ejecuten en el Arduino todas las instrucciones del código.

Se descargan desde aqui: https://github.com/AnakinSpain/Libreria

Se deben descomprimir y copiar dentro de la ruta de instalacion del Software sobreescribiendo las librerias anteriores.

Una vez que se ejecuta por primera vez el IDE, debemos configurar la tarjeta, en nuestro caso Mega 2560.

Capitulo 4: Configuración tweeter

Podemos configurar el controlador para que nos envía a través de una cuenta de tweeter avisos en forma de tweet cuando los parámetros del acuario estén fuera de valores para que nos avise.

Lo primero es crear una cuenta en tweeter. Una vez que esté creada, debemos autorizar a tweeter a que la aplicación pueda enviar tweets mediante el enlace este: Enlace aplicación

Tras autorizar a la aplicación, obtenemos el token que buscábamos:

Lo único que se debe hacer en el código es copiar ése código y pegarlo en la línea:

Twitter twitter(“XXXXX”); Your Token to Tweet (get it from http://arduino-tweet.appspot.com/)