arduino中使用ds18b20
时间: 2024-09-30 13:00:54 浏览: 44
在Arduino中,DS18B20是一种常用的数字温度传感器,它属于1-Wire总线系统。要使用它,你需要完成以下几个步骤:
1. **硬件连接**:
- 将DS18B20传感器连接到Arduino的一个数字输入引脚(通常5V供电)。数据引脚(Dallas I2C地址)则通过4根电线连接到数字引脚上:VCC(5V)、GND、DATA(通常接数字IO口)和WR(写入信号)。
2. **库安装**:
- Arduino的库中已经包含了支持DS18B20的代码,所以无需额外下载。如果你的Arduino IDE还没有集成这个库,可以在"Sketch" -> "Include Library" -> "OneWire" 中找到并安装。
3. **编写代码**:
```cpp
#include <OneWire.h> // 引入OneWire库
#include <DallasTemperature.h> // 引入DS18B20库
OneWire oneWire(4); // 数据线连接到数字4引脚
DallasTemperature sensors(&oneWire); // 初始化DallasTemperature对象
void setup() {
Serial.begin(9600);
sensors.begin(); // 初始化OneWire总线
}
void loop() {
sensors.requestTemperatures(); // 请求所有已知设备的温度读取
for (int i = 0; i < sensors.getNumberOfDevices(); i++) {
float temperature = sensors.getTempCByIndex(i); // 获取第i个设备的温度
Serial.print("Device ");
Serial.print(i+1);
Serial.print(": ");
Serial.print(temperature);
Serial.println(" °C");
}
delay(1000); // 等待1秒后再请求下一次温度读取
}
```
4. **运行程序**:
- 保存并上传这段代码到Arduino板子,然后打开串行监视器查看温度读数。
注意:每次启动Arduino,可能需要先向DS18B20发送一次“搜索”命令(`sensors.search()`),以便识别出新添加的温度传感器。
阅读全文