float BETA = 3950; //Iniciamos la variable BETA con el valor del termistor para que luego la equación funcione correctamente
int Led_Verde = 5; //Establecemos el PIN 5 de la placa al led verde
int Led_Amarillo = 6; //Establecemos el PIN 6 de la placa al led amarillo
int Led_Rojo = 7; //Establecemos el PIN 7 de la placa al led rojo
void setup()
{
Serial.begin(9600); //Establecemos la comunicación serie para poder sacar mensajes por la consola
}
void loop()
{
int sensorDeTemperatura = analogRead(A0); // //Establecemos el PIN A0 de la placa al sensor de temperatura NTC
float temperaturaEnCelsius = 1 / (log(1 / (1023. / sensorDeTemperatura - 1))/BETA + 1.0/298.15) - 273.15; //Pasamos el valor decimal del sensor NTC a grados Celsius
float temperaturaRedondeada = round(temperaturaEnCelsius * 10) / 10.0; //Redondeamos la temperatura en Celsius a un único decimal
if(temperaturaRedondeada < 30) //En caso de que la temperatura sea inferior a 30, se encenderá el led verde
{
Serial.print("Temperatura: ✅ -> "); //Mensaje por consola de temperatura correcta
Serial.print(temperaturaRedondeada, 1); //Mensaje por consola de temperatura correcta
Serial.println(" °C"); //Mensaje por consola de temperatura correcta
digitalWrite(Led_Verde, HIGH); //Led verde encendido
digitalWrite(Led_Amarillo, LOW); //Led amarillo apagado
digitalWrite(Led_Rojo, LOW); //Led rojo apagado
}
if(temperaturaRedondeada > 30 && temperaturaRedondeada < 60) //En caso de que la temperatura sea superior a 30 y inferior a 60, se encenderá el led amarillo
{
Serial.print("Temperatura: ⚠️ -> "); //Mensaje por consola de temperatura peligrosa
Serial.print(temperaturaRedondeada, 1); //Mensaje por consola de temperatura peligrosa
Serial.println(" °C"); //Mensaje por consola de temperatura peligrosa
digitalWrite(Led_Verde, LOW); //Led verde apagado
digitalWrite(Led_Amarillo, HIGH); //Led amarillo encendido
digitalWrite(Led_Rojo, LOW); //Led rojo apagado
}
if(temperaturaRedondeada > 60) //En caso de que la temperatura sea superior a 60, se encenderá el led rojo
{
Serial.print("Temperatura: ❌ -> "); //Mensaje por consola de temperatura sobrecalentada
Serial.print(temperaturaRedondeada, 1); //Mensaje por consola de temperatura sobrecalentada
Serial.println(" °C"); //Mensaje por consola de temperatura sobrecalentada
digitalWrite(Led_Verde, LOW); //Led verde apagado
digitalWrite(Led_Amarillo, LOW); //Led amarillo apagado
digitalWrite(Led_Rojo, HIGH); //Led rojo encendido
}
delay(1000); //1 segundo de espera
}