CONTENIDO ►
Conectar un termistor al Arduino permite medir la temperatura ambiente con bastante precisión. Vamos a ver la conexión del elemento semiconductor al microcontrolador como sensor de temperatura, desmontaremos el programa para calibrar el sensor basado en un termistor ntc de 100 kOhm y construiremos un circuito en la placa Arduino Uno con conmutación automática de leds en función de la temperatura ambiente.
Para esta actividad necesitaremos:
- Arduino Uno / Arduino Nano / Arduino Mega
- termistor PTC / NTC 100k;
- resistencias y LEDs;
- protoboard;
- cables de conexion.
Funcionamiento de termistor NTC/PTC (pinout, datasheet)

Un termistor es un semiconductor cuya resistencia eléctrica varía en función de la temperatura y está fabricado con materiales con un elevado coeficiente de resistencia. Se distingue entre termistores con coeficiente de resistencia a la temperatura negativo (NTC – Negative Temperature Coefficient) y positivo (PTC – Positive Temperature Coefficient).
En los termistores NTC, la resistencia disminuye al aumentar la temperatura, mientras que en los termistores PTC, la resistencia aumenta al aumentar la temperatura. La resistencia nominal de los termistores (indicada por el fabricante) corresponde a la resistencia del semiconductor a una temperatura ambiente de 25°C. El termistor puede calibrarse, al igual que el sensor de temperatura LM35, mediante la fórmula Steinhart-Hart.
Cómo conectar termistor NTC 100k Arduino Uno

A la hora de medir la temperatura con el Arduino y el termistor, debes conocer la resistencia nominal del termistor (nosotros hemos usado 100 kΩ), la resistencia de la resistencia (200 kΩ en nuestro ejemplo) y el coeficiente NTC del termistor, que es 3950. Una vez montado el circuito, especifica los parámetros necesarios en el programa y carga el código en la placa. La temperatura del aire debe aparecer en el monitor del puerto Arduino IDE.
Programa Arduino para termistor NTC / PTC 100k
#define B 3950 // B factor #define RESISTOR 200000 // resistencia del resistor, 200 kOhm #define THERMISTOR 100000 // resistencia nominal del termistor, 100 kOhm #define NOMINAL 25 // temperatura nominal #define sensor A1 void setup() { Serial.begin(9600); pinMode(sensor, INPUT); } void loop() { int t = analogRead(sensor); float tr = 1023.0 / t - 1; tr = RESISTOR / tr; Serial.print("R="); Serial.print(tr); Serial.print(", t="); float steinhart; steinhart = tr / THERMISTOR; steinhart = log(steinhart); steinhart /= B; steinhart += 1.0 / (NOMINAL + 273.15); steinhart = 1.0 / steinhart; steinhart -= 273.15; Serial.println(steinhart); delay(100); }
Explicación del código para termistor NTC / PTC 100k:
- la resistencia de la resistencia y del termistor debe especificarse en el código;
- el monitor del puerto Arduino IDE mostrará la resistencia del termistor 3950 ntc (termistor) y la temperatura ambiente.

Programa Arduino para medir temperatura con NTC
#define B 3950 // B factor #define RESISTOR 200000 // resistencia del resistor, 200 kOhm #define THERMISTOR 100000 // resistencia nominal del termistor, 100 kOhm #define NOMINAL 25 // temperatura nominal #define sensor A1 void setup() { Serial.begin(9600); pinMode(sensor, INPUT); pinMode(10, OUTPUT); pinMode(12, OUTPUT); } void loop() { int t = analogRead(sensor); float tr = 1023.0 / t - 1; tr = RESISTOR / tr; Serial.print("R="); Serial.print(tr); Serial.print(", t="); float steinhart; steinhart = tr / THERMISTOR; steinhart = log(steinhart); steinhart /= B; steinhart += 1.0 / (NOMINAL + 273.15); steinhart = 1.0 / steinhart; steinhart -= 273.15; Serial.println(steinhart); if (steinhart < 24) { digitalWrite(10, HIGH); digitalWrite(12, LOW); } if (steinhart >= 24) { digitalWrite(10, LOW); digitalWrite(12, HIGH); } delay(100); }
Explicación del código para medir temperatura con termistor:
- dependiendo de la temperatura, se encenderá un LED u otro.
Conclusión. El uso de un termistor NTC Arduino es una de las formas más fáciles y baratas de medir la temperatura con un microcontrolador Arduino. A medida que cambia la temperatura ambiente, cambia la resistencia del termistor, por lo que su uso está justificado cuando no hay temperaturas extremas y la precisión de la medición no es crítica.

Deja una respuesta