风筝
发表于: 2019-1-29 13:48:22 | 显示全部楼层

使用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可以直接从数据线(“寄生电源”)接收电源,而无需外部电源。

The DS18B20 pin out.jpeg


每个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采用温度探头形式,防水。使用防水传感器可扩展温度传感器可测量的温度,包括水、化学品、茶和咖啡等液体的温度。

The DS18B20 temperature probe.jpeg


所需的硬件组件

●    Arduino UNO开发板

●    液晶显示屏LCD1602

●    DS18B20温度传感器

●    面包板

UNO.jpeg


硬件组装

按照下图进行连接。

connections.jpeg

●    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, 下载次数: 142)


我们可以用这个传感器测量高达100°C的温度! 它反应灵敏。 一旦您完成了项目设置,可以自行尝试将传感器浸入冷热水中。

The completed thermometer at work!.jpeg


如果您按照这个项目制作了自己的温度计,我很想看看您用它做什么! 您可以在本帖下面回复您的项目创意。

跳转到指定楼层
lqk
发表于: 2020-6-1 11:31:42 | 显示全部楼层

第一行那里显示温度会有点延时有改进办法吗
回复

使用道具 举报

子忆poi
发表于: 2020-6-7 08:01:07 | 显示全部楼层

可以做温控风扇调速
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 700 | 回复: 1480



手机版|

GMT+8, 2024-4-18 09:20 , Processed in 0.135925 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表