Control de humedad avanzado con Arduino [DIY]

24

Como sabéis, en las zonas costeras es necesario mantener la humedad a raya en las viviendas si no quieres sorpresas indeseadas, así que un deshumidificador puede ayudar bastante como hemos dicho en ocasiones. El problema es que siendo un Nergizo con tarifa DH y WIFI en casa el humidostato del pleistoceno que trae integrado el deshumidificador me “sabía a poco”…

Control de humedad avanzado

El control de humedad que he construido con Arduino tiene las siguientes funciones:

  • Doble punto de consigna de humedad relativa: en horario valle de la tarifa de discriminación horaria aprovechamos para deshumectar bastante (60%) mientras que en horario punta la consigna se establece en 70% para tener la humedad controlada pero no ocasionar mucho gasto. Se configura también un diferencial en el código Arduino.
  • Parada del deshumidificador en horas nocturnas: el controlador detiene el equipo en las horas que estoy durmiendo ya que está en un dormitorio y hace cierto ruido, también se diferencian días de semana de fines de semana.
  • Temperatura de rocío: el sistema calcula constantemente la temperatura de rocío, en principio solo para conocer el dato, pero se podría implementar algún control en base a este valor en el futuro
  • Volcado de datos vía WIFI: el controlador vuelca los datos de temperatura, humedad, estado de funcionamiento del deshumidificador y temperatura de rocío constantemente en en nuestra cuenta de Thingspeak para que podamos consultar históricos en forma de gráficas o descargar los datos en .csv posteriormente. Las gráficas serían algo así:

Gráficos Thingspeak

  • Vía App móvil también podremos consultar estos datos en tiempo real o revisar históricos en forma de gráfico, muy útil el widget para Android “IoT ThingsSpeak Monitor Widget”, que sería algo así (el gráfico sale al pulsar el icono que esta debajo a la derecha de cada valor):

Captura de pantalla humedad

  • A través del servicio IFTTT puedo programar alarmas para que por ejemplo si la temperatura baja de 16ºC me envíe un mensaje vía Telegram o una notificación al móvil.

Vamos a intentar conseguir todo eso sin superar mucho los 20€ de coste de material.

Fulgencio, veo que te cae una gota de sudor, como vas a ver esto no es tan complicado de hacer, no hace falta más que unir los elementos que te voy a decir a continuación sin necesidad de soldar nada, después tendrás que cargar el programa que te voy a dar poniéndole antes tu usuario y contraseña de Thingspeak y el nombre y clave de tu red WIFI. Cualquiera lo puede hacer.

Esquema control humedad

Este sería el esquema de montaje básico, parece muy complicado pero como hemos dicho se trata solo de “pinchar” cables en los sitios marcados, menos con el tema de conectar el enchufe al relé, para eso recomiendo comprar una prolongación 230V macho-hembra y cortarla, es mucho más sencillo que comprar enchufe macho, enchufe hembra y cable.

Esquema control humedad avanzado Arduino

Clic en la imagen para ampliar

Aquí tenéis una foto del montaje beta para pruebas todavía abierto:

Control humedad

La caja la he diseñado con FreeCad a medida y la he impreso con esta impresora 3D, pero no es 100% necesaria, se puede utilizar una caja de empalmes o similar, de todas formas si alguien quiere el archivo .stl para imprimir la caja que he usado yo que lo pida en los comentarios.

Código control humedad

 

 

Más funciones aún

Como he dicho al principio, mi prototipo interactúa con el servicio de mensajería Telegram de mi Smartphone enviándome un mensaje cuando la temperatura baja de cierto límite, esto es muy sencillo de hacer, no es necesario tocar el código sino configurar un par de cosas en nuestra cuenta de ThingSpeak e IFTTT. Si alguien hace el controlador y quiere implementar esto que lo diga en los comentarios y amplío esta información, de momento ya tenéis “deberes” suficientes.

También queda pendiente una V2 en la que se añadirá una función para poder activar o desactivar el relé vía Smartphone o similar.

Materiales

Esta sería una lista de materiales básicos para el montaje:

Total: 21,8€

