DS18B20 sumergible
Sensor digital de temperatura con sonda de acero inoxidable y 1 m de cable. Lo metés en agua, aceite o tierra, y te devuelve grados con un solo pin.
- Manual en español
- Código de ejemplo
- Soporte técnico
Temperatura digital, sin calibrar ni convertir
El DS18B20 es un sensor de temperatura digital: la medición y la conversión a grados las hace el chip, y te las entrega por el protocolo 1-Wire usando un solo pin de datos. Esta versión viene encapsulada en un tubo de acero inoxidable de 6 × 50 mm, sellado, con cable de 1 metro de tres hilos.
Cada sensor tiene un número de serie único de 64 bits, así que podés colgar varios del mismo pin y leerlos por separado: tres sondas, un cable, un GPIO.
Medir temperatura donde un sensor de placa no llega
Su ventaja es la sonda: mide dentro del líquido o del material, no el aire alrededor.
- Acuarios, peceras, piletas y tanques de agua.
- Fermentación (cerveza, vino, yogur) y sous-vide.
- Temperatura de suelo en huertas y cultivos.
- Cañerías, calefones, termotanques y colectores solares.
- Monitoreo ambiental de varios puntos con un solo microcontrolador.
Límites reales del sensor
Elegilo si
- Querés medir en líquidos o enterrado.
- Te sirve ±0,5 °C de precisión sin calibrar.
- Necesitás varios sensores con pocos pines.
- Hay distancia (varios metros) entre sensor y placa.
Mirá otra cosa si
- Necesitás respuesta rápida: la sonda tarda varios segundos en estabilizar.
- Hay presión o químicos agresivos: el acero aguanta, la unión con el cable no está pensada para eso.
- También querés humedad → un DHT22 / SHT31 (consultanos).
Ejemplo mínimo
Lee la temperatura cada segundo. Librerías OneWire y DallasTemperature (se instalan desde Arduino IDE). Sirve para ESP32, ESP32-C3 y Arduino.
#include <OneWire.h> #include <DallasTemperature.h> OneWire oneWire(4); // DATA en GPIO 4 + resistencia 4,7 kΩ a 3,3 V DallasTemperature sensores(&oneWire); void setup() { Serial.begin(115200); sensores.begin(); } void loop() { sensores.requestTemperatures(); Serial.printf("%.2f °C\n", sensores.getTempCByIndex(0)); delay(1000); }
En la guía: cómo leer varios sensores por su ID, resolución vs. tiempo de lectura, y envío por WiFi.
Lo que más consultan
- Lee -127 °C o 85 °C: falta la resistencia pull-up de 4,7 kΩ entre DATA y VCC, o los cables están invertidos. Es el error número uno; viene explicado con foto en el manual.
- Colores del cable: rojo = VCC (3,3 V o 5 V), negro = GND, amarillo (a veces blanco o azul) = DATA. Si tu unidad varía, en la guía está cómo verificarlo con un multímetro.
- La lectura salta o tarda: a 12 bits cada conversión lleva 750 ms; bajá la resolución a 10 bits si necesitás más velocidad y te alcanza con 0,25 °C.
- Mide distinto que el termómetro: ±0,5 °C es lo normal. Si necesitás menos, en la guía hay un procedimiento de calibración con agua con hielo.