Temperatura con termistor
Parte de la sección Pantallas y sensores del Journey de Arduino de Coddy. Lección 20 de 24.
Un termistor es una resistencia cuyo valor cambia con la temperatura. En este módulo (de tipo NTC), el voltaje del pin OUT disminuye a medida que se calienta: analogRead() da aproximadamente 512 a 25 grados C.
La lectura no disminuye en línea recta, así que map() no sirve. La ecuación beta la convierte en grados. BETA proviene de la hoja de datos del componente (3950 en este caso), y log() es una función matemática integrada en la placa. No necesitas seguir las operaciones matemáticas: copia la línea tal como está.
const float BETA = 3950;
float celsius = 1 / (log(1 / (1023.0 / reading - 1)) / BETA + 1.0 / 298.15) - 273.15;Conserva el .0 en 1023.0. 1023 / reading con dos números enteros descarta la fracción, y el resultado sale con un error de muchos grados.
Desafío
IntermedioEl módulo del termistor está en A0. Imprime la temperatura:
- convierte la lectura a grados C con la ecuación beta
- imprímela con
Serial.println(), dos veces por segundo
Pulsa Run, cambia la temperatura en la placa y después pulsa Check.
Pruébalo tú mismo
const float BETA = 3950; // el valor beta del termistor
void setup() {
Serial.begin(9600);
}
void loop() {
int reading = analogRead(A0);
// convierte la lectura a grados C e imprímela
delay(500);
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Pantallas y sensores
Practica por tu cuenta: Playground de Arduino