DS18B20温度探头
DS18B20数字温度传感器提供9位至12位精度的温度测量,并具有非易失性用户可编程上下触发点报警功能。DS18B20通过单总线通信,根据定义,只需要一条数据线(和地线)即可与单片机通信。此外,DS18B20可以直接从数据线获得电源(“寄生电源”),消除了每个DS18B20都有一个唯一的64位串行代码,这允许多个DS18B20在同一条总线上工作。因此,使用一个微处理器来实现是很简单的。
控制分布在大面积上的许多ds18b20。可以从此功能中受益的应用包括HVAC环境控制,建筑物,设备或机械内部的温度监测系统以及过程监测和控制系统。
模块来源
规格参数
工作电压:3-5.5V
工作电流:750nA~1.5mA
测量分辨率:9位到12位可编程分辨率
温度量程: -55 ~ +125 ℃
测量精度:±0.5 ℃
通信协议:单总线
管脚数量:3 Pin(2.54mm间距排针)
硬件连接
红线:连接到开发板的5V。
黄线(数据线):连接到开发板的2号引脚。
黑线:连接到开发板的GND。
使用方法
安装库
首先,确保你已经下载并安装了OneWire和DallasTemperature库。在Arduino IDE中,可以通过 工具 > 管理库… 搜索并安装这两个库。
编写代码
c
/******************************************************************************
* 测试硬件:ColorEasyDuino开发板
* 版 本 号: V1.0
* 修改作者: www.lckfb.com
* 修改日期: 2024年04月09日
* 功能介绍:
*****************************************************************************
* 开发板软硬件资料与相关项目软硬件资料官网全部开源
* 开发板官网:www.lckfb.com
* 技术支持常驻论坛,任何技术问题欢迎随时交流学习
* 立创论坛:club.szlcsc.com
* 关注bilibili账号:【立创开发板】,掌握我们的最新动态!
* 不靠卖板赚钱,以培养中国工程师为己任
******************************************************************************/
#include <OneWire.h>
#include <DallasTemperature.h>
// 数据线接到开发板 2号引脚
#define ONE_WIRE_BUS 2
// 设置OneWire实例来通讯
OneWire oneWire(ONE_WIRE_BUS);
// 传递oneWire引用到DallasTemperature库
DallasTemperature sensors(&oneWire);
void setup(void) {
// 开启串行通信
Serial.begin(9600);
// 启动温度传感器
sensors.begin();
}
void loop(void) {
// 发送指令以获取所有传感器的温度
sensors.requestTemperatures();
// 打印温度信息,使用索引0,因为假定只有一个DS18B20在总线上
Serial.print("Temperature for the device 1 (index 0) is: ");
Serial.println(sensors.getTempCByIndex(0));
// 稍作延迟,不要太频繁读取
delay(1000);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44