前面一直学习的是数字控制(按键)、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接口,记得加上拉电阻(这个是局部电路图,上拉电阻在其他地方有);配置芯片地址后,编程时确保地址与硬件设置一致! 代码示例: 05 | TempI2C_LM75 termo = TempI2C_LM75(0x48,TempI2C_LM75::nine_bits); |
14 | Serial.print( "The current temperature is: " ); |
15 | Serial.println(termo.getTemp()); |
下载程序后,打开串口监视器,会显示当前的温度信息。用手触摸LM75芯片,温度会发生变化,现象如下: 
附件: lm75.zip |