使用Arduino UNO和DS18B20防水温度传感器自制温度计!
在本篇文章中,我们将使用Arduino UNO开发板和DS18B20温度传感器来制作温度计。当高精度应用需要良好的响应能力时,DS18B20传感器是一个不错的选择。本文主要介绍如何将DS18B20连接到Arduino UNO开发板,然后将温度数据打印在LCD1602显示屏上。
DS18B20传感器概述 DS18B20传感器通过1线总线与Arduino通信。根据定义,只需要一条数据线与Arduino通信。
传感器的工作温度范围为-55°C至+ 125°C,精度为±0.5°C,范围为-10°C至+ 85°C。此外,DS18B20可以直接从数据线(“寄生电源”)接收电源,而无需外部电源。
每个DS18B20都有一个独特的64位串行代码或地址,允许多个DS18B20在同一条1线总线上运行。因此,使用微处理器可以轻松控制分布在大面积上的许多DS18B20。该功能的应用包括环境控制、建筑物中的温度监测系统和机械设备。
DS18B20功能 ● 仅需单个1线接口用于微控制器和传感器之间的通信。 ● 只需要一个外部元件:4.7kΩ电阻。 ● 它可以直接由数据线供电,需要3.0V至5.5V的电压。 ● 每个器件都有一个存储在板载ROM中的唯一64位串行代码。 ● 它可以测量-55°C至+ 125°C(-67°F至+ 257°F)的温度。 ● ±0.5°C±10°C至+ 85°C范围内的精度。
本文使用的DS18B20采用温度探头形式,防水。使用防水传感器可扩展温度传感器可测量的温度,包括水、化学品、茶和咖啡等液体的温度。
所需的硬件组件 ● Arduino UNO开发板 ● 液晶显示屏LCD1602 ● DS18B20温度传感器 ● 面包板
硬件组装 按照下图进行连接。
● VCC - > Arduino的5V,加上从VCC到Data的4.7K电阻 ● Data - > Arduino的引脚7 ● GND - > Arduino GND
液晶显示屏1602与Arduino UNO的连接 ● 引脚1 - > GND ● 引脚2 - > VCC ● 引脚3 - > Arduino引脚2 ● 引脚4 - > Arduino引脚3 ● 引脚5 - > GND ● 引脚6 - > Arduino引脚31 ● 引脚7 - 10 - > GND ● 引脚11 - > Arduino引脚22 ● 引脚12 - > Arduino引脚24 ● 引脚13 - > Arduino引脚26 ● 引脚14 - > Arduino引脚28 ● 引脚15 - > VCC至220欧姆电阻。 ● 引脚16 - > GND
将如上所示的电位计连接到LCD上的引脚3,用于控制对比度。
该项目可以在高达125°C的温度下工作。如果显示的温度值存在一些不一致,请仔细检查连接到DS18B20的电阻的连接。在如上所述固定所有组件之后,我们可以继续进行软件部分。
温度计的源代码 在上传源代码之前,您需要设置在Arduino IDE中运行此代码所需的两个库。 第一个库叫做OneWire。 第二个库叫做DallasTemperature。
下载两个库后,将文件移动到Arduino的默认库位置。接下来,将工程代码复制到Arduino IDE中,并在仔细检查传感器是否已正确连接后上传它。完整代码:
main.rar
(448 Bytes, 下载次数: 133)
我们可以用这个传感器测量高达100°C的温度! 它反应灵敏。 一旦您完成了项目设置,可以自行尝试将传感器浸入冷热水中。
如果您按照这个项目制作了自己的温度计,我很想看看您用它做什么! 您可以在本帖下面回复您的项目创意。 |