KE0040 keyes 18B20温度传感器(焊盘孔) 红色环保

来自KEYES
跳转至: 导航搜索

概述

本传感器一个arduino专用传感器,它的连接端口兼容arduino传感器扩展板。该传感器主要由DS18B20可编程数字温度器等组成,具有体积小,抗干扰能力强,精度高的特点。它的测温范围 -55℃~+125℃,固有测温误差是1℃。传感器自带4个定位孔,方便你将传感器固定在其他设备。

KE0040.png


规格参数

1、工作电压:5V(DC)
2、接口:3PIN接口
3、输出信号:数字信号
4、重量:2.6g


连接图

KE0040-1.png


测试代码

// http://www.pjrc.com/teensy/arduino_libraries/OneWire.zip
#include <OneWire.h>
  int DS18S20_Pin = 3; //定义数字口3
OneWire ds(DS18S20_Pin);  
 void setup(void) {
  Serial.begin(9600); //设置波特率
}
 void loop(void) {
  float temperature = getTemp(); //调用函数计算温度值
  Serial.println(temperature); //显示温度值,并自动换行
   
  delay(100); //延迟0.1S   
}
float getTemp(){
  //returns the temperature from one DS18S20 in DEG Celsius
  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); // start conversion, with parasite power on at the end
  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 = data[1];
  byte LSB = data[0];
 
  float tempRead = ((MSB << 8) | LSB); //using two's compliment
  float TemperatureSum = tempRead / 16;  
  return TemperatureSum;   
}


测试结果

按照上图接好线,烧录好代码,上电后,通电后,我们可在软件串口监视器中看到当前环境温度值,如下图。

KE0040-2.png


相关库文件链接地址

http://url.cn/4AQLt0N