KY-001 Temperature Sensor

KY-001 Temperature Sensor

30.00 EGP

This module is suitable for Arduino, Raspberry Pi and similar Microcontrollers. As in the past the temperature sensor output is analog, we need to add additional A/D and D/A chip into Line conversion, for Arduino resources are not abundant external interface is a big challenge at the same time Utilization is not high. The new DS18B20 Temperature Sensor Module is a good solution for this, it use a unique bus line and economic package that make this sensor a good DIY component.

Out of stock


SKU: KY-001 Category: Tags: , , , , , , ,
Join Waitlist

Product Description

KY-001 Temperature Sensor Specifications

  1. The module uses a single-bus digital temperature sensor DS18B20, the external power supply voltage Range is 3.0 V to 5.5 V, No standby power. Measurement temperature range of -55 ° C to +125 , Fahrenheit equivalent 67 ° F to 257 ° F, -10 °C to +85 ° C range accuracy of ± 0.5 ° C.
  2. The temperature sensor is a programmable resolution of 9 to 12 temperature conversion to 12-bit digital format With a maximum of 750 milliseconds formula User definable nonvolatile temperature alarm settings.

Required Hardware Devices

  • Arduino controller × 1
  • KY-001 Temperature Sensor Module × 1
  • USB data cable × 1
  • download and install the OneWire libary

Connecting

  • Pin – = connect to Arduino GND
  • Pin (middel) = connect to arduino +5V
  • Pin S = Signal, in this example connect to Arduino Digital port 10

When everything is properly connected, there is a led on the module that blinks when the sensor is read.

Code

#include <OneWire.h>
 
// KY-001 Temperature Sensor with 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) {
 
  //For conversion of raw data to C
  int HighByte, LowByte, TReading, SignBit, Tc_100, Whole, Fract;
 
  byte i;
  byte present = 0;
  byte data[12];
  byte addr[8];
 
  if ( !ds.search(addr)) {
      Serial.print("No more addresses.n");
      ds.reset_search();
      return;
  }
 
  Serial.print("R=");
  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] == 0x10) {
      Serial.print("Device is a DS18S20 family device.n");
  }
  else if ( addr[0] == 0x28) {
      Serial.print("Device is a DS18B20 family device.n");
  }
  else {
      Serial.print("Device family is not recognized: 0x");
      Serial.println(addr[0],HEX);
      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(" ");
  }
  Serial.print(" CRC=");
  Serial.print( OneWire::crc8( data, 8), HEX);
  Serial.println();
 
  //Conversion of raw data to C
  LowByte = data[0];
  HighByte = data[1];
  TReading = (HighByte << 8) + LowByte;
  SignBit = TReading & 0x8000;  // test most sig bit
  if (SignBit) // negative
  {
    TReading = (TReading ^ 0xffff) + 1; // 2's comp
  }
  Tc_100 = (6 * TReading) + TReading / 4;    // multiply by (100 * 0.0625) or 6.25
 
  Whole = Tc_100 / 100;  // separate off the whole and fractional portions
  Fract = Tc_100 % 100;
 
 
  if (SignBit) // If its negative
  {
     Serial.print("-");
  }
  Serial.print(Whole);
  Serial.print(".");
  if (Fract < 10)
  {
     Serial.print("0");
  }
  Serial.print(Fract);
 
  Serial.print("n");
  //End conversion to C
}

KY-001 Temperature sensor DS18B20 Arduino


Video embedding powered by Webilop

Additional Information

Weight5 g

Reviews

There are no reviews yet.

Be the first to review “KY-001 Temperature Sensor”

Your email address will not be published. Required fields are marked *