Incluimos sensor de temperatura y humedad.

Continuamos incluyendo funcionalidades al proyecto de electrónica a bordo de nuestro balandro! Ésta vez vamos a incluir varios sensores para conocer el estado del interior de nuestro velero. El objetivo es tener información de algunos parámetros que nos sirvan para monitorizar de forma remota el estado de nuestro velero. Esta información se enviará a openplotter a través de signal K tal y como vimos en la entrada anterior y en una entrada posterior, veremos cómo llevar estos parámetros a un servidor web para poder monitorizarlos de forma remota. Actualmente ya disponemos del aforador de combustible capacitivo que os mostramos en una entrada anterior y ahora vamos a incluir un sensor de temperatura y humedad.

Aun no hemos incluido nada en el barco, de momento estamos preparando el sistema en casa con la idea de cuando tengamos el sistema preparado, montarlo todo en el barco. Es por ello que aunque algún componente no sea el adecuado para entornos náuticos, con esta maqueta queremos aprender y preparar el sistema y despues cuando lo montemos en el barco, simplemente tendremos que adecuar o sustituir el sensor especifico al entorno náutico, pero la electrónica central, el esquema, las conexiones, la programación,… todo estará preparado.

Vamos a por ello!

Sensor de temperatura y humedad

Lo primero que vamos a incluir es un sensor DHT 22 que nos informa de la temperatura y la humedad. Este sensor (o varios de ellos, solo tendríamos que replicar las conexiones y el trozo de código en el arduino) queremos ubicarlo en el interior del barco, en el salón por ejemplo, para que nos informe de las condiciones ambientales de este habitáculo. Es verdad que si estamos en el barco tiene poco sentido (aunque siempre podría resultar interesante), pero la idea es poder monitorizar estos parámetros de forma remota más adelante y para ello primero necesitamos digitalizarlos. Para que nos puede servir monitorizar estos parámetros? Pues por ejemplo una subida anormal de la temperatura podría significar un mal funcionamiento de alguno de nuestros equipos o incluso un incendio!

Sensor temperatura y humedad DHT22

Otra aplicación que podríamos darle a este sistema de dotar de sensores de temperatura a nuestro motor intraborda yanmar 1GM10 (o utilizar los que ya pueda tener de serie) y monitorizar todos sus parámetros en funcionamiento, llevándolos a openplotter y centralizando la información en los distintos paneles de control de este, dotando de alarmas en función de los niveles de temperatura alcanzados,… Una vez implementado el sistema para este tipo de sensor, implementarlo para otro tipo de sensores será muy sencillo, simplemente tendremos que seleccionar un sensor adecuado para la aplicación y adaptar el programa del arduino para el sensor específico. Más aplicaciones que se nos ocurren, montar nuestra propia estación meteorológica en tiempo real en nuestro balandro. Imaginaros disponer de la información de temperatura, humedad, presión atmosférica (habría que añadir otro sensor) y la información del equipo de viento del barco en tiempo real y de forma remota. Ya tenemos otra idea de post para el futuro!!

Pero vamos allá. Primero de todo vamos a describir las características del sensor que hemos seleccionado. Es un sensor muy típico en aplicaciones y protos caseros con arduino y uno de los más utilizados para aplicaciones donde los que interesa medir es temperatura y humedad en interiores. Para exteriores no nos serviría por no estar protegido. Es un sensor que nos aporta la información con mucha precisión y solo cuesta unos pocos euros (en nuestro caso creo que no pagamos más de 5 euros). Además como venimos diciendo, tenemos la información de temperatura y humedad en un mismo sensor. Podríamos entrar en el detalle de las características del sensor, pero sabéis que no nos gusta entrar en estos detalles, ya que internet esta lleno de información sobre este sensor.

Las conexiones y el circuito a montar para este sensor sería el siguiente:

Esquema conexión Arduino y DHT22

Para alimentar el sensor debemos conectar el primer pin del sensor se debe conectar a 5Vcc del arduino y el 4º pin a GND. La información de temperatura y humedad, la aporta por el segundo pin del sensor y este se debe conectar a la entrada digital 5 con una resistencia de 10K en paralelo con la alimentación tal y como se indica en el dibujo anterior.

En el código, hemos programado la lectura de estas dos variables desde el sensor. Igual que hemos mencionado otras veces, si alguien está interesado en el código del arduino, no tiene más que pedírnoslo! Estaremos encantados de compartirlo. (quizás deberíamos de dejar todo este código el github……. veremos a ver como se puede hacer) En esta instalación, la librería que hemos utilizado es “DHT.h”.

Enviando la INFORMACIÓN por signal k

Una vez tenemos la información en el arduino, solo nos queda llevarlo a openplotter. Para esto, vamos a utilizar Signal K ampliando la información que enviabamos en los Delta de la entrada anterior. Ahora, ademas de la información del aforador de combustible, enviaremos el valor de temepratura y humedad. Las variables que debemos añadir al delta de Signal K son:

  • environment.inside.mainCabin.temperature
  • environment.inside.mainCabin.relativeHumidity

Y la estructura del delta quedaria algo asi:

{
  "updates": [
    {
      "values": [
        {
          "path": "tanks.fuel.0.currentLevel",
          "value": 18.3
        },
        {
          "path": "environment.inside.mainCabin.temperature",
          "value": 20.18
        },    
        {
          "path": "environment.inside.mainCabin.relativeHumidity",
          "value": 89.2
        }
      ]
    }
  ]
}

Como la temperatura leída del sensor es en grados celsius y la medida enviada a través de signal K es en grados kelvin, debemos convertir la medida antes de enviarla. Para ello, sumaremos 273.15 al valor leído por el arduino en el sensor y lo enviaremos por signal K.

Una vez recibidos por openplotter, los mostraremos por pantalla igual que mostrábamos el nivel del aforador. En cuanto openplotter comience a recibir la información, la mostrara en el panel de instrumentos. El panel de la temperatura habrá que editarlo para mostrar el valor en centigrados.

Editando panel de instrumentos de openplotter
Panel instrumentos openplotter

Esperamos que os haya gustado. Tal y como hemos comentado previamente si alguien necesita algún detalle de la programación y necesita que le ayudemos con la implementación, estaremos encantados de ayudar!!

Buena proa y seguimos con nuestro proyecto!!!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s