

POSEIDÓN
AUTOMATIZACIÓN DE ACUARIOS
"If there is magic on this planet, it is contained in water"
Loren Eiseley

EL PROBLEMA
El correcto mantenimiento de una pecera implica una constante responsabilidad, pudiéndose volver una ardua tarea tener que reproducir y mantener un delicado ecosistema a menor o mayor escala.
​
La responsabilidad de tener peces lleva al igual que con cualquier mascota una gran dedicación y tiempo: los peces suelen comer entre 2 o 3 veces al día, necesitan un cambio de agua aproximadamente cada 15 días, un correcto nivel de agua y una temperatura correctamente regulada, entre otras cosas.
​
Todo esto mencionado puede volverse un problema a la hora de tener que ausentarse por largos períodos de tiempo del hogar, debido a que por la alta demanda de tiempo y conocimiento sobre el tema que exige el tener una pecera no es tan sencillo conseguir a alguien que pueda encargarse de la misma.
​
EL PLAN
SOBRE EL PLAN:
Poseidón propone utilizar IOT (Internet of Things) para mejorar la calidad de vida de los peces y reducir las arduas responsabilidades de mantenimiento y acondicionado de una pecera.
​
Las funcionalidades que se le proponen al usuario son las siguientes:
​
-
Filtrado de agua constante.
-
Oxigenado.
-
Calentador de agua automático según temperatura deseada.
-
Telemetría de temperatura constante.
-
Telemetría del nivel de agua de la pecera constante.
-
Sistema de alimentación automático cada dia a cierta hora.
-
Sistema de ciclado de agua cada tantos días, con bombas hidráulicas.
ETAPAS:
​
Primer etapa:
El propósito de esta primer etapa fue introducirnos a la nueva placa, empezar a trabajar con el modulo ESP, investigar cómo adaptar los periféricos arduino a la misma para finalmente introducirnos a la comunicación vía WIFI con el protocolo MQTT y lograr la conexión de la placa.
​
Se logró en esta etapa:
​
-
Elección de periféricos de arduino, y compra de los mismos. Estos fueron:
-
Termómetro ​
-
Sensor de nivel de agua
-
Motor SERVO
-
Dos bombas de agua
-
Dos relés
-
-
Elección de periféricos para el mantenimiento de la pecera:
-
Filtro ​
-
Aireador
-
Calentador
-
-
Conexión WI-FI.
-
Trabajar con la aplicación MQTTX e iniciar comunicación.
-
Introducirnos a la tecnologa GitHub.
​
​Segunda etapa:
La segunda etapa consistió en conectar los actuadores y sensores teniendo en cuenta la distribución de energía, optimización de pines (placa) y espacio disponible en la caja de electrónicos, logrando un ensamblaje funcional y detallado de la electrónica del proyecto.
​
Se logró en esta etapa:
​
-
Implementación del software
-
Código con biblioteca JSON​
-
Diseño del código de arduino para sensores
-
-
Diseño de hardware
-
Conexión de actuadores a los relés​
-
Conexión de sensores a la placa
-
Alimentación de la placa y periféricos
-
-
Conexión Thingsboard
-
RPC servidor-cliente​
-
Suscripción de atributos​​
-
​
Tercer etapa
En la tercer y última etapa se ensambló el prototipo, colocando el hardware de mantenimiento de la pecera, los sensores, y ensamblando finalmente el feeder. Posteriormente al ensamblado se realizó el testing y acondicionamiento del prototipo.
​
Se logró en esta etapa:
​
-
Creación de feeder
-
Diseño del sistema de alimentación​
-
Creación de 4 diferentes prototipos
-
Implementación del prototipo elegido en la pecera
-
-
Formulación de un sistema de ciclado de agua con tarros
-
Diseño de distintos circuitos acuáticos variando la altura de los tarros, posicionamiento de bombas de agua y tipo de bombas de agua​
-
Elección del mejor sistema de ciclado
-
Diseño de contenedores de agua con soporte
-
Medición de flujo de agua
-
-
Testeo del producto
-
Acondicionamiento para recibir a los peces
POSIBLES RIESGOS:
​
-
Frente a un posible apagón en el hogar:
-
Se debería volver a colocar el feeder en su posición incial
-
De ocurrir el mismo durante el ciclado del agua puede suceder que no se complete el mismo, haciendo que la pecera solo se vacíe en un 30%
-
-
Si se interrumpe la conexión entre thingsboard y la placa puede acontecer que la temperatura del termómetro se eleve a 32°C, si bien esto no es mortal para los peces crea un ambiente ideal para la reproducción de los mismos.
-
Posible riesgo de cortocircuito al trabajar con componentes electrónicos y agua.

