“温度传感器 - DS18B20”的版本间的差异

来自YFRobotwiki
跳转至: 导航搜索
(以“ LM35模块 === 产品简介 === <br> 温度传感器 - DS18B20模块是基于DS18B20数字温度传感器设计的模块,...”为内容创建页面)
 
 
(未显示1个用户的6个中间版本)
第35行: 第35行:
 
:'''电路连接示意图'''
 
:'''电路连接示意图'''
 
<br>
 
<br>
::'''DS18B20模块'''的 G、V、S分别连接 '''Arduino UNO'''的GND、VCC(+5V) 、A0 引脚。
+
::'''DS18B20模块'''的 G、V、S分别连接 '''Arduino UNO'''的GND、VCC(+5V) 、D2 引脚。
  
 
   
 
   
第45行: 第45行:
  
 
<pre>
 
<pre>
//thermometer - Measuring temperature, record temperature fluctuations
 
  
int lm35Pin = A0;
+
/****************************************
 +
* DS18B20 Temperature measurement
 +
* serial print the Temperature of DS18B20
  
int temp = 0;
+
* http://www.yfrobot.com
int tempMin = 100;
+
*****************************************/
int tempMax = -100;
+
  
void setup() {
+
#include  <OneWire.h>   
   // put your setup code here, to run once:
+
#include  <DallasTemperature.h>
   Serial.begin(9600);
+
 
}
+
#define ONE_WIRE_BUS 2 // define the DS18B20 data port connection arduino D2 IO
 +
 
 +
OneWire oneWire(ONE_WIRE_BUS); // Initialization single bus device
 +
 
 +
DallasTemperature sensors(&oneWire);
 +
 
 +
void setup(void)  
 +
{  
 +
   Serial.begin(9600); // Set the baud rate
 +
   Serial.println("Dallas Temperature IC Control Library Demo");
 +
 
 +
  sensors.begin();  
 +
}  
  
void loop() {
+
void loop(void)  
   // put your main code here, to run repeatedly:
+
{
   for (int i = 0; i <= 9; i++) {
+
    
    int signVal = analogRead(lm35Pin);
+
   Serial.print("Requesting temperatures...");
    temp += (signVal * 5 * 100) / 1024;
+
  sensors.requestTemperatures(); // Send commands to take temperature
    signVal = 0;
+
  Serial.println("DONE");  
    delay(80);
+
 
   }
+
  Serial.print("Temperature for the device 1 (index 0) is: ");  
  temp = temp / 10;
+
   Serial.println(sensors.getTempCByIndex(0));
 
    
 
    
  if (temp > tempMax) {
 
    tempMax = temp;
 
  }
 
  if (temp < tempMin) {
 
    tempMin = temp;
 
  }
 
 
  Serial.print("Temp:");
 
  Serial.print(temp);
 
  Serial.print(" Cels,");
 
  Serial.print(" Min:");
 
  Serial.print(tempMin);
 
  Serial.print(" Max:");
 
  Serial.println(tempMax);
 
  temp = 0;
 
  delay(500);
 
 
}
 
}
</pre>
 
  
程序下载地址:[http://pan.baidu.com/s/19awQq thermometer]
 
  
 +
</pre>
 +
库文件DallasTemperature: [http://wiki.yfrobot.com/DS18B20/lib/DallasTemperature.zip DallasTemperature] [https://eyun.baidu.com/s/3bBWOEE 备用地址]
  
:'''串口监视结果'''
+
库文件OneWire:[http://file.yfrobot.com/wiki/DS18B20/lib/OneWire.zip OneWire] [https://eyun.baidu.com/s/3cNcrPc 备用地址]
<br>
+
 
[[Image:LM35串口监视结果.png|center|LM35串口监视结果]]
+
程序下载地址:[http://file.yfrobot.com/wiki/DS18B20/DS18B20.ino DS18B20.ino] [https://eyun.baidu.com/s/3mhQ5zKW 备用地址]
  
  
第100行: 第96行:
 
===参考资料===
 
===参考资料===
 
<br>
 
<br>
* [http://www.yfrobot.com/wiki/images/5/52/Lm35_datasheet.pdf LM35 数据参考 手册]
+
* [http://file.yfrobot.com/datasheet/DS18B20%20datasheet.pdf datasheet] [https://eyun.baidu.com/s/3skJ9HN3 备用地址]
* [http://www.datasheetcatalog.com/info_redirect/datasheet/nationalsemiconductor/DS005516.PDF.shtml 不同型号数据手册下载]
+
* [http://file.yfrobot.com/datasheet/DS18B20%E4%B8%AD%E6%96%87%E6%89%8B%E5%86%8C.pdf DS18B20中文 手册] [https://eyun.baidu.com/s/3o8FSugi 备用地址]
 
+
* [http://file.yfrobot.com/wiki/DS18B20/%E5%8D%95%E6%80%BB%E7%BA%BF%E7%AE%80%E4%BB%8B.pdf 单总线简介] [https://eyun.baidu.com/s/3jI5RaMq 备用地址]
 +
<br>
  
 
----
 
----

2021年1月7日 (四) 11:32的最后版本

LM35模块


产品简介


温度传感器 - DS18B20模块是基于DS18B20数字温度传感器设计的模块,可用来对环境温度进行检测;DS18B20数字温度传感器是美国 DALLAS 公司生产的一总线数字温度传感器。

其测温范围-55℃~+125℃,固有测温分辨率 0.5℃,支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温,测量结果以 9~12位数字量方式串行传送。


规格参数


  • 供电电压:DC3.3~5V
  • 精度:±0.5℃
  • 测量温度范围:-55℃ ~ 125℃
  • 安装孔径:3MM
  • 模块尺寸:28*21*9.4MM (长*宽*高)
  • 孔间距:15MM
  • 模块重量:2.2g


引脚说明


  • 1. G -- Gnd(地)
  • 2. V -- Vcc(电源+5V)
  • 3. S -- Sign(信号)


应用示例


电路连接示意图


DS18B20模块的 G、V、S分别连接 Arduino UNO的GND、VCC(+5V)、D2引脚。



示例代码

/****************************************
 * DS18B20 Temperature measurement 
 * serial print the Temperature of DS18B20 

 * http://www.yfrobot.com
 *****************************************/

#include  <OneWire.h>    
#include  <DallasTemperature.h>

#define ONE_WIRE_BUS 2 	// define the DS18B20 data port connection arduino D2 IO

OneWire oneWire(ONE_WIRE_BUS); // Initialization single bus device

DallasTemperature sensors(&oneWire); 

void setup(void) 
{ 
  Serial.begin(9600); // Set the baud rate
  Serial.println("Dallas Temperature IC Control Library Demo"); 

  sensors.begin(); 
} 

void loop(void) 
{  
  
  Serial.print("Requesting temperatures..."); 
  sensors.requestTemperatures(); 	// Send commands to take temperature
  Serial.println("DONE"); 

  Serial.print("Temperature for the device 1 (index 0) is: "); 
  Serial.println(sensors.getTempCByIndex(0));  
  
}


库文件DallasTemperature: DallasTemperature 备用地址

库文件OneWire:OneWire 备用地址

程序下载地址:DS18B20.ino 备用地址



参考资料





返回首页

更多建议和问题欢迎反馈至 YFRobot论坛

购买方式:YFRobot 电子工作室