ESP8266-Arduino编程实例-PCT2075温度数字转换器驱动

PCT2075温度数字转换器驱动

1、PCT2075介绍

PCT2075 是一款温度数字转换器,在 ‑25 °C 至 +100 °C 范围内具有 ±1 °C 的精度。它使用片上带隙温度传感器和 Sigma-Delta A-D 转换技术,具有过温检测输出,是其他 LM75 系列热传感器的直接替代品。

在这里插入图片描述

该设备包含多个数据寄存器: 配置寄存器(Conf),用于存储设备设置,例如设备操作模式、操作系统操作模式、操作系统极性和操作系统故障队列;温度寄存器 (Temp) 用于存储数字温度读数,设置点寄存器用于存储可编程过温关断和滞后限制,以及可编程温度传感器采样时间,控制器可通过 2 线串行 I²C 总线快速通信-mode Plus 界面。

PCT2075 还包括一个开漏输出 (OS),当温度超过编程限制时,该输出变为活动状态。

OS 输出以两种可选模式之一运行:OS 比较器模式或 OS 中断模式。其活动状态可以选择为 HIGH 或 LOW。定义连续故障数量以激活 OS 输出的故障队列以及设定点限制都是可编程的。

PCT2075 可针对不同的操作条件进行配置。它可以设置为正常模式以定期监测环境温度,或设置为关机模式以最大限度地降低功耗。

温度寄存器始终存储 11 位二进制补码数据,温度分辨率为 0.125 °C。这种高温度分辨率在精确测量热漂移或失控的应用中特别有用。

当设备被访问时,正在进行的转换不会被中断,并且在通信之间连续访问设备而无需等待至少一个转换时间不会阻止设备用新的转换结果更新 Temp 寄存器。更新 Temp 寄存器后,新的转换结果将立即可用。也可以只读取温度寄存器字节之一而无需锁定。

PCT2075 在正常操作模式下上电,操作系统处于比较器模式,温度阈值为 80°C,迟滞为 75°C,因此它可以用作具有这些预定义温度设定点的独立恒温器。

2、硬件准备

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

硬件接线如下:

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

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

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

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

4、代码实现

本次使用的驱动库如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <Adafruit\_PCT2075.h>


Adafruit_PCT2075 PCT2075;

void setup()
{
PCT2075 = Adafruit\_PCT2075();

Serial.begin(115200);
// Wait until serial port is opened
while (!Serial) { delay(1); }
Serial.println("Adafruit PCT2075 Test");

if (!PCT2075.begin())
{
Serial.println("Couldn't find PCT2075 chip");
while (1);
}

Serial.println("Found PCT2075 chip");

}

void loop()
{
Serial.print("Temperature: ");
Serial.print(PCT2075.getTemperature());
Serial.println(" C");
delay(1000);
}

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