#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
#define DHTPIN 2 // Digital pin connected to the DHT sensor
#define DHTTYPE DHT22 // Change this to DHT11 if you're using that sensor
DHT_Unified dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
sensor_t sensor;
dht.temperature().getSensor(&sensor);
Serial.println("DHT22 Temperature and Humidity Sensor");
Serial.println("------------------------------------");
Serial.println(sensor.name);
Serial.print("Driver Ver: ");
Serial.println(sensor.version);
Serial.print("Unique ID: ");
Serial.println(sensor.sensor_id);
Serial.print("Max Value: ");
Serial.print(sensor.max_value);
Serial.println("°C");
Serial.print("Min Value: ");
Serial.print(sensor.min_value);
Serial.println("°C");
Serial.print("Resolution: ");
Serial.print(sensor.resolution);
Serial.println("°C");
Serial.println("------------------------------------");
delay(500);
}
void loop() {
sensors_event_t event;
dht.temperature().getEvent(&event);
if (isnan(event.temperature)) {
Serial.println("Error reading temperature!");
} else {
Serial.print("Temperature: ");
Serial.print(event.temperature);
Serial.println("°C");
}
dht.humidity().getEvent(&event);
if (isnan(event.relative_humidity)) {
Serial.println("Error reading humidity!");
} else {
Serial.print("Humidity: ");
Serial.print(event.relative_humidity);
Serial.println("%");
}
delay(2000); // Wait for a few seconds before taking readings again
}