¿Como realizar mediciones de luz y temperatura desde la placa de sensores?

En la previamente publicada página de manual sobre la utilización de la placa de sensores con Domino vimos algunos de los pasos más elementales de configuración y montaje para un modelo que usa los puertos digitales de entrada y salida. En esta página vamos a seguir experimentando pero esta vez usando los sensores analógicos que la misma placa incluye, que nos permitirán determinar tanto temperatura como la luz ambiental.

En primer lugar, como siempre, nos aseguraremos que la placa Arduino se encuentra desconectada de la alimentación. Para hacer este montaje partiendo del modelo anterior simplemente deberemos conectar los puertos marcados como TEMP y como LIGHT hasta los pines analógicos 0 y 1 respectivamente. Si partimos de cero (y no hay más cables conectados) será necesario también conectar los puertos de alimentación 5V y GND a sus correspondientes pines de la placa Arduino. Como siempre, vigila la polaridad!

Revisa una última vez el cableado, y ya podrás conectar el puerto USB a tu PC. Ahora, mediante el programa de terminal que prefieras procederemos a la configuración de Domino.

Para empezar, asignaremos nombres más legibles a los puertos:

lbl ai000 temp1
lbl ai001 light

Ahora ya podremos configurar cada uno de ellos más fácilmente:

tol temp1 002
cfg temp1 ai
tol light 010
cfg light ai

Mediante los comandos anteriores hemos asignado una tolerancia de dos unidades al puerto de temperatura, de modo que no nos notifique si el cambio producido es inferior a esta cantidad. Para el sensor de luz ambiental, mucho más susceptible, hemos incrementado hasta 10 este valor. Mediante el comando "cfg", hemos configurado los puertos como entrada analógica, ya que en la configuración por defecto se encuentran desactivados para evitar problemas causados por el ruido.

Los valores leídos deberán ser convertidos externamente a las correspondientes unidades del Sistema Métrico, tarea que realiza el módulo odcontrol dentro de OpenDomo. En futuras versiones de Domino, intentaremos importar esta funcionalidad de modo que sea aún más fácil de usar e integrar con otras aplicaciones.

En algunos casos nos interesará configurar alarmas cuando algunos valores salgan del rango deseado. Por ejemplo, con el siguiente comando asignaremos un valor máximo de alarma para el puerto de temperatura:

amx temp1 250

Cuando el valor leído por el sensor sobrepase el indicado en el comando, el puerto de alarma (por defecto el 13) se activará.

Comments

Problema al leer los sensores

Hola, tengo un problema al leer los sensores, y es que no me sale la temperatura en grados, ni se como conseguir que salga.

Tengo montado como en la "Guía de montaje rápido" que viene con el devkit+ (solo cambia que el de temperatura está en el ai001 y el de luz en el ai000).

Y cuando voy a listar los puertos, me sale:

Sensor temperatura: 1.000000

(adjunto pantallazo)

Supongo que tendré que configurarlo ahí:

Pero al poner en unidades "ºC" y darle a enviar, no me guarda nada. Y en "Tipo" y "Tags" no tengo ninguna opción.

NOTA: Ayer le tenía de nombre "stemp" (de sensor de temperatura) y me salía en la lista de puertos con el nombre que le puse yo. Y al cambiarle a "temp1". Opendomo le puso el solo el nombre de "sensor de temperatura". (así que no se porqué no me lo toma como tal, y me pone bien la unidades (Y hoy está calentando bien y me marca 27ºC otro sensor que tengo en casa).

Disculpa

Disculpa el retraso. Se me pasó este comentario...

Por lo que veo hay algún problema en la forma de visualización de los datos recibidos por los sensores. En este sentido vamos a hacer algunos cambios de acuerdo a la última versión de Domino, que ya puede hacer los cambios de magnitud sin necesidad de configurar OpenDomo, de modo que se muestren los datos directamente.

A lo largo de la próxima semana voy a publicar algún manual sobre como gestionar datos de los sensores desde Domino, y procuraré publicar una actualización de los scripts de odcontrol, que son los que te están dando problemas.