jueves, 1 de diciembre de 2016

Obteniendo datos en nuestro Arduino

Obtener datos en Arduino puede variar en dificultad dependiendo de los sensores que se vayan a utilizar. Hay sensores los cuales hay que calibrar y para obtener un dato en alguna unidad de medida específica se debe recurrir a ecuaciones y procesos un tanto largos. Por oro lado, existen sensores que cuentan con librerías hechas por la comunidad y que hacen que el proceso de obtener datos sea mucho menos tedioso y complicado.

En este proyecto usamos tanto sensores los cuales ya cuentan con librerías hechas, como sensores los cuales hemos tenido que calibrar por nuestra cuenta. A lo largo del proyecto hemos ido cambiando algunos sensores por otros que efectivamente tuvieran una librería creada y así facilitar el proceso de obtener datos atmosféricos.

Un ejemplo es la obtención que llevamos a cabo actualmente de temperatura y humedad atmosférica.
En un comienzo del proyecto se obtendrían estos datos mediante 2 sensores distintos: TMP36 para la temperatura y HS1101 para la humedad atmosférica. Estos sensores se debían calibrar cada uno para poder entregar en ºC y % respectivamente. Actualmente estos 2 datos se obtienen mediante un solo sensor el cual es el DHT22, este sensor además de poder obtener varios tipos de datos, cuenta con un sinfín de librerías para poder medir tanto con el módulo en su versión pre-calibrada como en su versión mas estándar.

A continuación mostraremos la diferencia en términos de código para obtener la temperatura mediante el TMP36 y el DHT22:

Tmp36:

 int temp_pin = A0;
 byte pin, analogPin;
 float volt = 0, temp = 0;
 volt = (analogRead(temp_pin) * 5.0) / 1024;
 temp = (volt * 100) - 50;


DHT22:

#include <cactus_io_DHT22.h>
DHT22 dht(2);

dht.begin();  //Esto dentro de setup();
temperatura = dht.temperature_C     //esto dentro de nuestro loop


Como pueden observar, con el sensor DHT22 basta con una simple función para poder leer ya en ºC a diferencia del TMP36 en el cual se ha tenido que transformar el valor análogo leído a voltaje y luego este voltaje a temperatura.

No hay comentarios:

Publicar un comentario