108个传感器之-温度模拟传感器(5)

108个传感器之-温度模拟传感器(5)

介绍

DS18B20 是一种数字温度模拟传感器,可以测量摄氏度的温度。它提供不同的精度级别,从9位到12位。这意味着它可以提供非常精确的测量,更高的比特数可以提供更精确的温度测量。DS18B20的测量范围在 -55°C+125°C 之间,在 -10°C+85°C 的范围内精度为 ±0.5°C

DS18B20 使用所谓的 1-wire 总线与微处理器通信。这意味着只需要一条数据线来交换信息。传感器甚至可以从这条数据线获取电力,因此不需要额外的电源。这种操作模式被称为 “寄生功率”

每个DS18B20传感器都有一个唯一的64位串行代码。它就像每个传感器的唯一标识号,这意味着几个DS18B20传感器可以连接到同一个1-Wire总线,并且仍然可以单独识别和读取。这使得使用多个传感器实现网络变得容易。

该传感器在许多应用中特别有用,例如在供暖、通风和空调(HVAC)系统中,用于建筑物或机器中的温度监测以及过程监测和控制系统中。其他应用包括医疗设备、工业控制系统和冷却系统中的温度监测。

总之,DS18B20为温度测量提供了一种精确灵活的解决方案,布线简单,可以集成到具有多个传感器的复杂系统中。

Technical Data
芯片 DS18B20
通信协议 1-Wire
准确性 9 to 12 Bit
测量范围 -55 °C to +125 °C
测量精度 ±0.5 °C from -10 °C to +85 °C

引脚连接

示例图

pin 引脚连接开发板的 gpio 接口即可:

DEV BOARD Sensor
Pin signal
5 V +V
GND GND

代码示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <OneWire.h>
#include <DallasTemperature.h>

OneWire oneWire(2);
DallasTemperature sensors(&oneWire);

void setup() {
Serial.begin(9600);
sensors.begin();
}

void loop()
{
sensors.requestTemperatures();
Serial.print("Temperature: ");
Serial.print(sensors.getTempCByIndex(0));
Serial.println(" °C");

delay(1000);
}

小结

待完善…

108个传感器之-温度模拟传感器(5)

https://blog.jzxer.cn/20241218/20241219-temperature/

作者

dev

发布于

2024-12-18

更新于

2025-11-01

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×