Cómo crear desde cero un multisensor de viento, lluvia y luminosidad para eedomus (Parte I)

    • Nuevo tutorial paso a paso para construir un multisensor de viento, lluvia y luminosidad que integraremos después en el controlador domótico eedomus.

    Seguimos con nuestro verano más maker. Después de nuestro tutorial “por fascículos” sobre cómo crear un sensor de lluvia DIY para el Home Center 2 de Fibaro, hoy iniciamos un nuevo tutorial por entregas pero esta vez vamos a construir un multisensor de viento, lluvia y luminosidad. 

    Este nuevo multisensor DIY está pensado para su integración en el controlador domótico eedomus, aunque seguramente no sería difícil hacer las modificaciones oportunas en los programas que hemos escrito para integrarlo en otros controladores.

    Multisensor DIY

    La idea de construir este sensor surgió por dos motivos. El primero, y más importante, el tener cierto control para el repliegue de los toldos por viento, lluvia o por aparición de nubarrones. El segundo, aprovechar un anemómetro antiguo de un sistema domótico de Honeywell, llamado Hometronic, que lo traía para esa función y que ya no estaba en uso.

    Hay varias estaciones meteorológicas que pueden usarse para esta función con eedomus, como las de Netatmo, Qubino, o Popp, además de otras. Yo me decanté por una de ellas y he de reconocer que la experiencia no ha sido buena, por varios motivos. El único que mencionaré aquí es el tiempo de reacción a un evento suele ser alto, normalmente por cuestiones de eficiencia energética, ya que suelen ir alimentados con pilas o baterías solares. Este tiempo de respuesta, que suele estar entre 3 y 10 minutos, es muy alto para esta aplicación, por ejemplo, en el caso de ráfagas de viento fuertes y pueden causar daños en el toldo antes de que este reciba la orden de repliegue.

    Vamos a comenzar enumerando y describiendo los elementos que necesitaremos para construir el sensor y en próximas entregas de este tutorial veremos cómo se conectan estos elementos y finalmente escribiremos los programas necesarios para obtener los valores medidos y comunicárselos al controlador eedomus.

    Material necesario

    • Una Raspberry Pi con conectividad WiFi o puerto LAN. En nuestro caso hemos elegido el modelo Raspberry Pi Zero W que, aún sin puerto LAN y con un único puerto USB, viene con WiFi y Bluetooth y tiene exactamente el mismo puerto GPIO de 40 pines que el resto de modelos Raspberry Pi (posteriores al modelo Pi 1B+). El puerto GPIO es necesario para conectar los distintos sensores que hemos previsto. Este modelo tiene la ventaja de ser más económico que los demás, aunque a cambio tiene menos potencia de cálculo y la desventaja de que necesitaremos soldar en la placa el conector de 40 pines para las conexiones al puerto GPIO (también podríamos soldar directamente los cables necesarios en el agujero correspondiente).

    Raspberry Pi Zero W

    • Un anemómetro basado en un imán y un interruptor de lengüeta (Reed switch), como es el caso del anemómetro antiguo que he reciclado para este proyecto. Después comentaremos brevemente cómo funciona, para entender mejor cómo obtendremos la velocidad del viento. Es el elemento más costoso de los que emplearemos. Este modelo, de la marca Eltako, es externamente idéntico al que he integrado en el prototipo.

    Anemómetro

    • Módulo y placa de detección de lluvia. Este componente es muy económico y puede encontrarse fácilmente. La placa consiste simplemente en dos pistas separadas que la cubren casi por completo. En cuanto una gota de agua cae entre ambas, la resistencia eléctrica es menor, lo que es detectado por el módulo, que enviará una señal de detección a la Raspberry Pi que conectemos. El módulo tiene un potenciómetro de ajuste que permite regular su sensibilidad, para que envíe esta señal simplemente con humedad entre las pistas, o en el otro extremo, que no lo haga hasta que no hayan caído unas cuantas gotas de agua.

    Placa de detección de lluvia

    • Sensor de luminosidad TSL2561. Este componente es también muy económico. El funcionamiento de este sensor es bastante más complejo, ya que tiene dos diodos detectores de luz. Uno de ellos sensible a la luz infrarroja y el otro tanto a la infrarroja como al espectro visible de la luz. Con la Raspberry Pi tendremos que leer ambas mediciones de luz –cada una de ellas representada mediante 16 bits–, para luego procesarlas y obtener el valor de luminosidad percibido por el ojo humano. La comunicación entre el sensor y la Raspberry Pi se hace mediante un bus especial de dos hilos, por tanto de tipo serie, denominado I²C. El lenguaje Python, que emplearemos para los programas, tiene unas funciones que esconden todos estos detalles y permiten leer los valores de forma sencilla.

    Sensor de luminosidad TSL2561

    • Fuente de alimentación para la Raspberry Pi. Hay muchas opciones disponibles de distintas potencias y precios. Un alimentador de 5 voltios y 2 amperios es más que suficiente. En el caso particular del que yo he construido, al ir alojado junto a un transformador de una tira de LED de 12 voltios, adquirí un adaptador para conectar dos puertos USB en un coche (de 12 a 5 voltios) para aprovechar ese transformador.
    • Cables, conectores Dupont (opcional, para conectar cables a los pines), soldador y estaño, y herramientas básicas.

    La próxima semana hablaremos del modo de funcionamiento del anemómetro y describiremos de forma detallada la conexión de los distintos sensores a la Raspberry Pi. ¡No os lo perdáis!

    Lee aquí la segunda parte del tutorial.

     

    José Miguel Goñi

    Ingeniero y profesor universitario. Le interesan mucho muchas cosas de muy variada índole, entre ellas, todas las tecnologías relacionadas con la domótica.


    2 Respuestas

    1. Bull dice:

      muy interesante, lo seguiré de cerca.

    2. lagazelle dice:

      Gracias por el aporte, estoy muy interesado en algo que me pueda bajar las persianas en caso de viento, lluvia o mucho sol!!!
      lo seguiré..

    Deja un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *