Description
One Wire Digital Temperature Sensor - DS18B20+
This is the latest DS18B20 1-Wire digital temperature sensor from Maxim IC. Reports degrees C with 9 to 12-bit precision, -55C to 125C (+/-0.5C). Each sensor has a unique 64-Bit Serial number etched into it - allows for a huge number of sensors to be used on one data bus.
This is a wonderful part that is the cornerstone of many data-logging and temperature control projects.
DS18B20+ Features:
- Unique 1-Wire interface requires only one port pin for communication
- Each device has a unique 64-bit serial code stored in an onboard ROM
- Multidrop capability simplifies distributed temperature sensing applications
- Requires no external components
- Can be powered from the data line. The power supply range is 3.0V to 5.5V
- Measures temperatures from -55°C to +125°C (-67°F to +257°F)
- ±0.5°C accuracy from -10°C to +85°C
- Thermometer resolution is user-selectable from 9 to 12 bits
- Converts temperature to 12-bit digital word in 750ms (max.)
- User-definable nonvolatile (NV) alarm settings
- Alarm search command identifies and addresses devices whose temperature is outside of programmed limits (temperature alarm condition)
- Applications include thermostatic controls, industrial systems, consumer products, thermometers, or any thermally sensitive system
DS18B20+ Specifications:
- Supply voltage: 3.0 to 5.5 V
- Standby current: 1 μA
- Active current: 1.5 mA
- Measuring range: -55 °C to + 125 °C (-67 °F to +257 °F)
- Accuracy (Thermometer Error):
- ±0.5 °C from -10 °C to +85 °C
- ±1 °C from -30 °C to +100 °C
- ±2 °C from -55 °C to +125 °C
- Resolution: 9-bit to 12-bit (programmable)
- Conversion time: < 750 ms (12-bit resolution)
- Communication protocol: 1-Wire® bus protocol
- Package: 3-pin TO-92
DS18B20+ (TO-220) Device Pin Out:
DS18B20+ Block Diagram:
Connecting DS18B20+ to Arduino:
You'll need to download the Arduino Libraries "OneWire" and "DallasTemp" which you can find below, and install them to your Arduino Libraries folder.
Connect your Arduino as per this diagram:
Notes:
- You don't need a Scottish Uno, an ordinary Uno will do!
- You only need one 4.7K resistor per circuit, no matter how many temperature sensors you add in a daisy chain formation
Example Arduino Code for DS18B20+:
[code lang="arduino"]
/* Example code for the DS18B20+ One-Wire Digital Temperature Sensor */
// Include Arduino libraries:
#include
#include
// Define the Arduino data pin connected to the 1-Wire bus:
#define ONE_WIRE_BUS 2
// Create a new instance of the oneWire class to communicate with any OneWire device:
OneWire oneWire(ONE_WIRE_BUS);
// Pass the oneWire reference to DallasTemperature library:
DallasTemperature sensors(&oneWire);
void setup() {
// Begin serial communication at a baud rate of 9600:
Serial.begin(9600);
// Start up the library:
sensors.begin();
}
void loop() {
// Send the command for all devices on the bus to perform a temperature conversion:
sensors.requestTemperatures();
// Fetch the temperature in degrees Celsius for device index:
float tempC = sensors.getTempCByIndex(0); // the index 0 refers to the first device
float tempF = sensors.getTempFByIndex(0); // Fetch the temperature in degrees Fahrenheit for device index
Serial.print("Temperature: "); //Output to the serial monitor
Serial.print(tempC); // Print the temperature in Celsius
Serial.print(" \xC2\xB0");
Serial.print("C | ");
Serial.print(tempF);// Print the temperature in Fahrenheit
Serial.print(" \xC2\xB0");
Serial.println("F");
// Wait 1 second:
delay(1000);
}
[/code]
DS18B20+ Documents:
- DS18B20 Datasheet
- OneWire (Arduino Library)
- DallasTemp (Arduino Library)
- DS18B20 PCB (Eagle PCB Data File)
- TO-92 Step File (Mechanical Model)
Additional Information
Brand: |
MAXIM |
Part Number: |
SEN-00245, DS18B20 |
Barcode: |
5055421000257 |
3 Reviews
-
Title of review 1037
Very simple to use and apparently reliable...also very cheap. A little small / fiddly. Doesn't need an A2D converter..works straight away with a Pi.
-
Title of review 1036
These are great little sensors. They are easy to connect up, read and manage. They work over a wide range of temperatures and they are accurate and easy to callibrate.
-
Title of review 1062
How to use the sensor to the arduino ? and the code in arduino, please help :(