ESP8266-Arduino编程实例-LM75温度传感器驱动

LM75温度传感器驱动

1、LM75介绍

LM75 温度传感器包括一个 delta-sigma 模数转换器和一个数字过热检测器。 主机可以随时通过其 I²C 接口查询 LM75 以读取温度。 当超过可编程温度限制时,开漏过热输出 (OS) 会吸收电流。

OS 输出以两种模式之一运行,比较器或中断。 主机控制发出警报的温度 (TOS) 和低于此警报条件无效的滞后温度 (THYST)。 此外,主机可以读取 LM75 的 TOS 和 THYST 寄存器。

LM75 的地址设置为三个引脚,以允许多个设备在同一总线上工作。 上电处于比较器模式,默认 TOS = +80°C 和 THYST = +75°C。 3.0V 至 5.5V 的电源电压范围、低电源电流和 I²C 接口使 LM75 成为许多热管理和保护应用的理想选择。

在这里插入图片描述

LM75具有如下特性:

  • SO (SOP) 和 µMAX® (µSOP) 封装
  • I²C 总线接口
  • 独立的开漏 OS 输出作为中断或比较器/恒温器输入运行
  • 寄存器回读能力
  • 上电默认设置允许作为恒温器独立运行
  • 3.0V 至 5.5V 电源电压
  • 低工作电源电流 250µA(典型值),1mA(最大值)
  • 4µA(典型值)关断模式可最大限度地降低功耗
  • 最多可将八个 LM75 连接到单个总线

2、硬件准备

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

硬件接线如下:

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

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

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

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

4、代码实现

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

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
#define VERSION "1.1"

#include <inttypes.h>
#include <Wire.h>

#include <lm75.h>

TempI2C_LM75 termo = TempI2C\_LM75(0x48,TempI2C_LM75::nine_bits);


void setup()
{
Serial.begin(9600);
Serial.println("Start");
Serial.print("Actual temp ");
Serial.print(termo.getTemp());
Serial.println(" oC");
delay(2000);
}

void loop()
{
Serial.print(termo.getTemp());
Serial.println(" \*C");
delay(5000);
}

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