#include <DHT.h>
// --- Configuration ---
#define DHTPIN 15 // Pin where DHT22 is connected
#define DHTTYPE DHT22 // Sensor type
#define LED_PIN 2 // Red Alert LED
#define TEMP_THRESHOLD 35.0 // Your specified alert limit
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
Serial.println("ICAN-V1: Local Hardware Test (Phase L0)");
dht.begin();
}
void loop() {
// Reading temperature and humidity
float h = dht.readHumidity();
float t = dht.readTemperature();
// Check if any reads failed
if (isnan(h) || isnan(t)) {
Serial.println("Error: Could not read from DHT sensor!");
return;
}
// Local Serial Output
Serial.print("Current Stats -> Temp: ");
Serial.print(t);
Serial.print("°C | Humidity: ");
Serial.print(h);
Serial.println("%");
// --- Alert Logic ---
if (t > TEMP_THRESHOLD) {
Serial.println("!!! WARNING: TEMPERATURE THRESHOLD EXCEEDED !!!");
// Blink Pattern for Alarm
digitalWrite(LED_PIN, HIGH);
delay(100);
digitalWrite(LED_PIN, LOW);
delay(100);
} else {
// Ensure LED is off when temp is safe
digitalWrite(LED_PIN, LOW);
}
delay(1000); // 1-second sampling rate for local testing
}