Acuario automatizado con Arduino

Hola a todos.
Pongo el dibujito primero por si lo ven y deciden pasar directamente a otro hilo :laughing: :joy:

Bueno, al lío:
He comenzado a diseñar un nuevo acuario automatizado (100 litros), mientras espero los tropecientos accesorios que he comprado en Aliexpress :joy:
La automatización es para independizarme de la mayoría de las tareas de mantenimiento de un acuario (he tenido varios y grandes acuarios) que suele ser uno de los motivos por los cuales nos cansamos y abandonamos esta afición (cambios de agua peleando con la parienta, olvidarnos de ponerle la comida a los :tropical_fish:, echar el fertilizante para las plantas, cerrar por la noche el CO2 y la pantalla de leds...).
Por otra parte intentar que se parezca a un entorno natural, algo como un lago, donde entra agua de forma continua, amanece y anochece, es decir, crear un ecosistema.

Para este proyecto utilizaré los siguientes elementos, (y unas consultas para los sabihondos del foro al final del hilo - si no se durmieron antes - :joy:

1.- Una fuente de alimentación de 220V CC a 12V DC de 20 amperios.

2.- Arduino Uno (en anteriores proyectos con acuarios de 500 litros he utilizado Arduino Mega con un display: Acuario Automatizado).
El Arduino Uno se alimenta por un step down de 12V a 7V DC. Lleva un reloj RTC3231.

3.- Antes de la entrada de corriente a la fuente de alimentación hay un circuito independiente del Arduino formado por un sensor de nivel de líquido colocado por fuera del cristal, en la mitad de la altura, para detectar fugas de agua y a través de un Relé cortar la corriente de todo el sistema.

3.- Una pantalla de aluminio con 7 leds de alta potencia (12V DC, 0,7 amperios, 12 watts, 700 lúmenes): cuatro blancos, dos Grow Leds y uno azul (este útimo para imitar la "luz de luna" por la noche).
Los leds están controlados por tres Mosfet, reproduciendo el efecto amanecer y anochecer y lleva ventiladores de ordenador de 12 votios controlados por un Mosfet para mantener la temperatura de la pantalla por debajo de los 40 grados. Agregar que normalmente los leds están encendidos a mitad de intensidad (menos desgaste).

4.- Tres sensores de temperatura: en la pantalla de Leds, en el agua y dentro de la caja que contiene el Arduino, los Mosfet, los Relés y demás elementos electrónicos.
Surbyte en su momento encontró una librería asimétrica, que almacena mediciones sin enlentencer el programa y entrega el último dato almacenado (o era el primero?) al requerirlo.

5.- Un solenoide que controla una válvula de agua, que a su vez la recibe de un filtro externo de dos recipientes (carbón activado y de partículas) y se abre unos segundos cada hora.
El nivel del acuario se mantiene siempre estable por un rebosadero que drena el exceso de agua a un desagüe.

6.- Un solenoide que controla la entrada de CO2 durante las horas de luz :sunflower:.

7.- La alimentación de los :fish: :tropical_fish: por un alimentador programable por wifi, vaya modernidad :astonished: (en proyectos anteriores "espachurraba" un alimentador y lo automatizaba para controlarlo con arduino.

8.- Un filtro exterior (filtración mecánica y biológica).

9.- Un calentador de agua, que se controla con un Relé normalmente abierto. Estos cacharros traen un sensor de temperatura y termostato incorporado, pero no me fío, cuando la temperatura del agua baje de los 25 grados lo enciendo y si supera los 28 lo apago. :snowflake: :fire:

10.- Un depósito de fertilizante accionado por una bomba peristáltica dosificadora de 12V DC que administra una pequeña cantidad de fertilizante cuatro veces al día :stopwatch:

La primera Consulta:

Como en este proyecto no pondré un display, la activación y demás yerbas de cada mecanismo irá listada en el Puerto Serial del Ide de Arduino, mi consulta es qué app del móvil (iOS) me permitiría ver en el iPhone el puerto serie, conectando al arduino un módulo bluetooth / Wifi.
Aclaro que he mirado y hay muchas aplicaciones pero parece que todas son para dar órdenes al arduino, no he encontrado nada que ponga que puedan visualizar el puerto serie.

Segunda consulta:

En mi último acuario (tenía 500 litros, 1,5 metros de largo) utilizaba una pantalla con 35 leds de alta potencia.
Si mal no recuerdo cada uno de este tipo de leds consume 0,7 amperios, lo cual viene a ser algo así como 25 amperios.
Reitero mi ignorancia en cuanto a electrónica se refiere, el tema es que utilizaba una fuente de alimentación de 30 amperios, si era menor los leds no se encendían correctamente, parpadeaban.
En este proyecto en total habrá 7 leds (aproximadamente 5 amperios) por lo cual no se si una fuente de alimentación de 20 amperios será demasiado...
Podría utilizar una fuente de menor amperaje?

Tercera consulta:

En realidad es más de software, o mezclado, vamos. (que te conozco Surbyte y compañía, que no dejan pasar nada) :grimacing:
Siempre he utilizado para el corte de seguridad en caso de fugas de agua por rotura de la urna de cristal, el flotador que no es más que un interruptor.
Alimento al Relé y al sensor de flotador desde un enchufe que tiene además salida de 5V DC para cargar móviles, y el Relé está en posición NC.
Cuando el agua baja de un cierto nivel, el flotador cierra el circuito, manda los 5 voltios al Relé y Pafff!! se corta la corriente de TODO.
Como el sistema es independiente del Arduino, hasta que no se solucione el problema ( o se invierta la posición del sensor de flotador), no volverá a cerrarse el circuito del Relé.
O sea que si utilizo el sensor de nivel ese que va pegado al cristal por fuera, deberá ir DENTRO del programa del Arduino, ergo, cuando manda la señal habrá que poner un condicional para que no se active nada :roll_eyes: :thinking:.
Con qué orden lo harían?

Bueno, espero que me puedan ayudar con mis consultas.
Aún no he terminado de escribir el programa, cuando esté avanzado o si alguien tiene interés lo pondré.
Gracias a todos.

Cualquier emulador de terminal bluetooth te sirve.
No conozco IOS pero estoy seguro que debe de haber varios que te sirvan.

Hola, gracias por responderme.
No se si andará por aquí alguien que efectivamente utilice o haya utilizado el móvil para leer el puerto serie, pero antes de meterme a trastear con bluetotth y otras yerbas me gustaría conocer la experiencia de alguien que lo ha hecho.

"alguien que efectivamente utilice o haya utilizado el iPhone para leer el puerto serie", deberías decir. :wink:

Porque yo lo he usado hasta para programar, pero mi móvil es un Samsung por lo que tiene Android.

Usé y uso Serial USB Terminal y Serial Bluetooth Terminal.
Básicamente son como la terminal de la IDE aunque más completas (como casi todos los emuladores de terminales).

Y como dije más arriba, aunque no aplica a tu consulta, el que más de una vez me salvó para retocar y/o subir código a alguna placa es ArduinoDroid (un fork de arduino IDE para móviles android).

Desconozco si hay versiones para IOS.

Saludos

Gracias MaximoEsfuerzo.
En lo relacionado con el tema de la comunicación serie por Bluetooth con el iPhone (ahora si, verdad? :grin:) he sido MínimoEsfuerzo, lo reconozco.
Es que ya en su día, hace unos años, me metí con los módulos bluetooth y no recuerdo porqué me lié tanto que los abandoné lamiéndome las heridas :rofl:.
Con respecto a Wifi, había solucionado el tema bastante bien con BLYNK, que lo mismo debería volver a mirarlo (MínimoEsfuerzo) porque lo mismo por ahí algo se puede sacar.
Como siempre repito soy muy básico en electrónica pero me pondré a ello.
Si no abandono en el intento y acabo conectando el portátil al Arduino para ver el puerto serie y re programar algo pues lo mismo edito o completo el proyecto más adelante.
Gracias.

Desde ya que puedes hacerlo como gustes,
Si fuera mi proyecto, yo usaría un ESP32 porqué? Potencia primero. Memoria flash y RAM.
Todos los pines son ADC de 12bits si los necesito (aunque tienen algunos detalles), mas PWM si fueran necesarios, mas timers, mas de todo.
No es un MEGA pero tiene de sobra para este proyecto y ademas tiene WIFI y BT.
Para que WIFI? Para tener una interfaz con tu IOS
Epa pero no se nada de programar con IOS, bueno ese es otro tema.
Lo puedes ver en una Mac, PC, Linux, Android o IOS porque es una IP a la que accederas y podras controlar todo.
Si eso no te motiva?
No tienes que usar pantallas TFT aunque.. reconozco que el control manual tmb es importante y cómodo.
El esquema quedaría como esta solo cambia que el ESP32 trabaja con todo a 3.3V y requiere 5V. Pero ajustar tu DC DC a 5V no es problema.

Hola Surbyte.
Pues tengo un par de esos guardados.
Los utilizaba con BLYNK.
Pues a rescatarlos y empezar a currar el tema.
Si lo logro :face_with_open_eyes_and_hand_over_mouth:lo pongo aquí por si a alguien le pueda ser útil, aunque investigaré en el foro porque supongo habrá desarrollo de estos temas.
Gracias.

Mi consejo es que como siempre vayas por partes. Primero con lo que estas cómodo.
Usa el ESP32 como si fuera un Arduino sin pensar en WIFI y luego agregas eso.
También considera la opción manual, alguna TFT y te aseguro hay muchas.
Si estuviera en tu posición (España, Canarias) he visto una placa que lo tiene todo TFT y ESP32-C3 si mal recuerdo pero.. no se que tal para los accesos entrada salida.
La busco y la comparto. Es una belleza estética y te resuelve muchos dolores de cabeza
Espera a ver si puedo encontrarla.

He editado el hilo inicial y puesto una tercera consulta.
Gracias

Moderador
No me entendiste.
La idea era que TU pusieras los enlaces de cada hilo que ya habias comoenzado para tener un contexto y no tener que volver a responderte como si no lo hubieras hecho.
Al poner de nuevo las preguntas estamos de nuevo doble posteando.
No desviemos el tema en el hilo. Si tienes consultas que sean por privado.

Los temas en cuestión los agregué yo anoche.
Toda consulta debe seguir el hilo correspondiente.
Tienes mas dudas, nuevo post en este hilo.
No regresar al primero porque nadie va a ir a ver que novedades has puesto en el primer post.
A menos que pongas
EDITO fecha 28/09/23
Pregunta.. bla bla bla pero me parece compicado.
Puedes si quieres usar el post inicial a modo de catálogo para relacionar las cosas
Pones el titulo de la consulta y lo indicas con el número de post.

Hola Surbyte, rebuscando entre los componentes que compré alguna vez encontré este Arduino:
imagen
imagen
lo he probado haciendo las mismas conexiones que con el Arduino Uno pero en el listado de placas no encuentro la que corresponde, probé con varias pero pone error al compilar la placa.

Crees que cumple con los requisitos para reemplazar al Arduino Uno y luego hacer una conexión wifi / Bluetooth?
Cual es el nombre de la tarjeta para compilarla correctamente?

Gracias.

Debería ser la Wemos D1.

Saludos

Hola Surbyte y MaximoEsfuerzo.
Me he liado "cacharreando" con módulos NODEMCU, ESP8266, Arduino Uno Wifi (la placa es la LOLIN(WEMOS) D1 R2 mini) pero no me han terminado de tranquilizar la mente :rofl: :rofl: :rofl:. Son complicados, me resultan difíciles de configurar, pero lo peor es que después de emplear un montón de horas no he logrado resultados mínimamente aceptables, incluso al programar los mecanismos del acuario.
Pero tenía un Arduino Mega + Wifi
image
En su momento (años ha) también me lié con esta placa infructuosamente, pero ahora encontré una página excelente:
Configurar un Mega + Wifi
Por primera vez pude configurar el Mega siguiendo los pasos del artículo.
También se entiende las posiciones de los 8 jumpers y el de comunicaciones.
Resulta divertido ver como crea una dirección desde la cual ejecutar órdenes.
Pero...
Instalé el programa que llevo escrito hasta ahora (con un Reloj DS3231, un display de 7 segmentos) sin problemas. El Mega tiene un montón de pines (incluso para colocar sin problema un display táctil).
Pero...
No entiendo cómo relacionar el Mega con su parte Wifi, pues entiendo que para comunicarse con cada parte se debe colocar los jumpers en posiciones diferentes, supongo que para comunicar los dos módulos no habrá que estar cambiando las posiciones de los jumpers, no? Digamos que si es así es poco práctico, por no decir inútil.
Alguien ha experimentado o implementado algún proyecto con esta placa que me sirva como punto de partida?
No me voy a "bajar del burro" ahora :joy:. Seguiré con mi proyecto con este Arduino Mega aunque no pueda finalmente conectarlo por wifi, pero me dá pena que ahora que he comprobado que funciona todo, no pudiese hacerlo.
Se que muchas veces tengo la solución delante de las narices y no lo veo, pero espero que alguien me ilumine.
Por si le puede servir a alguien, pongo el esquema de conexiones de los jumpers y el selector de canal:

Un saludo.

Esa placa siempre ha dado problemas a sus dueños.
Te di recomendaciones en el post#8, por qué elegiste algo con tantos pines si no necesitas tantos?

Nop.
La de la foto del post #11 es la Wemos D1 (y casi con 99% de seguridad, no es R2).

La Wemos D1 mini es ésta


Imagen de wemos.cc

Hola, gracias por las aclaraciones.
Me ha surgido un problema al preparar el circuito de stop de emergencia.
Brevemente, consiste en un sensor de flotador que cierra un circuito formado por un relé cuando el agua del acuario baja de cierto nivel.
El Relé está normalmente cerrado y va a una fuente de alimentación (220V AC a 12V DC) que alimenta al Arduino y demás circuitos relacionados con el funcionamiento del acuario.
Pongo una imagen con el circuito:
image

Lo he probado y aparentemente funciona bien, al mover el flotante se enciende el Relé (NC) y corta la alimentación a la fuente de 12V, pero al medir con el multímetro la salida hacia dicha fuente leo unos 5 voltios DC, va fluctuando entre 4,8 a 5,2.
Que estoy conectando mal?
Gracias.

Puedes compartir un diagrama con las conexiones eléctricas? Una foto de uno dibujado a mano estaría bien. Donde indiques entre cuáles puntos estás conectando el multímetro

Por lo pronto no me queda claro a dónde llegan los hilos azul y rojo. Es una salida USB de 5V?

La fuente de la foto no recibe 5V de ningún lado.

Marca en el esquema entre qué puntos haces la medición, como indica @mancera1979 , para mayor claridad.

Hola, el enchufe es de los que tienen dentro una plaquita con dos salidas de 5V DC.
De la toma de 220V AC va un polo directo a la fuente de alimentación y el otro a la entrada NC del Relé. La salida COM del Relé va a la otra entrada de la fuente de alimentación.
Con la salida de 5V del enchufe alimento al Relé y al sensor de flotador.
Cuando el flotador corta la corriente, mido con el multímetro las salidas que tiene la fuente de alimentación (3 negativas y 3 positivas) y las mediciones pasan de 12V (circuito cerrado) a más o menos 5V (Relé encendido).
Entiendo que al activarse el Relé las mediciones del multímetro en las salidas DC de la fuente de alimentación debería ser cero, verdad?
Espero que quede claro ahora.

No, no queda claro pero creo que entendí.

Deja más de 10 minutos la fuente desconectada (relé activado?) y mide nuevamente.
Piensa que si la fuente no tiene una carga, los capacitores de la misma tardan un buen rato en descargarse, seguramente esa tensión es la que estás midiendo.