Arduino - DHT22 - Relé

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

Acerca del relé y del sensor DHT22

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

Diagrama de Cableado

Diagrama de cableado del relé para el sensor Arduino DHT22

This image is created using Fritzing. Click to enlarge image

Cómo funciona el sistema

  • Arduino lee la temperatura del sensor DHT22
  • 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 indefinidamente 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 ajustar el umbral superior y el umbral 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-dht22-relay */ #include "DHT.h" #define RELAY_PIN A5 // Arduino pin connected to relay #define DHT22_PIN 2 // Arduino pin connected to DHT22 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 dht22(DHT22_PIN, DHT22); float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // initialize serial dht22.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 = dht22.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 Arduino IDE, selecciona la placa y el puerto correctos
  • Navega hasta el ícono Bibliotecas en la barra izquierda del Arduino IDE.
  • 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á instalar algunas otras dependencias de la biblioteca.
  • Haz clic en el botón Instalar Todo para todas las dependencias de la biblioteca.
Biblioteca de sensores unificados de Adafruit para Arduino
  • Copia el código anterior correspondiente al sensor que tienes y ábrelo con Arduino IDE
  • Haz clic en el botón Subir en Arduino IDE para cargar el código en Arduino
  • Haz que el entorno alrededor del sensor esté más caliente o más frío
  • Comprueba 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!