¿Por qué el DS18B20 es especial?
El DHT11 y DHT22 no son aptos para inmersión en líquidos. El DS18B20, en cambio, existe en encapsulado TO-92 (para PCB) y en versión impermeable con sonda de acero inoxidable, ideal para medir temperatura de agua, aceite, suelo o cualquier líquido corrosivo. Además, su protocolo 1-Wire permite conectar múltiples sensores en el mismo pin con identificación única (ROM Code) para cada uno.
El DS18B20 con sonda impermeable está disponible en Especificar.cl.
Protocolo 1-Wire
- Solo necesita 1 pin de datos (más GND y VCC)
- Resistencia pull-up de 4.7kΩ obligatoria entre el pin de datos y VCC
- Hasta 127 sensores en el mismo bus con direccionamiento único
- Rango de temperatura: -55°C a +125°C
- Precisión: ±0.5°C entre -10°C y +85°C
- Resolución configurable: 9 a 12 bits (0.5°C a 0.0625°C)
Librería OneWire y DallasTemperature
Instala las librerías OneWire de Paul Stoffregen y DallasTemperature de Miles Burton en el Arduino IDE. Con sensors.requestTemperatures() solicitas la medición (tarda ~750ms en 12 bits) y con sensors.getTempCByIndex(0) lees el resultado del primer sensor. Para múltiples sensores, itera con el índice (0, 1, 2...).
Monitoreo de temperatura de acuario
Un DS18B20 impermeable sumergido en el acuario mide la temperatura del agua constantemente. El Arduino activa un calentador (mediante relé) cuando la temperatura cae bajo 24°C y lo apaga cuando llega a 26°C. Una pantalla LCD muestra la temperatura actual y el estado del calentador. Este control de dos puntos (on-off) es simple pero efectivo para acuarios y terrarios.