#include "DHT.h"
#define DHTPIN 2 // Data pin
#define DHTTYPE DHT22 // Sensor type
DHT dht(DHTPIN, DHTTYPE);
// Optional calibration offsets
float tempOffset = 0.0; // °C (adjust after testing)
float humidityOffset = 0.0; // %
void setup() {
Serial.begin(9600);
dht.begin();
Serial.println("DHT22 Calibration Test");
Serial.println("----------------------");
}
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature(); // Celsius
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
delay(2000);
return;
}
// Apply calibration offsets
float calibratedTemp = temperature + tempOffset;
float calibratedHumidity = humidity + humidityOffset;
Serial.print("Raw Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
Serial.print("Calibrated Temperature: ");
Serial.print(calibratedTemp);
Serial.println(" °C");
Serial.print("Raw Humidity: ");
Serial.print(humidity);
Serial.println(" %");
Serial.print("Calibrated Humidity: ");
Serial.print(calibratedHumidity);
Serial.println(" %");
Serial.println("----------------------");
delay(2000); // DHT22 recommended interval
}