Menu
CoddyTech

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.

challenge icon

Desafío

Intermedio

El 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);
}
quiz iconPonte a prueba

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