#include <DHT.h> // Include the DHT library
#define DHTPIN 2 // Replace with the actual digital pin connected to DATA pin of DHT22
#define DHTTYPE DHT22 // Sensor type
int temperature = 0; // Variable to store temperature reading
float humidity = 0.0; // Variable to store humidity reading
int dataArray[5] = {1, 2, 3, 4, 5}; // Initialize array with values 1-5
DHT dht(DHTPIN, DHTTYPE); // Create a DHT object (outside any function)
// Optional calibration offset (initially set to 0)
float temperatureOffset = 0.0;
void setup() {
Serial.begin(9600); // Start serial communication for output
dht.begin(); // Initialize the DHT sensor (check library documentation)
}
void loop() {
for (int i = 0; i < 5; i++) {
// Adjust delay based on your setup (might need longer for accurate readings)
delay(5000);
if (dataArray[i] == 3) {
// Read temperature and humidity sensors
humidity = dht.readHumidity();
temperature = dht.readTemperature();
// Check for read errors and print raw values for troubleshooting (optional)
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from sensor!");
} else {
// Serial.print("Raw Humidity: ");
// Serial.println(humidity, 2); // Print with 2 decimal places
// Serial.print("Raw Temperature: ");
// Serial.println(temperature, 2);
// Apply calibration offset (optional)
//temperature += temperatureOffset;
// Formatted output with calibration
Serial.print("Temperature: ");
Serial.print(temperature, 1); // Print with 1 decimal place
Serial.print("*C, Humidity: ");
Serial.print(humidity, 1);
Serial.println("%");
}
} else {
Serial.print("Skipping measurement for: ");
Serial.println(dataArray[i]);
}
}
}