最新消息:

Arduino基础入门篇30—数字温度传感器DS18B20

Arduino 少儿编程 2094浏览 0评论

温度传感器的种类繁多,按照测量方式分为接触式和非接触式,按照传感器材料分为热电阻和热电偶两类,按照工作原理分为模拟式和数字式。上一篇介绍了模拟温度传感器LM35,本篇介绍数字温度传感器DS18B20的使用。

1. DS18B20介绍

DS18B20是常用的数字温度传感器,使用集成芯片,采用单总线技术,能够有效的减小外界的干扰,提高测量的精度。其输出的是数字信号,接线非常方便,封装成不同方式可以应用于不同场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式。

Arduino基础入门篇30—数字温度传感器DS18B20
DS18B20

主要特点:

  • 采用单总线的接口方式。只需要一条数据线就能双向通讯。
  • 测量范围宽,精度高。其测量范围为-55℃ ~ +125℃ ,在-10~+85℃ 范围内,精度为±0.5℃ 。
  • 多点组网功能。多个DS18B20可以并联在惟一的三线上,实现多点测温。
  • 供电方式灵活。可通过内部寄生电路从数据线上获取电源。
  • 测量参数可配置。DS18B20的测量分辨率可通过程序设定9~12位。
  • 掉电保护功能。内部含有EEPROM,在系统掉电以后,仍可保存分辨率及报警温度的设定值。
Arduino基础入门篇30—数字温度传感器DS18B20
封装

2. 实验材料

  • Uno R3开发板
  • 配套USB数据线
  • 面包板及配套连接线
  • DS18B20
  • 10K直插电阻

3. 安装库

本实验用到两个库,分别为「OneWire」和「DallaSTEMperature」,前者是单总线库,后者是在前者基础上针对Dallas温度传感器封装的库。

  • 在IDE中点击「项目」—「加载库」—「管理库」,查找「OneWire」,选择最新版本进行安装。目前最新版本为2.3.4。
Arduino基础入门篇30—数字温度传感器DS18B20
安装库1
  • 查找「DallaSTEMperature」,选择最新版本进行安装。目前最新版本为3.8.0。
Arduino基础入门篇30—数字温度传感器DS18B20
安装库2

4. 实验步骤

1. 根据原理图搭建电路图。

线路连接非常简单,DS18B20的VCC、DQ、GND分别连接到开发板的5V、2、GND。10K电阻一段连接VCC,另一端连接DQ,上拉电阻用于提高I/O口的驱动能力。

实验原理图如下图所示:

Arduino基础入门篇30—数字温度传感器DS18B20
电路连接图

实物连接图如下图所示:

Arduino基础入门篇30—数字温度传感器DS18B20
实物连接图

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

#include <OneWire.h>#include <DallasTemperature.h>
// 数据输出脚接开发板数字引脚2#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);DallasTemperature sensors(&oneWire);
void setup(void){  Serial.begin(9600);  sensors.begin();}
void loop(void){   sensors.requestTemperatures(); // 发送命令获取温度  Serial.print("Temperature for the device 1 (index 0) is: ");  Serial.println(sensors.getTempCByIndex(0));   delay(500); }

 

3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

Arduino基础入门篇30—数字温度传感器DS18B20
程序下载

5. 实验现象

打开串口监视器,波特率设置为9600,串口会循环打印读取的温度值。

Arduino基础入门篇30—数字温度传感器DS18B20
实验现象

转自公众号:
TonyCode

您必须 登录 才能发表评论!