项目二十五 DS18B20温度传感器测试温度

项目二十五 DS18B20温度传感器测试温度#

1.实验说明#

在这个套件中,有一个keyes brick 18B20温度传感器,它主要采用DS18B20传感器元件。可以利用该传感器测试当前环境中的温度。它的测量范围为-55℃~+125℃,测量精度为±0.5℃(-10℃至+85℃范围内)。

实验中,利用这个温度传感器测试当前环境中的温度,测试结果分为℃和℉两种;并且在串口监视器上显示测试结果。

2.实验器材#

  • keyes brick 18B20温度传感器*1

  • keyes UNO R3开发板*1

  • 传感器扩展板*1

  • 3P双头XH2.54连接线*1

  • USB线*1

3.接线图#

4.测试代码#

#include <Wire.h>
#include <DallasTemperature.h>  //导入DS18B20的库

float val1;
float val2;
OneWire oneWire(3); //定义数字口3
DallasTemperature sensors(&oneWire);
DeviceAddress insideThermometer;

float ds18b20_getTemp(int w) 
{
  sensors.requestTemperatures();
  if (w == 0) 
  {
    return sensors.getTempC(insideThermometer);
  }
  else 
  {
    return sensors.getTempF(insideThermometer);
  }
}

void setup() 
{
  val1 = 0;
  val2 = 0;
  Serial.begin(9600);//设置波特率
  sensors.getAddress(insideThermometer, 0);
  sensors.setResolution(insideThermometer, 9);
}

void loop() 
{
  val1 = ds18b20_getTemp(0);//获取温度C
  val2 = ds18b20_getTemp(1);//获取温度F
  Serial.print(val1);
  Serial.print("C        ");
  Serial.print(val2);
  Serial.println("F");
  delay(100);
}

5.代码说明#

1. 在实验中,需要先导入DS18B20的库文件。

2. 把管脚设置为3,获取温度的单位分别设置为℃和℉。

3. 设置两个小数变量,分别为val1和val2,将所测结果赋值给val1和val2。

4.串口监视器显示val1和val2的值,显示前需设置波特率(我们默认设置为9600,可更改)。

5.显示时,在数据后面添加单位,如果单位直接设置为℃和℉,测试结果会出现乱码。所以直接用C代替℃,F代替℉。

6.测试结果#

上传测试代码成功,利用USB线上电后,打开串口监视器,设置波特率为9600。串口监视器显示当前环境的温度,如下图。

image-20251210094703468