PROTOTIPO FINAL




CARACTERÍSTICAS DEL PROTOTIPO
CONTROL DE TEMPERATURA
WIFI
CICLADO DE AGUA
FILTRADO DE AGUA

OXIGENACIÓN
CONTROL DE NIVEL DEL AGUA
SOLUCIÓN
Poseidón busca solucionar todos los problemas que una pecera conlleva, permitiéndote dejar la pecera sin ningún tipo de atención por aproximadamente de 2 meses.
Con el auge de la era del IOT podemos plantear la posibilidad de que las peceras utilicen el mismo.
Nuestra misión es lograr que te conectes a tu pecera sin importar donde estés para verificar su estado, poder operar o dejar todo en manos de Poseidón gracias a sus configuraciones automáticas. Desde la web podrás darle de comer a tus peces, cambiarles el agua, filtrar y oxigenar el agua, regularles la temperatura y medir el nivel del agua.
Link de GitHub:
A continuación se detallaran las partes del prototipo, junto a una breve explicación de los más importantes:

Materiales utilizados:
-
Pecera de vidrio
-
Filtro CX-200
-
Aireador
-
Calentador
-
Sensor de temperatura DS18B20
-
Sensor de nivel de agua
-
Micro-servo SG90
-
Bomba de agua 12v (limpiaparabrisas)
-
Bomba de agua sumergible 5W
-
Tubos de acrílico de pecera
-
Bidón de 6.25L
-
Soporte para el bidón
-
2 relés uno de 4 llaves y uno de 1
-
Cables de arduino
-
Zapatilla de enchufes
-
Caja de madera
-
ESP 8266
Filtro CX-200

El filtro elegido fue uno de filtrado en 3 etapas, ya que según nuestra investigación es el más adecuado para el tamaño de la pecera, considerando la cantidad de tiempo encendido, facilidad de reposición de cartuchos y efectividad.
-
La primera etapa es la mecánica, que consiste en filtrar los desperdicios grandes.
-
La segunda y tercera etapa son las de carbono activado y cerámica, los cuales son filtrados químicos y biológicos, que se encargan de acomodar bacterias beneficiosas para el ecosistema, las cuales eliminan bacterias perjudiciales y ayudan a eliminar nitritos para regular el PH.
Aireador SB-222

Brinda oxígeno a los peces.
Sensor de temperatura DS18B20

El sensor de temperatura utilizado fue un termómetro sonda DS18B20 compatible con arduino.
Este sensor es ideal para nuestro uso ya que cuenta con una increíble aislación contra el agua. Este devuelve un voltaje por el cable de data, el cual es proporcional a la temperatura. El voltaje retornado no es completamente lineal pero no importa ya que se opera sencillamente con librerías.
Sensor de nivel del agua

Este sensor analógico de nivel de agua tiene una serie de conductores paralelos expuestos cuya resistencia depende del nivel del agua.
Es fundamental para prevenir desbordes de la pecera o alertar de pérdidas de la pecera.
Micro-Servo SG90

Se utilizara un motor servo para controlar el alimentador automático. El motor servo será utilizado ya que no solo proporciona torque más que suficiente, sino que utiliza pocas conexiones de control, esto es vital ya que con tantos sensores y actuadores no habría espacio suficiente para motores más complejos como el stepper motor.
El diseño del alimentador tuvo que ser cambiado ya que el primer diseño contaba con un motor que pudiese girar 360 grados como el anterior mencionado. El servo puede girar 180 grados cómo máximo, esto nos viene perfecto para el diseño de feeder actual.
Bomba de agua 12V pico fino

Es una pequeña bomba que requiere de poca alimentación que nos permite armar un circuito para el ciclado y subir agua desde el piso de la pecera hasta arriba y bajar nuevamente.
Tiene un caudal de 3L/min que nos permite circular el agua de manera muy veloz.
Bomba de agua sumergible 5W 200 L/h

Pequeña bomba entre sus características más importantes encontramos el ser pequeña y tener un caudal de agua importante 200L/h. Nos permite sacar el agua necesaria para el ciclado, sin entorpecer la vida de los peces dentro de la pecera.
Relé

Los relés son dispositivos muy fáciles de programar que nos permiten hacer switches con los actuadores que funcionan a altos voltajes y que no podrían alimentarse nunca de una micro, ni de alguna fuente de alimentación a nuestro alcance.
HISTORIA DEL PROYECTO
SEMANA 1

SEMANA 2
Se descargo la biblioteca correspondiente, y se hizo un primer código de prueba para el funcionamiento del sensor.
​
La prueba fue exitosa, se logró extraer la temperatura del ambiente.

