首页

Arduino DS18B20接口教程

在这个项目中,我们将学习单线数字式温度传感器DS18B20和Arduino DS18B20接口如何工作。

温度传感器是非常重要的设备,因为它们帮助我们测量,监测和维持一个房间的温度,仪器或设备。

以前我们几乎在每个温度相关的项目中都使用了非常流行的LM35温度传感器。我们现在将尝试不同的温度传感器DS18B20来测量温度使用Arduino。

相关项目:基于Arduino的数字温度计

DS18B20温度传感器概述

DS18B20是Maxim Integrated公司生产的一种单线(one-Wire)温度传感器。它提供温度测量摄氏度的分辨率为9位到12位。

DS18B20温度通过1线接口或1线总线交换信息,该系统由达拉斯半导体公司开发。在单线接口中,通信只需要一根线(好吧,技术上你需要两根线:一根数据线和一根地线)。

Arduino DS18B20温度传感器

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数字温度传感器的引脚图。

Arduino DS18B20温度传感器引脚

DS18B20温度传感器引脚说明

从上面的引脚图可以看出,DS18B20 Sensor由三个引脚组成:VDD、DQ、GND。

VDD这是电源插脚。当使用寄生电源模式时,它必须接地(稍后会详细介绍)。

DQ:这是数据输入/输出管脚。这是一个开式漏液销,必须拉高。它以寄生电源模式提供电源。

接地:这是接地针。

DS18B20的框图

下图为DS18B20温度传感器的功能框图。它由电源电路、64位ROM、内存控制器、主温度传感器和一个Scratchpad区域组成,该区域有一个温度寄存器和一些其他寄存器存储配置和报警高、低触发。

Arduino DS18B20温度传感器框图

64位ROM存储设备唯一的串行代码。温度传感器的数字输出存储在刮板的2字节温度寄存器中。该刮板还包括1字节的报警高触发寄存器,报警低触发寄存器和配置寄存器每个。

使用配置寄存器,您可以设置数字输出的分辨率从9位到12位之间的任何位置。为了保留存储在配置、Alarm High和Alarm Low寄存器中的数据,即使在设备掉电时,这三个寄存器也被实现为EEPROM。

为DS18B20传感器供电

有两种方法可以启动DS18B20传感器。一种是传统的连接外部电源到V的方式DD传感器引脚。这个手术没什么特别的。

Arduino DS18B20温度传感器外部电源

DS18B20传感器上电的第二种方法使事情变得有趣。第二种为传感器供电的方式被称为寄生电源模式,这种模式不需要外部电源。

Arduino DS18B20温度传感器寄生电源

在寄生电源模式下,当DS18B20被拉高时,从DQ引脚吸取电源。当单线总线为高电平时,为DS18B20供电。当总线低时,存储在寄生电源电容器(C)将为传感器供电。在寄生能量模式下,VDD引脚连接GND。

DS18B20与Arduino的接口

在这个项目中,我们将看到如何连接DS18B20温度传感器与Arduino。由于传感器采用的是单线通信,因此Arduino与DS18B20之间只需要一根线。

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温度传感器可用于各种应用,如:

  • 温度计
  • 温度敏感系统
  • 消费电子产品
  • 工业设备
  • 恒温器

一个回应

  1. 谢谢你的精彩帖子!我当然喜欢读它,
    你会成为一个伟大的作家。我将确保我收藏您的博客,并一定会回来在未来。
    我想鼓励你继续你的伟大的岗位,有
    一个美好的一天!

留下一个回复

你的电邮地址不会被公布。

Electronicshub图标
Baidu
map