DS18B20 数字温度传感器
下载安装库:
- "OneWire" By Paul Stoffregen

- "DallasTemperature" By Miles Burton

演示代码:
#include <OneWire.h>
#include <DallasTemperature.h>
// 数据线连接到 Arduino 的 D2 引脚
#define ONE_WIRE_BUS 2
// 创建一个单总线对象,用于与单总线设备通信
OneWire oneWire(ONE_WIRE_BUS);
// 将单总线对象传递给 DallasTemperature 库
DallasTemperature sensors(&oneWire);
void setup() {
// 初始化串口通信,波特率为 9600
Serial.begin(9600);
Serial.println("DS18B20 温度传感器测试...");
// 初始化传感器
sensors.begin();
}
void loop() {
// 向总线上的所有传感器发送温度转换指令
sensors.requestTemperatures();
// 读取索引为 0 的传感器温度(如果只有一台,那就是 0)
float tempC = sensors.getTempCByIndex(0);
// 检查读取是否成功(如果没接上拉电阻,可能会返回 -127)
if(tempC == DEVICE_DISCONNECTED_C) {
Serial.println("错误:未找到 DS18B20 传感器,请检查接线!");
} else {
Serial.print("当前温度: ");
Serial.print(tempC);
Serial.println(" ℃");
}
// 每隔 1 秒读取一次
delay(1000);
}