ESP8266-Arduino编程实例-DS1624数字温度传感器驱动

DS1624数字温度传感器驱动

1、DS1264介绍

DS1624 由两个独立的功能单元组成:一个 256 字节非易失性 E2 存储器和一个直接数字温度传感器。

非易失性存储器由 256 字节的 E2 存储器组成。 该存储器可用于存储用户希望的任何类型的信息。 这些内存位置通过 2 线串行总线访问。

直接数字温度传感器允许 DS1624 测量环境温度并以 0.0625°C 分辨率以 12 位字报告温度。 温度传感器及其相关寄存器可通过 2 线串行接口访问。
在这里插入图片描述

DS1264具有如下特性:

  • 通过集成温度传感器和非易失性 E2 存储器减少组件数量
  • 以 0.0625°C 为增量测量 -55°C 至 +125°C 的温度
  • ±0.5°C 精度从 0°C 到 70°C
  • 256 字节 E2 内存,用于存储频率补偿系数等信息
  • 没有外部组件
  • 易于使用的 2 线串行接口
  • 温度读取为 12 位值(2 字节传输)
  • 提供 8 引脚 SO 和 DIP 封装

2、硬件准备

  • ESP8266 NodeMCU开发板一块
  • DS1624传感器模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线如下:

传感器引脚 ESP8266开发板引脚
Vin 5v
Gnd Gnd
SCL D1
SDA D2

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:

ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:

4、代码实现

本次实例使用的DS1624驱动库如下:

1)导入依赖库头文件

1
2
3
4
#include <DS1624.h>

DS1624 ds1624(0x00);

2)设备初始化

1
2
3
4
5
6
void setup()
{
// 串口初始化
Serial.begin(9600);
}

3)数据采集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void loop()
{
float temperature;
bool valid;

// Get current temperature
ds1624.GetTemperature(temperature, valid);

// Print it
Serial.println(temperature);

// Wait a while
delay(1000);
}

文章来源: https://iotsmart.blog.csdn.net/article/details/126417681