Arduino与Proteus仿真实例-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有如下特性:

  • SOP-8 和 Mini SOP-8 (MSOP) 封装节省空间
  • I2C 总线接口
  • 独立的开漏输出引脚作为中断或比较器/恒温器输出
  • 寄存器回读能力
  • 上电默认设置允许独立操作,因为恒温器
  • 关断模式以最大限度地降低功耗
  • 最多可将 8 个 LM75 连接到单个总线

在这里插入图片描述

LM75引脚功能如下:

在这里插入图片描述

2、仿真电路原理图

在这里插入图片描述

3、仿真代码实现

本次使用到如下开源库:

演示代码如下:

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
/\*
Read the temperature from an LM75-derived temperature sensor, and display it
in Celcius every 250ms. Any LM75-derived temperature should work.
\*/

#include <Temperature\_LM75\_Derived.h>

// The Generic\_LM75 class will provide 9-bit (±0.5°C) temperature for any
// LM75-derived sensor. More specific classes may provide better resolution.
Generic_LM75 temperature;

void setup() {
while(!Serial) {}

Serial.begin(9600);

Wire.begin();
}

void loop() {
Serial.print("Temperature = ");
Serial.print(temperature.readTemperatureC());
Serial.println(" C");

delay(1000);
}

4、仿真结果

在这里插入图片描述

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