Para calibrar metí las sondas 1 por 1 en agua con hielo y agua hirviendo respectivamente tomando los valores de analogRead
Por ejemplo
Sonda 1
0°C = 140
100°C= 99
Sonda 2
0°C= 140
100°= 101
Asi cada valor lo puse en el mapeo para que me de directo la lectura en el monitor.
El código es este
Código: Seleccionar todo
// termometro múltiple fácil de calibrar
float termometro1= 0;// entrada A0
float termometro2= 0;// entrada A1
float termometro3= 0;// entrada A2
float termometro4= 0;// entrada A3, se pueden poner mas sondas en A4 y 5
void setup() {
Serial.begin(9600);
}
void loop() {
int val = analogRead(0);
int val1 = analogRead(1);
int val2 = analogRead(2);
int val3 = analogRead(3);
termometro1 = map(val,99,140,100,0); // a 0°C la lectrura de analgRead es 140 y a 100°C es 99
termometro2 = map(val1,101,140,100,0);// calibrar cada sonda por separado y poner los valores correspondientes en map
termometro3 = map(val2,99,140,100,0);
termometro4 = map(val3,99,140,100,0);
// para ver en el monitor
Serial.print (" Term 1 ");
Serial.print (termometro1,2);
Serial.print (" Term 2 ");
Serial.print (termometro2,2);
Serial.print (" Term 3 ");
Serial.print (termometro3,2);
Serial.print (" Term 4 ");
Serial.println (termometro4,2);
delay(100);
}
En esta imagen las sondas estan tomando la temperatura ambiente, la temperatura 3 fluctúa entre 20 y 22 y no pasa por el 21.