Read temperature with reliability with the OneWire DS18B20 digital temperature sensor
This digital temperature sensor offers excellent accuracy (±0.5°C over most of the temperature range). It uses the 1-wire protocol (supported on Arduino and Raspberry Pi) and communicates readings with a precision of up to 12 bits from the embedded analog-to-digital converter. It works really well with all microcontrollers using a single digital pin. You can even connect multiple sensors to a single pin because each sensor has a unique 64bits ID "engraved" at the factory. This makes it easy to differentiate them.
Usable with 3.0 and 5.0V systems.
The only bad thing is that it uses the Dallas 1-wire protocol, which is really complex, and requires a lot of code to handle the communication. There is a super 1-wire library for Arduino, but some microcontroller does not have a library that supports this protocol, so be sure to check!
The sensor comes with a 4.7K resistor, used as a pullup resistor between the DATA pin and VCC (absolutely necessary).
This sensor also exists in waterproof version
- Can be used over a wide temperature rate: -55 to 125°C
- Resolution: 9 to 12 bits (selectable)
- Interface: 1-Wire - Only one digital pin needed for communication.
- Unique ID 64 bit ID (assigned to the sensor during manufacture).
- Several sensors can share the same digital pin.
- Accuracy: ±0.5°C from -10°C to +85°C
- Alarm system when the limit temperature is reached.
- Response time: less than 750ms per sensor interrogation
- Usable from 3.0V to 5.5V for power and data