Uso Fácil de Termistor: Guía Paso a Paso con Arduino
Componentes y suministros
| Termistor NTC 10K | × | 1 |
| Resistencia 10k ohm | × | 1 |
| Arduino UNO | × | 1 |
| Cables jumpers (genéricos) | × | 1 |
| Protoboard (genérica) | × | 1 |
Aplicaciones y servicios en línea
- Arduino IDE
- Arduino Web Editor
Sobre el proyecto
¿Qué tan fácil es usar un termistor?
En este artículo explicaré cómo usar un termistor. Primero, ¿qué es un termistor? Un termistor es un tipo de resistor cuya resistencia depende de la temperatura. Existen dos tipos opuestos de termistor:
- PTC (Positivo Temperatura Coeficiente), la resistencia aumenta al subir la temperatura
- NTC (Negativo Temperatura Coeficiente), la resistencia disminuye al subir la temperatura
En este caso uso NTC.
Un poco de matemáticas
Para calcular la resistencia del termistor usamos una fórmula simple llamada ecuación con parámetro B (solo para termistores NTC).
Donde:
ees la base del logaritmo naturalR0es la resistencia del termistor medida a la temperatura T0Bes un coeficiente constante que depende de las características del material, es una constante expresada en K, y su valor lo indican los fabricantes en las hojas técnicas
Para calcular la temperatura necesitamos conocer la resistencia RT usando las leyes de Ohm.

Esta es una versión esquemática del circuito.
RT = VRT / (VR/R)
Ahora tenemos todos los datos para calcular la temperatura.
Recuerde convertir todos los parámetros (por ejemplo T0) a Kelvin antes de los cálculos, y el resultado también estará en Kelvin.
Este es el resultado


Código
Termistor Arduino
// Termómetro con termistor
/* Parámetros del termistor:
* RT0: 10 000 Ω
* B: 3977 K +- 0.75%
* T0: 25 C
* +- 5%
*/
// Estos valores están en la hoja de datos
#define RT0 10000 // Ω
#define B 3977 // K
//--------------------------------------
#define VCC 5 // Voltaje de alimentación
#define R 10000 // R=10KΩ
// Variables
float RT, VR, ln, TX, T0, VRT;
void setup() {
Serial.begin(9600);
T0 = 25 + 273.15; // Temperatura T0 de la hoja de datos, conversión de Celsius a Kelvin
}
void loop() {
VRT = analogRead(A0); // Lectura analógica de VRT
VRT = (5.00 / 1023.00) * VRT; // Conversión a voltaje
VR = VCC - VRT;
RT = VRT / (VR / R); // Resistencia de RT
ln = log(RT / RT0);
TX = (1 / ((ln / B) + (1 / T0))); // Temperatura del termistor
TX = TX - 273.15; // Conversión a Celsius
Serial.print("Temperatura:");
Serial.print("\t");
Serial.print(TX);
Serial.print("C\t\t");
Serial.print(TX + 273.15); // Conversión a Kelvin
Serial.print("K\t\t");
Serial.print((TX * 1.8) + 32); // Conversión a Fahrenheit
Serial.println("F");
delay(500);
}
Esquemas
Proceso de manufactura
- Medición de la Calidad del Aire con OpenSensors: Guía para Arduino y Python
- Dominando las Técnicas de Afiladora de Herramientas: Guía Práctica
- Navegando Nuestro Sitio: Guía Completa para Añadir, Comprar y Descargar Archivos DXF
- Aprovechando Azure DevOps: prácticas probadas para entrega acelerada
- Cómo el molibdeno moldea la industria moderna: usos, beneficios y dinámica de suministro
- Cómo usar correctamente una manta antifuego: Supresión rápida, segura y eficaz
- Uso de funciones impuras en VHDL: Mejorando legibilidad y mantenibilidad de FSM
- Dominando funciones VHDL: Guía práctica para diseño eficiente
- Uso de procedimientos en VHDL: Simplifique su diseño con código reutilizable
- Dominando bucles While en VHDL: Control dinámico de iteración
- Dominando bucles For en VHDL: Guía práctica