lunes, 27 de agosto de 2018

Práctica #3: Sensores de humedad

Un sensor de humedad nos ayuda a saber en que nivel de calor o humedad esta una masa, en este caso el sensor DHT11 es el que usaremos para nuestro proyecto ya que este calcula la humedad desde la tierra y transmite esta información al arduino.

La actividad consiste en conectar el sensor de humedad con el arduino para que el sensor pueda enviar información, acerca de la humedad de la tierra, al arduino, y del arduino al relé para que este accione el motor automáticamente y pueda regar la tierra o plantas.

Como se transmite la información al Arduino:

No tenemos que confundirnos entre analógico y digital. Aunque lo conectemos a un pin digital, se trata de un dispositivo analógico. Dentro del propio dispositivo se hace la conversión entre analógico y digital.
Por lo tanto, partimos de una señal analógica que luego es convertida en formato digital y se enviará al microcontrolador. La trama de datos es de 40 bits correspondiente a la información de humedad y temperatura del DHT11.
trama datos dht11

La trama consta de 40 bits separados en 5 grupos de 8 bits, cada grupo reprsenta lo que dice en a imagen pero el último grupo de bit representa lo que debe dar la suma, es decir la suma de los 4 primeros grupos de 8 bits nos tiene que dar los bits de paridad.
El primer grupo de 8-bit es la parte entera de la humedad y el segundo grupo la parte decimal. Lo mismo ocurre con el tercer y cuarto grupo, la parte entera de la temperatura y la parte decimal. Por último los bits de paridad para confirmar que no hay datos corruptos.
0011 0101 + 0000 0000 + 0001 1000 + 0000 0000 = 0100 1101
En este caso como no tenemos photoboard, soldamos las partes de salida de los cables (cables machos) en orden que este conectado con los cables del arduino y pueda transmitirle información mediantes a la programacion que le vamos a aplicar.



Programación:

Para programas con el código nativo de arduino, vamos a utilizar la librería de Adafruit_Sensor.h. o el programa de Arduino


Lo primero que tendremos que hacer sera importar la librería "DFT.h" y luego definir dos constantes, una donde le diremos donde hemos conectado el DHT11 al pin digital, luego le diremos el tipo de sensor que estamos utilizando, luego vamos a declarar un objeto DHT para pasarle el pin donde hemos conectado el sensor y también el tipo de sensor con el que estamos trabajando.

En la función SETUP lo que vamos a hacer es iniciar la comunicación seri "Serial. begin" con la sentencia "dht.begin" 

En la función loop vamos a medir la temperatura y humedad, algo que recalacr es que las medidas las vamos a tomar cada 5 segundos, si es menos a este tiempo puede ser que las mediciones no sean muy precisas. 
Primero vamos con la humedad, la cual nos la va a dar en cierta magnitud, lo almacenamos en un float.
Luego vamos a leer la temperatura, en mi caso, la vamos a leer en centigrados la cual no es neceario pasar ningún parametro a diferencia de los grados farenheit.

Lo siguiente es comprobar que la infromación este correcta, la cual usaremos una función llamada "isnan" lo que nos va a ayudar esta función es en devolver un valor que no es un número en caso que en los bits de paridad halla algún error.

Por último, lo que hace esta parte es demostrar atraves del monitor serial todos los datos de humedad, temperatura e índice de calor.

Logros y dificultades:

  • Tuvimos dificultad al traer el sensor de humedad a tiempo, al igual que el relé y la bateria.
  • Logramos realizar la programación con el sensor de humedad y el arduino.
  • aprendims para que sirve el sensor de humedad, específicamente el modelo DHT11.















No hay comentarios:

Publicar un comentario