DHT11 y Blynk App con NodeMCU – Cano electrónica

DHT11 y Blynk App con NodeMCU

Con este artículo aprenderemos a leer la temperatura y humedad gracias al sensor DHT11, recibir los datos vía Wi-Fi en nuestro teléfono inteligente utilizando la aplicación Blynk.

Si nunca has usado Blynk, te recomendamos leer el artículo Encender un LED con NodeMCU y Blynk App.

Material:

1 xPlaca NodeMCU
1 xProtoboard
1 xSensor DHT11
1 xResistencia 5 a 10k Ohms (solo para sensores de 4 pines
Cables varios

Sensor DHT11

Los sensores DHT están hechos de dos partes, un sensor de humedad capacitivo y un termisor (básicamente es una resistencia que cambia su valor según la temperatura). También cuanta con un chip que hace una conversión analógica a digital y emite esta señal con la temperatura y la humedad. Gracias a esta conversión, la señal digital es fácil de leer por cualquier microcontrolador.

En el mercado podemos encontrar el sensor en dos presentaciones, ya sea el sensor montado sobre una placa, la cual incluye una resistencia pull up, o bien (3 pines), el sensor solo (4 pines).

Nota: Para conectar el sensor solo, se requiere una resistencia de 5k a 10k Ohms conectada en el PIN de señal. Para este proyecto, utilizaremos este sensor con 4 pines y lo conectaremos a la placa NodeMCU.

Para el módulo, la configuración de pines dependerá del fabricante.

Conexión.

VCC -> 3.3Vcc
Señal/out -> D4
GND – -> GND

Sketch para Node MCU.

Al momento de crear el nuevo proyecto, la aplicación nos manda el número de Token y una liga para generar el sketch . Recuerda seleccionar los parámetros adecuados para este proyecto, tales como la placa y el sensor, en la imagen de abajo verás como debe de configurada.

Abajo te dejamos el sketch , solo debes de agregar el Token del proyecto, el nombre y la contraseña de la red a la que se va a conectar.

#define BLYNK_PRINT Serial


#include 
#include 
#include 

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YourAuthToken";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

#define DHTPIN 2          // What digital pin we're connected to

// Uncomment whatever type you're using!
#define DHTTYPE DHT11     // DHT 11
//#define DHTTYPE DHT22   // DHT 22, AM2302, AM2321
//#define DHTTYPE DHT21   // DHT 21, AM2301

DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;

// This function sends Arduino's up time every second to Virtual Pin (5).
// In the app, Widget's reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.
void sendSensor()
{
  float h = dht.readHumidity();
  float t = dht.readTemperature(); // o dht.readTemperature(true) para Fahrenheit

  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  Blynk.virtualWrite(V5, h);
  Blynk.virtualWrite(V6, t);
}

void setup()
{
  // Debug console
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

  dht.begin();

  // Setup a function to be called every second
  timer.setInterval(1000L, sendSensor);
}

void loop()
{
  Blynk.run();
  timer.run();
}

Nota: El sketch nos indica que el PIN virtual V5 corresponderá a la lectura de la humadad, y el PIN virtual V6 corresponde a la lectura de la temperatura en °C.

Configuración de la aplicación Blynk.

Recuerda que para poder utilizar la app Blynk debes de contar con una cuenta que esté vinculada a tu correo electrónico ya que al momento de crear un nuevo proyecto, te mandará el Token para tu sketch.

Para desplegar las mediciones seguimos los siguientes pasos:

  1. Crear nuevo proyecto.
  2. Llenamos los datos del proyecto como el “Nombre”, la placa que vamos a utilizar (en este caso NodeMCU) y el tipo de comunicación (Wi-Fi).
  3. La app nos enviará un correo electrónico con el “Token” que ingresaremos en nuestro Sketch para la NodeMCU.
  4. Agregamos un nuevo elemento de medición, tanto para la temperatura como para la humedad. Esto lo encontramos en “Widget Box”, desplazamos los elementos hacia arriba y seleccionamos “Gauge”.
  5. Para el “Gauge” de Humedad, damos un click en PIN y seleccionamos “Virtual”, en este caso para la humedad es el PIN V5. Los valores son de 0 a 100, y el “READING RATE” lo dejamos en 1 segundo.
  6. Para el “Gauge” de Temperatura, damos un click en PIN y seleccionamos “Virtual”, en este caso para la humedad es el PIN V6. Los valores son de 0 a 50, y el “READING RATE” lo dejamos en 1 segundo.
  7. Corremos el programa y veremos que se despliegan las lecturas.

La ventaja de utilizar Blynk es que el sensor puede estar conectado por ejemplo a la red Wi-Fi de tu hogar y tu controlarlo o monitorearlo desde otra red diferente.

Video

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *