Contenido del curso

Actividad 20

 

EJERCICIO DHT11
Para la realización de esta actividad es necesario un DHT11 y dos diodos led. El objetivo es leer el valor de temperatura y humedad obtenido por el sensor DHT11. Una vez obtenidos dichos valores, si la temperatura esta por debajo de los 30 ºC, se debe encender el led verde. Si la humedad está por encima del 50% se debe encender el led azul. Además, se debe enviar el valor de temperatura y humedad por bus serial. A continuación se puede ver el esquema de montaje.

    Nota importante

Para este ejercicio necesitarás instalar una de las siguientes opciones:

- Si estás utilizando programación en C/C++, necesitas la librería DHT sensor library de Adafruit.

- Si estás utilizando programación en Bloques, necesitas la extensión Temp, Humidity (DHT) de Gaduino.


// Se incluye la libreria necesaria
#include <DHT.h>
// Definimos los pines de los diodos led
#define Led_verde 3
#define Led_azul 2
// Definimos el pin digital donde se conecta el sensor
#define DHTPIN 9
// Inicializamos el sensor DHT11
DHT dht(DHTPIN, DHT11);
// Se crean las variables para almacenar los datos
float T = 0;  // Temperatura
float H = 0;  // Humedad
void setup() {
  // Inicializamos el sensor DHT
  dht.begin();
  // Inicializamos el bus serial
  Serial.begin(9600);
}
void loop() {
  // Si se detecta que el sensor dht esta conectado
  if (!isnan(dht.readHumidity()) || !isnan(dht.readTemperature())) {
    // Leer y almacenar temperatura
    T = dht.readTemperature();
    // Leer y almacenar humedad
    H = dht.readHumidity();
    // Si la temperatura esta por debajo de los 30ºC
    if (T < 30) {
      digitalWrite(Led_verde, HIGH);  // Encender led verde
    } else {
      digitalWrite(Led_verde, LOW);   // Apagar led verde
    }
    // Si la humedad esta por encima del 50 %
    if (H > 50) {
      digitalWrite(Led_azul, HIGH);   // Encender led azul
    } else {
      digitalWrite(Led_azul, LOW);    // Apagar led azul
    }
    // Imprimir valores por el bus serial
    Serial.print("Humedad relativa:  ");
    Serial.print(H);
    Serial.println(" %");
    Serial.print("Temperatura:  ");
    Serial.print(T);
    Serial.println("  Cº");

    // Esperar 5 segundos
    delay(5000);
  }
}


Puedes descargar la solución pinchando en el siguiente icono:


Vistas
13 Número de vistas
13 Vistas de miembros
0 Vistas públicas
Acciones
0 Gustos
0 No me gusta
0 Comentarios
Compartir en redes sociales
Compartir enlace
Compartir por correo

Por favor iniciar sesión para compartir esto webpage por correo.