Skip to content

Latest commit

 

History

History
64 lines (49 loc) · 2.44 KB

7.1.md

File metadata and controls

64 lines (49 loc) · 2.44 KB

Arduino温度传感器的使用

导入DS18B20库

DS18B20的读取实现比较复杂,我们这里就不详细介绍了,而是使用github开源的库来实现。我们先来看看如何在Arduino中导入库文件。

我们首先进入DS18B20库的github主页: https://github.com/milesburton/Arduino-Temperature-Control-Library ,点击Download Zip下载。


接下来,我们要导入这个库,解压Arduino-Temperature-Control-Library-master.zip,并把文件夹重命名为:DallasTemperature。


然后,我们进入Arduino的安装目录,可以看到有个叫libraries的文件夹,


接下来,我们把DallasTemperature文件夹移动到libraries目录下,就完成库的安装了。


DallasTemperature库依赖于一个叫OneWire的库,这个库的项目主页在https://github.com/PaulStoffregen/OneWire 上,我们重复之前的步骤,把文件夹重命名为OneWire,拷贝到libraries目录下。


运行测试

库导好之后,我们开始将DS18B20模块连接到我们的nano开发板上,DS18B20只有三个引脚,电源、地、还有数据线,把开发板的D2口和数据口相连,电源和地接好就行了。


接下来我们烧写DallasTemperature的示例代码,如下:

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

// 将DS18B20的数据口连接到2号引脚
#define ONE_WIRE_BUS 2
// 初始连接在单总线上的单总线设备
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup(void)
{
  // 串口设置
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");

  // 加载库
  sensors.begin();
}

void loop(void)
{
  Serial.print("Requesting temperatures...");
  sensors.requestTemperatures(); // 获取温度
  Serial.println("DONE");

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

  delay(1000);
}

这里我们使用串口把读取到的温度显示出来,下面编译、上传程序,打开串口监视器,就可以看到温度了。

链接