18B20 TEMPERATURE SENSOR MODULE

Description:

The item is delivered by the United States DALLAS DS18B20 digital temperature sensor can be organizing chip bundling is made with scraped spot safe touch, little size, simple to utilize, bundled in different structures, for an assortment of little spaces advanced temperature estimation and control gear. 

Technical performance Description:

The interesting single-wire interface mode, DS18B20 regarding the chip requires just a single port lines can be acknowledged with the DS18B20 microchip way correspondence; temperature extend: - 55 ~ +125, the inborn temperature goals 0.5; bolsters multi-point organize capacities, numerous DS18B20 can be paralleled in just three lines, most extreme shunt 8, if an unreasonable number of causes supply voltage is too low, bringing about shaky flag transmission, multi-point estimation temperature; working force: 3 ~ 5V/DC; being used does not require any outer segments; estimation results 9 to 12 way sequential computerized transmission; PVC link Grommet or German ball terminal box, simple association with other electrical hardware associations. 

Applications:

This item is appropriate for freezer, storehouses, stockpiling tanks, media communications room, control room, link trunking and other temperature estimation and control; bearing, cylinder, textile machinery, cooling, modern gear and other little space temperature estimation and control; car cooling , icebox, cooler, and other low-temperature stove; warming/cooling channel warm metering, focal cooling family unit warm metering and mechanical temperature estimation and control.

 Arduino Code:

#include 

/* DS18S20 Temperature chip i/o

 */

 OneWire ds(10); // on pin 10

 void setup(void) {

 // initialize inputs/outputs

 // start serial port

 Serial.begin(9600);

}

 void loop(void) {

 byte i;

 byte present = 0;

 byte data[12];

 byte addr[8];

 int Temp;

 if ( !ds.search(addr)) {

      //Serial.print("No more addresses.n");

      ds.reset_search();

      return;

 }

 

 Serial.print("R="); //R=28 Not sure what this is

 for( i = 0; i < 8; i++) {

   Serial.print(addr[i], HEX);

   Serial.print(" ");

 }

 

 if ( OneWire::crc8( addr, 7) != addr[7]) {

      Serial.print("CRC is not valid!n");

      return;

 }

 

 if ( addr[0] != 0x28) {

      Serial.print("Device is not a DS18S20 family device.n");

      return;

 }

 

 ds.reset();

 ds.select(addr);

 ds.write(0x44,1);        // start conversion, with parasite power on at the end

 

 delay(1000);    // maybe 750ms is enough, maybe not

 // we might do a ds.depower() here, but the reset will take care of it.

 

 present = ds.reset();

 ds.select(addr);

 ds.write(0xBE);   // Read Scratchpad

 

 Serial.print("P=");

 Serial.print(present,HEX);

 Serial.print(" ");

 for ( i = 0; i < 9; i++) {        // we need 9 bytes

   data[i] = ds.read();

   Serial.print(data[i], HEX);

   Serial.print(" ");

 }

 Temp=(data[1]<<8)+data[0];//take the two bytes from the response relating to temperature

 

 Temp=Temp>>4;//divide by 16 to get pure celcius readout

 

  //next line is Fahrenheit conversion

 Temp=Temp*1.8+32; // comment this line out to get celcius

 

 Serial.print("T=");//output the temperature to serial port

 Serial.print(Temp);

   Serial.print(" ");

 

 

 Serial.print(" CRC=");

 Serial.print( OneWire::crc8( data, 8), HEX);

 Serial.println();

}