Temperature Sensor Waterproof Probe DS18B20

100.00 EGP

sensor used to measure temperature in liquids

SKU: Temperature Sensor Probe DS18b20 Categories:
Share:

DS18B20 temperature sensor probe chip with high-quality stainless steel anti-rust waterproof probe housing. Ideal for getting soil temperature, Arduino and other development systems.
Features:

  • Stainless steel casing (6 * 30mm), length 100cm lead
  • 3.0V ~ 5.5V DC power supply
  • Temperature range -55?C?~ 125?C
  • No external components, unique single bus interface
  • Output leads: Will be 1 of the below configurations.

 

Connect Probe with your Arduino Tutorial (garagelab)

Connection:?The sensor has 3 wires: red (VCC), black (GND) and white/yellow (DATA).
Connect the red to 5V, the black to GND and the white to the digital pin D10. Then, put a 4.7kohm resistor between the white wire and the 5V.
Now, download and install this?library. Then upload the following code:

#include <OneWire.h>
int DS18S20_Pin = 10; //DS18S20 Signal pin on digital 2
//Temperature chip i/o
OneWire ds(DS18S20_Pin); // on digital pin 2
void setup(void) {
  Serial.begin(9600);
}
void loop(void) {
  float temperature = getTemp(); //will take about 750ms to run
  Serial.println(temperature);
}
float getTemp(){
    //returns the temperature from one DS18S20 in DEG Celsius
    byte data12;
    byte addr8;
    if ( !ds.search(addr)) {
      //no more sensors on chain, reset search
      ds.reset_search();
      return -1000;
    }
    if ( OneWire::crc8( addr, 7) != addr7) {
      Serial.println("CRC is not valid!");
      return -2000;
    }
    if ( addr != 0x10 && addr != 0x28) {
      Serial.print("Device is not recognized");
      return -3000;
    }
    ds.reset();
    ds.select(addr);
    ds.write(0x44,1); // start conversion, with parasite power on at the end
    delay(750); // Wait for temperature conversion to complete
    byte present = ds.reset();
    ds.select(addr);
    ds.write(0xBE); // Read Scratchpad
    for (int i = 0; i < 9; i  ) { // we need 9 bytes
      data[i] = ds.read();
    }
    ds.reset_search();
    byte MSB = data1;
    byte LSB = data;
    float tempRead = ((MSB << 8) | LSB); //using two's compliment
    float TemperatureSum = tempRead / 16;
    return TemperatureSum;
}

The above code acquires the temperature in Celsius and display it over the serial connection. The Arduino checks if the sensor is connected. Then it sends the sensor address and reads the data.
Open the serial monitor and start reading the temperature!

Also, you can convert Celsius to?Fahrenheit.?Have fun!

References:
http://bildr.org/2011/07/ds18b20-arduino/
http://www.arduino.cc/playground/Learning/OneWire
https://rik94566.wordpress.com/tag/miles-burton/

Datasheet:
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Temp/DS18B20.pdf

You may also like…

Shopping cart
Sign in


No account yet?

Create an Account
اقدر اخدمك ازي يا فندم ؟
Scan the code