SEMANA 3
Se realizó la primer conexión de la placa al thingsboard y se obtuvo la telemetría.

SEMANA 4
Se comenzó a investigar motores para el feeder.
​
Se decidió ir por un paso a paso, por su torque, y su gran precisión, lo que nos brindaría más facilidad para un diseño de feeder cómo el que se ve en la imagen. Para esto precisamos imprimir en 3D la pieza que gira ya que debe ser de gran presición, para esto se utilizó autocad.
​
Se imprimieron dos piezas para otro posible diseño del feeder pero se descartaron por ser muy complejas.



SEMANA 5
Se comenzó con el código en Github, se hicieron varios commits, y se aprendió a utilizar. Por otro lado se empezó a armar un Dashboard tentativo, y a trabajar con Rule chains debido a la lógica del sistema, para poder hacer llegar una request RPC a cierta hora cada varios días. Por último hicimos un chequeo de la comunicacion MQTT.



SEMANA 6
Se implementó la biblioteca JSON para el código. Vimos una manera mucho más facil de leer la información desde el backend.
SEMANA 7
Se logra generar el código de el ciclado y el feeder tanto para el thigsboard cómo para arduino actualizado como para biblioteca JSON. No para el hardware en si, recibimos la consulta de RPC y entramos a los métodos del ciclado y feeder.
SEMANA 8
Se conecta el relay con los actuadores necesarios: filtro, aireador y heater.
Se hizo una maqueta de código para ciclado para que funcione cada tanto tiempo luego de ser enviado el RPC. Este tiempo se ajustará a la cuenta del caudal de agua que mueve cada una de las bombas.


SEMANA 9
Logramos hacer funcionar la telemetría para el sensor de temperatura y el sensor de nivel de agua con widgets correspondientes en thingsboard. Además, se hizo el código para actuadores.
​
Se finalizó el código en thingsboard para la cantidad de cucharadas que se le va a dar de comer al pez.
​
Se aplicó los actuadores a la pecera. Se arma el pimer gran modelo de la misma.


SEMANA 10
Se compactó la electrónica en una caja de madera. Además se agregó el control de error para el código
Destacamos que sí estoy ciclando el agua no puede tener ni el filtro ni el heater prendidos.

SEMANA 11
Se hizo la prueba con la pecera y las bombas hidráulicas en la facultad.
Vimos que los actuadores funcionaban bien (había una conexión al revés).
Las bombas al estar empalmadas en paralelo causaban que se agachase la fuente, ya que precisamos más corriente para las mismas. Cada bomba consume 4 ampere. Se decidió hacer un código para ir rotando las bombas, que no funcionen a la vez.
Hubo que comprar un relé para diseñar el circuito, de los dos posibles se optó por el de la derecha ya que grantizaba que solo uno estó prendido al mismo tiempo.



SEMANA 12
Llegó la pieza impresa 3D para el feeder.
Vimos que no fue una buena idea, ya que el diseño no se adecuaba a la alimentación de peces ya que las porciones eran demaciado grandes. Por lo tanto, se optó por otro modelo el cual utiliza la gravedad para cortar el flujo de caída de comida, ademas se adapta al nuevo motor a utilizar el cual solo puede girar 180 grados.
Cambiamos de motor, ya que el paso a paso nos consumia muchos pines, y nos pedía más alimentacion que no teníamos para darle. Decidimos usar un micro servo para el nuevo diseno. Se hizo el código y funciona bien.

