#include #include // Configuración de Pines const int BUS_ONE_WIRE = D0; // Pin del sensor DS18B20 const int LED_ALERTA = D6; // Tu LED en la PCB // Umbral de temperatura (ajústalo según el calor de tu mano) const float UMBRAL_CALOR = 30.5; OneWire oneWire(BUS_ONE_WIRE); DallasTemperature sensors(&oneWire); void setup() { Serial.begin(115200); while(!Serial); // Espera a que abras el monitor serie pinMode(LED_ALERTA, OUTPUT); sensors.begin(); Serial.println("--- Sistema de Alerta Térmica Iniciado ---"); Serial.print("Umbral configurado: "); Serial.print(UMBRAL_CALOR); Serial.println(" ºC"); } void loop() { sensors.requestTemperatures(); float tempC = sensors.getTempCByIndex(0); if(tempC != DEVICE_DISCONNECTED_C) { Serial.print("Temperatura: "); Serial.print(tempC); Serial.println(" ºC"); // Lógica del LED if(tempC > UMBRAL_CALOR) { // Si hace calor, el LED parpadea rápido digitalWrite(LED_ALERTA, HIGH); delay(100); digitalWrite(LED_ALERTA, LOW); delay(100); } else { // Si está frío, el LED se queda apagado digitalWrite(LED_ALERTA, LOW); } } else { Serial.println("Error: Sensor desconectado"); // Parpadeo lento de error para avisarte visualmente digitalWrite(LED_ALERTA, HIGH); delay(1000); digitalWrite(LED_ALERTA, LOW); delay(1000); } // Pequeña pausa para no saturar el bus 1-Wire delay(500); }