Description
Waterproof Temperature Sensor, DS18B20, High Temperature -Sparkfun SEN-18367
This sealed digital temperature probe lets you precisely measure temperatures in wet environments with a simple 1-Wire interface. The DS18B20 provides 9 to 12-bit (configurable) temperature readings over a 1-Wire interface, so that only one wire (and ground) needs to be connected from a central microprocessor. Power for reading, writing, and performing temperature conversions can be derived from the data line itself with no need for an external power source.
Because each DS18B20 contains a unique silicon serial number, multiple DS18B20s can exist on the same 1-Wire bus. This allows for placing temperature sensors in many different places. Applications where this feature is useful include HVAC environmental controls, sensing temperatures inside buildings, equipment or machinery, and process monitoring and control.
Another lower temp version of the DS18B20 temp sensor is available as PPSEN-11050 where the cable can be kept at temperatures lower than +85°C
Note: The pinout for this sensor is as follows: RED=Vcc BLACK=GND WHITE=SIG
DS18B20 Features:
- 3.0-5.5V input voltage
- -55°C to +125°C temperature range (full cable is rated to 125°C, which is different to PPSEN-11050, where only the sensor is rated to that, not the cable)
- ±0.5°C accuracy from -10°C to +85°C
- Waterproof
- 1 Wire interface
- Probe is 7mm in diameter and roughly 26mm long. Overall length (including wire) is 6 feet.
- Thermometer resolution is programmable from 9 to 12 bits.
- Electrical performance: no flicker or breakdown within AC 1200V/1S ,within DC 500V the insulation resistance shall be greater than 100MΩ
Connecting DS18B20+ to Arduino:
You'll need to download the Arduino Librarys "OneWire" and "DallasTemp" which you can find below, and install them to your Arduino Libraries folder.
Connect your Arduino as per this diagram:
- You don't need a Scottish Uno, and 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]
Waterproof Temperature Sensor Documents:
- DS18B20 Datasheet
- OneWire (Arduino Library)
- DallasTemp (Arduino Library)