Arduino - DHT11 - Relé

En este tutorial, vamos a aprender cómo usar Arduino para controlar el relé en función de la temperatura leída desde el sensor DHT11.

Acerca del relé y del sensor DHT11

Si no conoces el sensor de temperatura DHT11 y el relé (disposición de pines, cómo funciona, cómo programarlo...), aprende sobre ellos en los siguientes tutoriales:

Diagrama de Cableado

Diagrama de cableado del sensor DHT11 y del relé para Arduino

This image is created using Fritzing. Click to enlarge image

Cómo funciona el sistema

  • Arduino lee la temperatura del sensor DHT11
  • Si la temperatura supera un umbral superior, Arduino enciende el relé
  • Si la temperatura cae por debajo de un umbral inferior, Arduino apaga el relé

El proceso anterior se repite infinitamente en el bucle.

Si quieres encender y apagar el relé cuando la temperatura esté por encima y por debajo de un valor específico, respectivamente, solo necesitas establecer el umbral superior e inferior al mismo valor.

Código de Arduino

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-dht11-relay */ #include "DHT.h" #define RELAY_PIN A5 // Arduino pin connected to relay #define DHT11_PIN 2 // Arduino pin connected to DHT11 sensor const int TEMP_THRESHOLD_UPPER = 25; // upper threshold of temperature, change to your desire value const int TEMP_THRESHOLD_LOWER = 20; // lower threshold of temperature, change to your desire value DHT dht11(DHT11_PIN, DHT11); float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // initialize serial dht11.begin(); // initialize the sensor pinMode(RELAY_PIN, OUTPUT); // initialize digital pin as an output } void loop() { // wait a few seconds between measurements. delay(2000); temperature = dht11.readTemperature();; // read temperature in Celsius if (isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); } else { if(temperature > TEMP_THRESHOLD_UPPER){ Serial.println("The relay is turned on"); digitalWrite(RELAY_PIN, HIGH); // turn on } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("The relay is turned off"); digitalWrite(RELAY_PIN, LOW); // turn on } } }

En los códigos anteriores, el Arduino enciende el relé cuando la temperatura supera los 25 °C y mantiene el relé encendido hasta que la temperatura esté por debajo de 20 °C.

Pasos R\u00e1pidos

  • Conecta Arduino al PC mediante un cable USB
  • Abre el IDE de Arduino, selecciona la placa y el puerto correctos
  • Navega hasta el icono Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “DHT”, luego encuentra la biblioteca de sensores DHT de Adafruit
  • Haz clic en el botón Instalar para instalar la biblioteca.
Biblioteca de sensores DHT para Arduino
  • Se le pedirá que instale otras dependencias de la biblioteca.
  • Haga clic en el botón Instalar Todo para instalar todas las dependencias de la biblioteca.
Biblioteca unificada de sensores de Adafruit para Arduino
  • Copia el código anterior correspondiente al sensor que tienes y ábrelo con el IDE de Arduino
  • Haz clic en el botón Subir en el IDE de Arduino para subir el código al Arduino
  • Haz que el entorno alrededor del sensor esté más cálido o más frío
  • Ver el estado del relé

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!