ESP32 - DHT11 - Relé

Neste tutorial, vamos aprender como usar o ESP32 para controlar o relé com base na temperatura lida do sensor DHT11.

Sobre o Relé e o Sensor DHT11

Se você não conhece o sensor de temperatura DHT11 e o relé (pinagem, como funcionam, como programar...), aprenda sobre eles nos tutoriais a seguir:

Diagrama de Ligação

Diagrama de ligação do sensor dht11 e relé com ESP32

This image is created using Fritzing. Click to enlarge image

Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.

Como o Sistema Funciona

  • O ESP32 lê a temperatura do sensor DHT11
  • Se a temperatura ultrapassar um limite superior, o ESP32 liga o relé
  • Se a temperatura cair abaixo de um limite inferior, o ESP32 desliga o relé

O processo acima é repetido infinitamente no loop.

Se você quiser ligar e desligar o relé quando a temperatura estiver, respectivamente, acima e abaixo de um valor específico, basta definir o limite superior e o limite inferior com o mesmo valor.

Código ESP32

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-dht11-relay */ #include <DHT.h> #define DHT11_PIN 23 // ESP32 pin GPIO23 connected to DHT11 #define RELAY_PIN 18 // ESP32 pin GPIO18 connected to relay #define DHT_SENSOR_TYPE DHT11 #define TEMP_UPPER_THRESHOLD 30 // upper temperature threshold #define TEMP_LOWER_THRESHOLD 15 // lower temperature threshold DHT dht11(DHT11_PIN, DHT_SENSOR_TYPE); void setup() { Serial.begin(9600); // initialize serial dht11.begin(); // initialize the DHT sensor } void loop() { float temperature = dht11.readTemperature();; // read temperature in Celsius if (isnan(temperature)) { Serial.println("Failed to read from DHT11 sensor!"); } else { if (temperature > TEMP_UPPER_THRESHOLD) { Serial.println("Turn the relay on"); digitalWrite(RELAY_PIN, HIGH); // turn on } else if (temperature < TEMP_LOWER_THRESHOLD) { Serial.println("Turn the relay off"); digitalWrite(RELAY_PIN, LOW); // turn off } } // wait a 1 seconds between readings delay(1000); }

No código acima, o ESP32 liga o relé quando a temperatura ultrapassa 25°C e mantém o relé ligado até a temperatura ficar abaixo de 20°C

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 na Arduino IDE.
  • Faça a ligação como na imagem acima.
  • Conecte a placa ESP32 ao seu PC com um cabo USB Type-C
  • Abra a Arduino IDE no seu PC.
  • Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
  • Clique no ícone Libraries na barra esquerda da Arduino IDE.
  • Pesquise “DHT” e encontre a biblioteca DHT sensor library da Adafruit
  • Clique no botão Install para instalar a biblioteca.
Biblioteca DHT sensor para ESP32
  • Será pedido que você instale algumas outras dependências da biblioteca
  • Clique no botão Install All para instalar todas as dependências da biblioteca.
Biblioteca Adafruit Unified sensor para ESP32
  • Copie o código acima e abra na Arduino IDE
  • Clique no botão Upload na Arduino IDE para fazer upload do código para o ESP32
  • Deixe o ambiente ao redor do sensor mais quente ou mais frio
  • Veja o estado do relé

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!