These 1-wire digital temperature sensors are fairly precise (+-0.5C over much of the range) and can give up to 12 bits of precision from the onboard digital-to-analog converter. They work great with any microcontroller using a single digital pin, and you can even connect multiple ones to the same pin, each one has a unique 64-bit ID burned in at the factory to differentiate them. Usable with 3.0-5.0V systems.
The only downside is they use the Dallas 1-Wire protocol, which is somewhat complex, and requires a bunch of code to parse out the communication. There's a great Arduino library for 1-Wire, but some microcontrollers do not have support for 1-Wire so be sure to check!
We toss in a 4.7k resistor, which is required as a pullup from the DATA to VCC line when using the sensor. We don't have a detailed tutorial up yet but you can get started by using the Dallas Temperature Control Arduino library which requires also the OneWire Library.
Technical specs:
- Usable temperature range: -55 to 125C (-67F to +257F)
- 9 to 12 bit selectable resolution
- Uses 1-Wire interface- requires only one digital pin for communication
- Unique 64 bit ID burned into chip
- Multiple sensors can share one pin
- Plus or minus 0.5C Accuracy from -10C to +85C
- Temperature-limit alarm system
- Query time is less than 750ms
- Usable with 3.0V to 5.5V power/data
DS18B20 Datasheet