在这个项目中,我们将学习单线数字式温度传感器DS18B20和Arduino DS18B20接口如何工作。
温度传感器是非常重要的设备,因为它们帮助我们测量,监测和维持一个房间的温度,仪器或设备。
以前我们几乎在每个温度相关的项目中都使用了非常流行的LM35温度传感器。我们现在将尝试不同的温度传感器DS18B20来测量温度使用Arduino。
相关项目:基于Arduino的数字温度计
DS18B20温度传感器概述
DS18B20是Maxim Integrated公司生产的一种单线(one-Wire)温度传感器。它提供温度测量摄氏度的分辨率为9位到12位。
DS18B20温度通过1线接口或1线总线交换信息,该系统由达拉斯半导体公司开发。在单线接口中,通信只需要一根线(好吧,技术上你需要两根线:一根数据线和一根地线)。
DS18B20温度传感器的另一个重要功能是,每个DS18B20传感器都带有一个64位的串行代码,这是特定于该传感器。
使用这个独特的代码,您可以连接多个DS18B20传感器在同一个1线总线上,并使用一个控制器访问信息。这种类型的设置可以在多个DS18B20传感器分布在一个巨大的区域的情况下很有用。
以下是DS18B20数字温度计的几个主要特点。
- 使用1线接口,只需要一根线进行数据传输。
- 可编程9位到12位分辨率。
- 它可以测量零下55度的温度0C + 1250C。
- 可在不同的包,如TO-92, 8-Pin SO和8-PinµSOP。
DS18B20引脚图
下图是TO-92封装的DS18B20数字温度传感器的引脚图。
DS18B20温度传感器引脚说明
从上面的引脚图可以看出,DS18B20 Sensor由三个引脚组成:VDD、DQ、GND。
VDD:这是电源插脚。当使用寄生电源模式时,它必须接地(稍后会详细介绍)。
DQ:这是数据输入/输出管脚。这是一个开式漏液销,必须拉高。它以寄生电源模式提供电源。
接地:这是接地针。
DS18B20的框图
下图为DS18B20温度传感器的功能框图。它由电源电路、64位ROM、内存控制器、主温度传感器和一个Scratchpad区域组成,该区域有一个温度寄存器和一些其他寄存器存储配置和报警高、低触发。
64位ROM存储设备唯一的串行代码。温度传感器的数字输出存储在刮板的2字节温度寄存器中。该刮板还包括1字节的报警高触发寄存器,报警低触发寄存器和配置寄存器每个。
使用配置寄存器,您可以设置数字输出的分辨率从9位到12位之间的任何位置。为了保留存储在配置、Alarm High和Alarm Low寄存器中的数据,即使在设备掉电时,这三个寄存器也被实现为EEPROM。
为DS18B20传感器供电
有两种方法可以启动DS18B20传感器。一种是传统的连接外部电源到V的方式DD传感器引脚。这个手术没什么特别的。
DS18B20传感器上电的第二种方法使事情变得有趣。第二种为传感器供电的方式被称为寄生电源模式,这种模式不需要外部电源。
在寄生电源模式下,当DS18B20被拉高时,从DQ引脚吸取电源。当单线总线为高电平时,为DS18B20供电。当总线低时,存储在寄生电源电容器(C页)将为传感器供电。在寄生能量模式下,VDD引脚连接GND。
DS18B20与Arduino的接口
在这个项目中,我们将看到如何连接DS18B20温度传感器与Arduino。由于传感器采用的是单线通信,因此Arduino与DS18B20之间只需要一根线。
Arduino DS18B20接口电路图
下图是Arduino DS18B20接口的电路图。
组件的要求
- Arduino UNO
- DS18B20数字温度传感器
- 16×2液晶显示器
- 10 kΩ电位计
- 4.7KΩ电阻(1/4瓦)
- 330Ω电阻(1/4瓦)
- 5毫米领导
- 连接电线
- 电路试验板
- 电力供应
电路设计
Arduino DS18B20接口电路的设计非常简单。你只需要连接V星人DD传感器的GND接+5V和GND,传感器的DQ引脚接任意一个数字I/O引脚(接数字I/O引脚8)。
DQ引脚使用4.7KΩ电阻高拉。
因为我们需要查看测量的温度,所以我在Arduino上连接了一个简单的16X2液晶显示器。
代码
项目的代码如下所示。您需要下载两个Arduino库:OneWire和dallasttemperature。你可从以下连结下载这些资料库:下载OneWire库而且下载DallasTemperature库.
Arduino DS18B20接口的工作
这个项目的工作很简单。Arduino通过1线接口与DS18B20通信,从传感器中提取温度信息。提取的信息将显示在16X2 LCD显示屏上。
应用程序
DS18B20温度传感器可用于各种应用,如:
- 温度计
- 温度敏感系统
- 消费电子产品
- 工业设备
- 恒温器
一个回应
谢谢你的精彩帖子!我当然喜欢读它,
你会成为一个伟大的作家。我将确保我收藏您的博客,并一定会回来在未来。
我想鼓励你继续你的伟大的岗位,有
一个美好的一天!