Se hizo código para lo estipulado la semana anterior y arreglamos las bombas.
El código funcionó pero el diseño de nuestro circuito de agua no. Al ver que el circuito no movía el agua nos comunicamos con un Ingeniero Mecánico y estudiante de Mecánica, estos nos mostraron que para el cicuito de agua que queríamos debíamos tener en cuenta las diferencias de altura del agua y las preciones de columna de agua.
Las conclusiones de nuestros experimentos y conceptos fueron los siguientes: si la entrada estaba más arriba que la salida la bomba actuaríaa como una llave abierta y dejaria fluir el agua libremente, si la entrada estaba más abajo que la bomba de agua, la bomba no tenía la fuerza suficiente para succionar el agua.
Los expertos nos enseñaron que las bombas utilizadas necesitaban tener el pico de entrada constantemente sumergido en agua, ya que de lo contrario tienen una válvula que evita que la bomba trabaje en el vacío.
​
Se llegó a la conclusión que la parte del circuito de entrada de agua podía ser logrado posicionando la bomba debajo del contenedor y la salida con una pendiente suficiente para que la columna de agua no ejerza la suficiente presión para llegar a la pecera. De esta manera la entrada a la bomba está constantemente sumergida en agua.
Por otra parte, para el circuito de salida, el único sistema viable sería perforando el vidrio, pero esto por razones de costo, seguridad y tiempo no fue factible.
Dadas las condiciones y bajo sugerencia de los expertos decidimos comprar una bomba sumergible la cual soluciona nuestros problemas y facilita el circuito. El único problema es que no podía ser conectada a la misma fuente que la bomba anterior como se tenía pensado, ya que la bomba sumergible esta diseñada para ser conectada a alterna a 220 volts. Como abrir la bomba para cambiar su circuito interno no es posible por problemas de comprometer la aislación se optó por rediseñar el circuito una vez más.
​
Como todos los periféricos se apagan al cambiar el agua se decidió empalmar la bomba sumergible a uno de estos periféricos controlados por el relé. Se eligió el aireador arbitrariamente y se procedió a modificar las conexiones como se ve en el circuito de la izquierda. Este circuito sin embargo tenía un problema, no estaba pensado para corriente alterna como señaló nuestro profesor encargado. De esta manera se modifico el circuito una última vez conectando los polos negativos, como se observa en el circuito de la derecha




En esta semana concluimos que nos faltó investigación para la parte mecánica de las bombas hidráulicas y esto nos llevó a ir aprendiendo sobre la marcha, comprando finalmente una bomba hidráulica sumergible.
​
Finalmente, se procedió a ambientar la pecera.

Se comenzó con el estudio del sensor de temperatura sumergible DS18b20.
Observando la data sheet vimos que el circuito del sensor funcionaba con una resistencia pull up de 4k7 ohms.

Conocé al equipo

Ignacio Olazabal
Número de estudiante: 239937
Carrera: M6A IE
Responsable de la página web
​

Ramiro Sosa
Número de estudiante: 243473
Carrera: M6A IE
​
Reflexiones
Ignacio Olazabal
Con este proyecto tuve una gran oportunidad para paulatinamente insertarme en el mundo de los proyectos de ingeniería en electrónica adquiriendo nuevos conceptos y refinando otros.
​
Tuve la posibilidad de aprender a manejar Thingsboard para crear modelos que utilizan IOT, lo que me llevó a instruirme a como enviar telemetría desde un dispositivo a otro, como manejar atributos y crear dashboards para controlar el proyecto. Todo esto me lleva a querer en un futuro seguir creando proyectos que utilicen IOT.
​
Dado la temática que elegimos, aprendimos mucho sobre el ecosistema acuático y sobre como armar circuitos de flujos de agua, en especial como tener en cuenta las diferencias de presión y sobre los distintos tipos de bombas de agua. También aprendí que al momento de trabajar con una temática desconocida, es muy importante hacer una completa investigación consultando con gente experta en el tema.
Continuando con lo anterior, aprendí sobre la importancia del trabajo en equipo, el intercambio de ideas, la cooperación y la buena organización, para esto último fue una gran herramienta el uso de diagramas de Gantt.
​
Por todo esto, encuentro que este proyecto fue una gran oportunidad de crecimiento para mí a nivel personal y profesional.
Ramiro Sosa
El proyecto fue una gran experiencia de aprendizajes e introducción a nuevos conceptos. En lo personal es una materia que me interesa mucho ya que te da una gran sensación de lo que se siente trabajar en proyectos de electrónica con un equipo, es él intercambiar ideas, opiniones, distintas teorías o modelos del proyecto que cada uno envisiona.
​
Sin duda el hecho de poder trabajar con nuevas tecnologías, tanto la conexión WI-FI utilizando el protocolo MQTT, cómo la introducción a nuevos microcontroladores, hicieron la experiencia aún más gratificante. Tuve la oportunidad de trabajar con GitHub, de aprender maneras más seguras y buenas prácticas del coding. Entendí nuevos conceptos sobre el trabajo con la nube en thingsboard tanto enviar consultas en tiempo real desde y hacia el micro, el poder diferenciar entre telemetría y atributos, y saber que es necesario enviar desde la placa hacia la nube, diferenciar que hay que programar en la nube, cómo en el micro. Así poder ser más precisos con el código y no correr líneas innecesarias en el micro(responsable de actuar sobre las decisiones del usuario, y ese debería ser su foco).
​
Por otro lado frente a la electrónica el desafío de encontrarse con sensores y periféricos que corran con los Node MCU y adaptar sus funciones, sus bibliotecas a un nuevo ambiente. Trabajar con altos voltajes, y encontrar la forma de controlar dichos actuadores con la placa, fue otra de las tantas cosas que me llevo.