Sensor Temperatura Ds18b20
- Rango
- −55 a 125 °C (el cable de PVC conviene usarlo por debajo de 100 °C)
- Precisión
- ±0,5 °C entre −10 y 85 °C
- Resolución
- 9 a 12 bits (hasta 0,0625 °C)
- Alimentación
- 3 a 5,5 V
Características
Sonda de temperatura sumergible con el sensor digital DS18B20 dentro de una punta de acero inoxidable sellada. Mide de −55 a 125 °C con una precisión de ±0,5 °C y se comunica por un solo cable de datos (bus 1-Wire), en el que se pueden conectar varias sondas a la vez.
Sirve para medir la temperatura de agua y otros líquidos, de la tierra o del aire.
| Rango | −55 a 125 °C (el cable de PVC conviene usarlo por debajo de 100 °C) |
|---|---|
| Precisión | ±0,5 °C entre −10 y 85 °C |
| Resolución | 9 a 12 bits (hasta 0,0625 °C) |
| Alimentación | 3 a 5,5 V |
| Cables | Rojo VCC, negro GND y amarillo datos (pueden variar según el fabricante) |
| Comunicación | 1-Wire: varias sondas en el mismo pin |
| Protección | Punta de acero inoxidable sellada |
¿Para qué sirve?
- Medir la temperatura del agua en acuarios, tanques y piscinas
- Termómetros para cocina, fermentación o incubadoras
- Temperatura de la tierra en invernaderos y cultivos
Diagrama de conexión de prueba
Placa usada: Arduino UNO
| Cable | Módulo | Arduino UNO | Nota |
|---|---|---|---|
| rojo | Rojo (VCC) | 5V | |
| negro | Negro (GND) | GND | |
| amarillo | Amarillo (datos) | D2 | Con resistencia de 4,7 kΩ a 5V |
Código de prueba
Instala desde el Gestor de librerías del IDE de Arduino: OneWire DallasTemperature
// Prueba del sensor DS18B20: muestra la temperatura en el Monitor serie.
// Necesita una resistencia de 4,7 kΩ entre el cable de datos y 5 V.
#include <OneWire.h>
#include <DallasTemperature.h>
const int PIN_DATOS = 2;
OneWire bus(PIN_DATOS);
DallasTemperature sensores(&bus);
void setup() {
Serial.begin(9600);
sensores.begin();
}
void loop() {
sensores.requestTemperatures(); // pide la medición (tarda menos de 1 s)
float temperatura = sensores.getTempCByIndex(0);
if (temperatura == DEVICE_DISCONNECTED_C) {
Serial.println("No se encuentra el sensor: revisa los cables y la resistencia");
} else {
Serial.print("Temperatura: ");
Serial.print(temperatura, 1);
Serial.println(" °C");
}
delay(1000);
}
Pon una resistencia de 4,7 kΩ entre el cable amarillo y 5 V. Abre el Monitor serie a 9600 baudios.
Precauciones
- Pon siempre la resistencia de 4,7 kΩ entre datos y 5 V: sin ella marca −127 °C u 85 °C.
- Si marca −127 °C con la resistencia puesta, revisa el orden de los cables: los colores cambian entre fabricantes.
- Sumerge la punta de acero, no la unión con el cable.
- No inviertas VCC y GND: el sensor se calienta y se daña.
Fuentes consultadas: SparkFun: sensor de temperatura sumergible DS18B20 · Circuit.Rocks: DS18B20 · Tinkered: DS18B20 sumergible. Ficha preparada por Electrodrone; verifica siempre el voltaje de tu módulo antes de conectarlo.