Arduino - One Wire Digital Temperature Sensor - DS18B20

The one wire Digital Temperature Sensor - DS18B20 from Maxim (formerly Dallas) is a great chip for measuring temperature in your projects. Luckily, there is a Dallas Temperature library for the arduino which makes using this sensor very easy.

Drag and drop the DallasTemperture folder into your arduino/libraries folder

If you dont already have the OneWire library then you will need to copy that folder into the libraries folder also.

Now, before we get to the programming part, lets wire up our temperature sensor. The DS18B20 can be powered by between 3.0V and 5.5V so you can simply connect its GND pin to 0V and the VDD pin to +5V from the Arduino. However, the DS18B20 can also extract its power from the data line which means we only effectively need two wires to connect it up. This makes it great for use as an external sensor.

So we will use the 2 wire method. Simply connect both the GND and VDD pins to 0V (yes both). Then connect the DQ pin to pin 2 on the Arduino board (can be any Arduino digital pin)

A 4K7 ohm pullup resistor is required on the DQ pin to pull it up to 5V

Here is our sensor setup on a breadboard

Here's a closeup. The brown wire connects pins 1 and 3 together, and the black wire connects them both to 0V. The orange wire is our signal wire to pin 2 on the Arduino, and there is a 4K7 pullup resistor to 5V

Next, load up the sketch below and upload it to your Arduino board. Using the Dallas Temperature Library makes getting the temperature easy.