• Temperature Sensor Waterproof Probe DS18B20

Temperature Sensor Waterproof Probe DS18B20

  • RM15.90

  • Ex Tax: RM15.00
  • Product Code: Temperature Probe DS18B20
  • Availability: In Stock

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 SensorPin = 10; 
OneWire ds(SensorPin); 

void setup(void) {
    Serial.begin(9600);
}

void loop(void) {
    float temp = getTemp();
    Serial.println(temp);
    delay(100); 
}

float getTemp(){
    byte data[12];
    byte addr[8];

    if ( !ds.search(addr)) {
        //no more sensors on chain, reset search
        ds.reset_search();
        return -1000;
    }

    if ( OneWire::crc8( addr, 7) != addr[7]) {
        Serial.println("CRC is not valid!");
        return -1000;
    }

    if ( addr[0] != 0x10 && addr[0] != 0x28) {
        Serial.print("Device is not recognized");
        return -1000;
    }

    ds.reset();
    ds.select(addr);
    ds.write(0x44,1); 
    byte present = ds.reset();
    ds.select(addr); 
    ds.write(0xBE); 

    for (int i = 0; i < 9; i++) { 
        data[i] = ds.read();
    }

    ds.reset_search();
    byte MSB = data[1];
    byte LSB = data[0];

    float TRead = ((MSB 8) | LSB); 
    float Temperature = TRead / 16;

    return Temperature;

}


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

Write a review

Note: HTML is not translated!
    Bad           Good

 

Related Products