Arduino si un termistor NTC

In acest articol vom folosi un termistor NTC pentru a citi temperatura ambianta.

In exemplul nostru vom folosi un termistor NTC cu valoarea de 10 kiloOhmi la o temperatura de 25 °C.

Acesta se conecteaza la Arduino in felul urmator: un terminal al termistorului este legat la +5V, celalalt terminal este legat la pinul Analog 0 cat si la un pin al unui rezistor aditional cu valoarea tot de 10 kiloOhmi iar celalalt terminal al rezistorului este legat la masa.

Termistorul folosit este cel din poza de mai jos:

 

Sketchul folosit pentru a testa functionalitatea montajului este mai jos:

 

#include <math.h>
const int ntc = A0;

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

void loop() {
  int ntc_adc;
  double output, ntc_rez, ntcRez, temp; 
  ntc_adc = analogRead(ntc);
  output = ( (ntc_adc * 5.0) / 1023.0 );
  ntc_rez = ( ( 5 * ( 10.0 / output ) ) - 10 ); 
  ntc_rez = ntc_rez * 1000 ; 
  ntcRez = log(ntc_rez);
  temp = ( 1 / ( 0.001129148 + ( 0.000234125 * ntcRez ) + ( 0.0000000876741 * ntcRez * ntcRez * ntcRez ) ) ); 
  temp = temp - 273.15; 
  Serial.print("Temperatura: ");
  Serial.print(temp);
  Serial.println("°C");
  delay(1000);
}

Autentificare