立即注册 找回密码

微雪课堂

搜索
微雪课堂 外围模块 Accessory Shield 查看内容

Accessory Shield学习5:温度传感器(LM75B)

2015-5-7 14:25| 发布者: yanwl| 查看: 5832| 评论: 0

摘要: 前面一直学习的是数字控制(按键)、AD采集(电位器)、发声(蜂鸣器)、发光(多彩LED),那么接下来会有一大波高级技能正在逼近......接下来讲解温湿度传感器,这属于高级技能,小伙伴们认真点!原理大放送: 先介 ...
前面一直学习的是数字控制(按键)、AD采集(电位器)、发声(蜂鸣器)、发光(多彩LED),那么接下来会有一大波高级技能正在逼近......接下来讲解温湿度传感器,这属于高级技能,小伙伴们认真点!

原理大放送:
先介绍下今天的主角LM75B,这是一款支持I2C接口的测温芯片,应用电路十分简洁,仅仅需要一颗去耦电容就可以工作。另外它具有3个可配置的逻辑地址管脚,使得同一总线上可同时连接8个器件而不发生地址冲突。

芯片特性如下:
  • 器件完全可以取代工业标准的LM75和LM75A
  • I2C总线接口,同一总线上可连接多达8个器件,总线速度达400KHz,具有总线失效检测功能,失效自动恢复,防止锁死总线
  • 供电范围:2.8V - 5.5V
  • 环境温度范围:-55℃ - 125℃
  • 测量分辨率:0.125℃
  • 测量精度:-25℃ - 100℃,误差2℃;-55℃ - 125℃,误差3℃
  • 超低功耗,关断模式下电流仅为1.0μA
  • ESD保护

关于芯片的实现原理这里不再啰嗦,太简(fu)单(za)了!我们一般只需注意典型的应用原理图,以及编程注意事项即可。原理图如下:

有两个地方要注意:芯片采用I2C接口,记得加上拉电阻(这个是局部电路图,上拉电阻在其他地方有);配置芯片地址后,编程时确保地址与硬件设置一致!

代码示例:

#include "inttypes.h"
#include "Wire.h"
#include "lm75.h"

TempI2C_LM75 termo = TempI2C_LM75(0x48,TempI2C_LM75::nine_bits);

void setup()
{
    Serial.begin(9600);
}

void loop()
{
    Serial.print("The current temperature is: ");
    Serial.println(termo.getTemp());
    delay(1000);
}

下载程序后,打开串口监视器,会显示当前的温度信息。用手触摸LM75芯片,温度会发生变化,现象如下:


附件:

lm75.zip


222

顶一下

刚表态过的朋友 (222 人)

相关阅读

最新评论

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )

GMT+8, 2024-11-23 19:49 , Processed in 0.017817 second(s), 21 queries .

返回顶部