Menu
CoddyTech

Temperatura com termistor

Parte da seção Displays e sensores do Journey de Arduino da Coddy. Lição 20 de 24.

Um termistor é um resistor cuja resistência muda com a temperatura. Neste módulo (do tipo NTC), a tensão do pino OUT cai à medida que ele esquenta: analogRead() retorna cerca de 512 a 25 graus C.

A leitura não cai em linha reta, então map() não serve. A equação beta converte a leitura em graus. BETA vem da folha de dados do componente (3950 aqui), e log() é uma função matemática incorporada à placa. Você não precisa acompanhar a matemática: copie a linha como está.

const float BETA = 3950;

float celsius = 1 / (log(1 / (1023.0 / reading - 1)) / BETA + 1.0 / 298.15) - 273.15;

Mantenha o .0 em 1023.0. 1023 / reading usando dois números inteiros descarta a fração, e o resultado fica errado por muitos graus.

challenge icon

Desafio

Médio

O módulo do termistor está em A0. Imprima a temperatura:

  • converta a leitura em graus C usando a equação beta
  • imprima-a com Serial.println(), duas vezes por segundo

Pressione Run, altere a temperatura na placa e, em seguida, Check.

Experimente você mesmo

const float BETA = 3950;  // o valor beta do termistor

void setup() {
  Serial.begin(9600);
}

void loop() {
  int reading = analogRead(A0);
  // converta a leitura para graus C e imprima o resultado
  delay(500);
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Displays e sensores

Pratique por conta própria: Playground de Arduino