#include <OneWire.h>
#include <DallasTemperature.h>
#define TRIG_PIN 5
#define ECHO_PIN 18
#define TEMP_PIN 4
#define TEMP_ALERTA 60.0 // °C — umbral sobrecalentamiento bomba
OneWire oneWire(TEMP_PIN);
DallasTemperature sensors(&oneWire);
void setup() {
Serial.begin(115200);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
sensors.begin();
Serial.println("Hidropack listo");
Serial.println("distancia_cm, temp_c, alerta");
}
void loop() {
// ── Distancia ──
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duracion = pulseIn(ECHO_PIN, HIGH, 30000);
float distancia = duracion * 0.034 / 2.0;
// ── Temperatura ──
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
// ── Alerta ──
bool alerta = (temp >= TEMP_ALERTA);
// ── Serial ──
Serial.print(distancia, 1);
Serial.print(" cm | ");
Serial.print(temp, 1);
Serial.print(" °C | ");
Serial.println(alerta ? "⚠ SOBRECALENTAMIENTO" : "OK");
delay(1000);
}