Está en la página 1de 2

/*Sensor de Temperatura contra agua NTC 10K<br>Instrucciones:

El sensor para temperatura contra agua NTC 10k es un thermistor con dos salidas

que requieren de una configuracion pull down. Conecte una terminal del sensor a Vcc

y la otra utilizando resistencia pull down a tierra y al pin análogo 2.

*/

#include <math.h><br>

int frio = 2; //configuracion de pines para la salida digital correspodiente a un valor de


temperatura ajustada aCOLOR VERDE LED

int amb = 3; // COLOR BLANCO LED

int caliente = 4; //COLOR ROJO LED

void setup() {

Serial.begin(115200); //Recuerda ajustar to monitor serial a 115200

pinMode(frio, OUTPUT);

pinMode(amb, OUTPUT);

pinMode(caliente, OUTPUT);

double Thermister(int RawADC) {

double Temp;

Temp = log(((10240000 / RawADC) - 10000));

Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp )) * Temp );

Temp = Temp - 273.15; // Converierte de Kelvin a Celsius

//Para convertir Celsius a Farenheith esriba en esta linea: Temp = (Temp * 9.0)/ 5.0 +
32.0;

return Temp;

void loop() {

int val; //Crea una variable entera

double temp; //Variable de temperatura = temp


val = analogRead(0); //Lee el valor del pin analogo 0 y lo mantiene como val

temp = Thermister(val); //Realiza la conversión del valor analogo a grados Celsius

Serial.println(temp); //Escribe la temperatura en el monitor serial

delay(1000); //Espera un segundo y vuelve a escribir

if (15 <= temp < 25) // esto es para encender el nivel de temperatura ambiente

digitalWrite(amb, HIGH);

digitalWrite(frio, LOW);

digitalWrite(caliente, LOW);

if (temp < 15) // esto es para encender el nivel de temperatura frio

digitalWrite(frio, HIGH);

digitalWrite(amb, LOW);

digitalWrite(caliente, LOW);

if (temp >= 25) // esto es para encender el nivel de temperatura caliente

digitalWrite(caliente, HIGH);

digitalWrite(frio, LOW);

digitalWrite(amb, LOW);