Estos no son exactamente los elementos que he usado pero los de la lista deberían de valer, si tienes algún problema cuéntanoslo en un comentario e intentamos solucionarlo.

24 Comentarios

  1. Muy buen brico. Esto de arduino tiene una cantidad de aplicaciones increibles. A mi me gustaria poder usar un arduino para controlar unas persianas motorizadas que tengo en casa que van con motores somfy rts y un mando tellis 6, buscando información he visto algo. Pero no lo explica demasiado bien. Si podeis echarme una mano de donde buscar os lo agradeceria. Salu2 y me encanta fulgencio y sus menesteres, seguid asi…

    Thumb up 0 Thumb down 0

    • Pues no tengo mucha idea de persianas la verdad, pero supongo que si lleva un motor a 230V con un receptor para el mando podrías poner el arduino en paralelo con el montaje de alguna forma, no lo veo muy complicado aunque igual me estoy columpiando 🙁

      Si tienes mucho interés puedes abrir un hilo en el foro sobre el tema: nergiza.com/foro

      Thumb up 0 Thumb down 0

    • No se como funciona exactamente ese mando a distancia. Si es por infrarrojos puedes usar un Broadlink rm Mini (lo que hace es copiar al mando original) para hacer las programaciones a través de la app. Si es con radio frecuencia también hay un Broadlink rm pro que lleva radio frecuencia e infrarrojos. El primero vale unos 12 euros y el segundo unos 30. Mira algunos vídeos por ahí a ver si es lo que necesitas.

      Thumb up 0 Thumb down 0

  2. Pregunta: en un equipo como el deshumificador es correcto hacer on/off con la alimentación eléctrica en vez de con su propio control, no se ve afectado el circuito frigorífico?

    Thumb up 0 Thumb down 0

    • Yo he visto manuales de deshumidificadores que decían que no se apagasen desconectándolos de la corriente, sino poniendo su selector en posición off y esperando a que se apagasen, para que bajase su temperatura. Pero no se hasta qué punto eso podría ser un problema.

      Thumb up 0 Thumb down 0

    • El mío particularmente es lo que hace cuando corta por humidostato, no tienen ningún sistema que espere para bajar su temperatura como dice Swapper, pero quizás alguno si lo tenga, de todas formas no veo esta operación muy crítica, mucha gente pone un programador horario en el enchufe del deshumidificador y nunca he visto que haya pasado nada.

      Thumb up 0 Thumb down 0

      • En el manual del Delonghi ARIA DRY LIGHT DNC 65 pone “Antes de desenchufarlo de la corriente espere que el ventilador se pare también: pues el ventilador sigue funcionando alrededor de 2 minutos después del apagado para que se enfríe la resistencia.”

        Thumb up 0 Thumb down 0

        • Eso es porque trae resistencias eléctricas para calefacción incorporadas, no por le propio deshumidificador. Pasa lo mismo con los convectores (resistencias + ventilador) aunque la mayoría no traen esa función incorporada, el problema es que si para el ventilador al mismo tiempo que las resistencias se quedan sin poder disipar el calor que queda en ellas y podrían llegar a quemarse.

          Thumb up 0 Thumb down 0

      • El que yo tengo actualmente tampoco espera nada, cuando se para (se sabe fácilmente por el ruido), para también el ventilador.

        Thumb up 0 Thumb down 0

  3. Yo he hecho lo mismo pero usando la plataforma de domótica de Wirelesstag: Humedad de consigna para el horario valle, horario punta, apagado con apertura de ventanas y encendido retardado una vez cerradas las ventanas. Mi forma de hacerlo es más cara pero no hay que tocar cables (todo inalámbrico menos un enchufe Belkin Wemo).

    Thumb up 0 Thumb down 0

    • El problema de esto es el que comenta muchas veces la gente por aquí, dependes de una plataforma/empresa externa, lo cual puede dar problemas en determinados momentos.

      ¿Cómo has resuelto lo del registro de temperatura, humedad, etc…? ¿Tiene esa función Wirelesstag?

      Thumb up 0 Thumb down 0

      • Si, depender de una plataforma significa que si la plataforma por lo que sea tiene un problema, el programa que haces no funciona. Y lo he sufrido unas cuantas veces (tanto en casa como en el trabajo), ya que aunque les pongas una incidencia, como están en EEUU, hasta que no despiertan al día siguiente no hacen nada. Pero en mi caso, como lo que uso de relé son Belkin Wemo y Belkin Maker, y éstos se pueden manejar de forma independiente de la plataforma de domótica (con el cliente de Android de Belkin en mi caso), puedo salir del paso cuando Wirelesstag falla. Además, tampoco lo uso para aplicaciones críticas (calefacción y control de humedad), así que puedo asumir que una vez al mes (por decir algo) no me obedezcan, ya que el control directamente con la aplicación de Belkin no me suele fallar. Y como también puedes tener reglas IFTTT puestas por si el programa falla, con eso se tiene un plan alternativo automático.

        El registro de temperaturas y humedad viene de serie con Wirelesstag: https://cdn.shopify.com/s/files/1/0172/1692/files/top_6_mobile.mp4

        Se programa con lenguaje Javascript que tiene extensiones para poder trabajar con todos los sensores de Wirelesstag : http://wirelesstag.net/kumoapp , a parte también se puede trabajar via JSON

        Yo lo uso desde hace años, me es muy práctico, aunque hay que asumir que a veces puede fallar, por lo que hay que tener un plan B preparado. Y asumir también que si la empresa cierra, te comes todos sus sensores.

        Thumb up 0 Thumb down 0

        • Interesante, aunque para mi algo hecho por mi mismo siempre resulta más flexible, ya me ha pasado más de una vez que me meto a hacer algo con un equipo que supuestamente “es para eso” y cuando quiero hacer “algo más” me quedo trabado porque el equipo no lo permite. Por ejemplo me ha pasado que al hacer una monitorización de temperatura con alarmas GSM más tarde he querido que la alarma solo se dispare cuando se supera la temperatura dos veces en un periodo de tiempo determinado y ha sido imposible implementar esta instrucción con el equipo “comprado”

          Thumb up 0 Thumb down 0

  4. Hola

    Lo primero enhorabuena es un proyecto genial, que también serviría para controlar un radiador eléctrico.
    La idea de añadirle control GSM para cuando no hay wifi también es excelente, solo añadiendo un modulito de estos que vale menos de 10€. (programación de codigo y tarjeta sim aparte)

    http://www.ebay.es/itm/SIM800L-GPRS-GSM-SIM-Board-Quadband-Quad-Band-Antenna-for-MCU-Arduino-W0017-/201698758093?hash=item2ef62ecdcd.

    Por otra parte tengo entendido que no es buena idea alimentar el arduino uno con 9V por el jack ya que a la larga te puedes cargar el convertidor DCDC por que la sobrecalientas, y no he visto que la caja tenga rejilla de ventilación.

    Thumb up 0 Thumb down 0

    • Lo de añadir hardware es bastante sencillo y económico, el problema está en implementar el código para que se utilice jejejjee…

      Lo del jack no lo sabía, donde lo has leído?? no he encontrado información sobre eso, en mi ignorancia supuse que ese conector estaba ahí para eso, ¿Si no para que sirve? creo que no admite menos de 7V. De todas formas lleva ahí más de un mes 24h y sin problemas.

      Un saludo

      Thumb up 0 Thumb down 0

      • Pues exactamente lo del jack no recuerdo donde lo vi, pero en youtube hay bastantes videos que hablan de como alimentar el arduino y siempre coinciden en que alimentar el arduino con una pila de 9V (de las de petaca pequeñas) es muy mala idea porque tienen muy poca capacidad y se acaban enseguida y lo siguiente que dicen es que de los 9V sobran 2 o 3V que lo único que hacen es calentar la DCDC. Ya que el jack va a la DCDC para que sea flexible la forma de alimentar el arduino. Que yo realmente le veo su lógica porque cuando alimentamos el arduino desde el pc por el usb son 5V y todos los “periféricos” funcionan a 5V o a 3V.

        Supongo que esto de la alimentación tiene mas importancia cuando se alimenta con baterías ya que ahí importa el consumo del conjunto para que duren mas tiempo, En tu caso alimentándolo con una fuente ACDC lo que sea mas cómodo, total si se estropea el arduino son menos de 5€ y 15min de montaje y cargar codigo…tampoco es una catástrofe.

        En lo de añadir hardware tienes razón lo complicado es el código… yo ahora he comprado unos servos, motor paso a paso y pantalla lcd i2c, que de eso hay bastantes ejemplos. Lo del gprs ya llegará que lleva mucho tiempo.

        Cuando termine con los motores si que quiero probar el esp 8266 wifi el que tu usas, hay muchos ejemplos pero por lo que veo va con comandos at y dicen que eso es un jaleo, pero he visto videos en youtube que con una especie de conversor usb con una plaquita que luego tiene 4 pines lo programan mas fácil.
        Tu como lo has hecho?

        Precio por precio he encontrado este otro modelo de ESP 8266 ESP12 que tiene más pines aunque no se si es mejor o peor.

        http://www.ebay.es/itm/ESP8266-ESP-12-adaptador-MODULO-WIFI-ARDUINO-SENSOR-Serial-WIFI-ADC-Wireless-/201787992994?hash=item2efb806ba2

        La próxima adquisición para el arduino sera un modulo wifi pero antes de comprarlo he de encontrar una practica o proyecto en el que este bien explicado sino… es una locura ya que mis conocimientos de programación son cortos.

        Muchas gracias y sigue así!!!

        Thumb up 0 Thumb down 0

        • Con servos también hemos hecho alguna cosa: https://nergiza.com/como-hacer-una-rejilla-motorizada-con-control-de-temperatura/

          Por otro lado, lo que tu dices de programar con usb una ESP8266 es para programar la propia placa, que creo que también es posible (sin arduino), yo en mi caso no lo he hecho así, le envío los comandos vía arduino.

          Tengo que reconocer que no sería capaz de programar este código “de cero”, me baso en otros códigos y voy modificando lo que es necesario, aunque a veces tengo que pedir ayuda también.

          Te recomiendo que empieces con un proyecto ya hecho como este y vayas metiéndole modificaciones para ir aprendiendo, luego puedes pasar ha hacer uno de cero.

          Thumb up 0 Thumb down 0

  5. Carlos esto es una chulada…

    ¿Sabes de algún lugar en el que aprender a programar Arduino?

    Yo en mis tiempos no se me daba mal el Turbobasic…. jeje…. y me gustaría intentar alguna cosa que además implique la gestión de aparatos.

    Thumb up 0 Thumb down 0

  6. He estado hablando con Fulgencio, apoyados en la barra de un bar y con sendos txikitos en la mano, y los dos estamos de acuerdo en que podías haber programado el modulo ESP8266, usando el propio IDE de Arduino, para que por un GPIO leyera el sensor de humedad y por el otro accionará el relé. Si además querías usar el módulo de reloj, entonces haber optado por este otro gadget:

    https://www.amazon.es/tinxi%C2%AE-NodeMCU-Internet-Desarrollo-ESP8266/dp/B01GCK3J40/ref=sr_1_2?ie=UTF8&qid=1485374076&sr=8-2&keywords=esp8266

    Que tiene mas GPIOs y también se puede programar con el IDE de Arduino. De hecho es el mismo microcontrolador, con mas GPIOs.

    Menos espacio, menos consumo (fundamental para un Nergizo) y circuito mas simple (te ahorras el cableado de la tarjeta de Arduino)

    Thumb up 1 Thumb down 0

    • Está claro que todo es mejorable, y más aún en las barras de bar, seguro que acto seguido Fulgencio habló sobre la forma de mejorar los TDI para que den más potencia y no saquen NOx por el escape y de paso solucionar el conflicto árabe-israelí, después se tomó otro txikito.

      Había oído algo sobre programar directamente el ESP, pero preferí hacerlo a la vieja usanza por dos motivos:
      -No romperme más la cabeza
      -Dejar preparado para futuras ampliaciones (más relés)

      De todas formas, aunque me ahorrase algún cable tendría que poner una fuente de 3,3V, además de la de 5V que necesito para el relé.

      Gracias por la info!

      Thumb up 0 Thumb down 0

Dejar respuesta

Please enter your comment!
Please enter your name here