Smart Room Temperature Alarm Using ESP32 — ESP32 simulation

An interactive ESP32 circuit simulation you can run free in your browser on Velxio, by avovilienko.

Components

Sketch code

#include <DHT.h>

#define DHT_PIN 4
#define DHT_TYPE DHT22
#define LED_PIN 26
#define BUZZER_PIN 27

DHT dht(DHT_PIN, DHT_TYPE);

void setup() {
  Serial.begin(115200);

  pinMode(LED_PIN, OUTPUT);
  pinMode(BUZZER_PIN, OUTPUT);
  dht.begin();

  Serial.println("Room Condition Alarm");
}

void loop() {
  float temperature = dht.readTemperature();
  float humidity = dht.readHumidity();

  if (isnan(temperature) || isnan(humidity)) {
    Serial.println("Sensor reading error");
    digitalWrite(LED_PIN, LOW);
    noTone(BUZZER_PIN);

    delay(2000);
    return;
  }

  Serial.print("Temperature: ");
  Serial.print(temperature);
  Serial.println(" C");
  Serial.print("Humidity: ");
  Serial.print(humidity);
  Serial.println(" %");

  if (temperature >= 30 || humidity >= 70) {
    digitalWrite(LED_PIN, HIGH);
    tone(BUZZER_PIN, 2000);

    Serial.println("WARNING! Room conditions are too high.");
  } else {
    digitalWrite(LED_PIN, LOW);
    noTone(BUZZER_PIN);

    Serial.println("Room condition is normal.");
  }

  Serial.println("--------------------");
  delay(2000);
}

More projects by avovilienko