如何与Arduino接口LM35温度传感器?

在本教程中,我们将学习如何将LM35与Arduino连接并实现一个简单的Arduino LM35温度传感器。为了演示输出,我将将LM35温度传感器连接到Arduino Uno,并在16×2 LCD显示模块上显示温度读数。

Arduino-LM35-温度传感器1

关于LM35温度传感器的简短说明

LM35是经典的温度传感器IC。这是一个精确的摄影温度传感器。它也是一个模拟传感器,其输出电压与摄氏温度线性成正比。

LM系列温度传感器中还有其他设备,例如LM34(校准华氏度)和LM335(kelvin校准),但LM35似乎是DIY项目的流行选择。

LM35-温度传感器

LM35温度传感器的一些重要特征是:

  • 它可以测量的温度范围:-550C至+1500C(全范围)
  • 精度:0.50C 250C(±1/40C在室温下)
  • 电源电压:4 V至30 V
  • 传输功能: +10mv/线性线性0C级系数

LM35系列中有5种不同的设备,具有不同的温度范围和包装。下表将有助于比较不同的LM35传感器。

LM35系列的设备 温度范围 软件包
LM35 –550C至+1500C 到 - 可以
LM35A –550C至+1500C 到 - 可以
LM35C –400C至+1100C 到92(塑料)
LM35CA –400C至+1100C 到92(塑料)
LM35D 00C至+1000C 到– 92,至220(塑料),SOIC(8针)

我有LM35D型LM35传感器。因此,我可以构建一个温度传感器,范围为00C至+1000C.如果您想测量整个范围,即–550C至+1500c,然后您必须在金属包装包装中查看LM35或LM35。

LM35-TEMPERTURE-SENSOR-FLAT

LM35的常见包装之一是塑料至92包装。下图显示了LM35传感器在– 92软件包中的夹子。有关其他软件包的针线,请参阅数据表。

LM35 le

别针 描述
+vs 电源阳性
v出去 模拟输出
gnd 地面(电源负面)

测量没有arduino的温度

由于LM35是一个模拟温度传感器,因此我们只能通过测量输出电压来测量温度。为此,您必须查看传输功能的LM35数据表。

根据数据表,输出电压与温度成正比,比例因子为 +10mV/0C.传输函数由以下方式给出:

v出去= 10mv/0c * t

在这里,v出去LM35和T的输出电压是温度0C.因此,如果我们测量LM35温度传感器的输出电压,那么我们可以通过简单的计算测量温度。

t in0c = v出去/ 10mv

首先,将电源连接到传感器,即, +5V到 +Vs引脚和GND分别为GND引脚。现在,使用数字万用表并将其设置为测量直流电压。如果您有手动范围仪表,则将DMM设置为2000MV范围。

lm35-with-multimeter

将红色探针连接到V出去LM35的销钉,并探测GND。从上图中可以看到,DMM显示MV中LM35的输出电压(Milli Volts)。在这里,输出电压为276mV。

为了获得温度,将该值与10mV分配,结果为27.60C。

Arduino LM35温度传感器

即使您只需使用LM35传感器和万用表即可轻松测量温度,但像Arduino这样的微控制器对于在LCD或OLED上显示结果非常有用。

您甚至可以使用ESP8266或ESP32构建Web服务器,以显示网页上LM35温度传感器的温度读数。

对于这个项目,我将坚持使用Arduino,并构建一个简单的Arduino LM35温度传感器,并在16×2 LCD显示屏上显示结果。为了保持简单,我将使用PCF8574 i2C模块将常规LCD转换为I2C LCD,因此您仅需要两根从Arduino到16×2 LCD的电线。

我已经撰写了一个专门的教程将I2C LCD与Arduino接口。在继续之前,请阅读该教程。

需要组件

  • Arduino Uno
  • LM35温度传感器
  • 16×2 LCD
  • PCF8574 i2LCD的C模块
  • 连接电线
  • 面包板
  • 面包板电源

电路原理图

下图显示了Arduino LM35温度传感器的电路图。LM35的输出引脚连接到模拟输入0,即A0。对于I2C LCD,SDA和SCL引脚分别连接到A4和A5销钉的Arduino Uno。

arduino-lm35-温度传感器电路

代码

在编写项目的实际代码之前,我们必须确定PCF8574模块的I2C从地址。为此,请按照电路图进行连接,将Arduino插入计算机并上传以下测试代码。

打开串行监视器,如果设备正确连接并正在工作,则您将在串行监视器上打印的从地址。就我而言,是0x3f。在实际代码中使用此从地址。

I2C-Scanner-Serial-Monitor

以下是使用Arduino从LM35温度传感器测量温度并在I2C LCD上显示结果的代码。

从ADC计算温度

由于LM35是一个模拟传感器,因此其输出是一个模拟电压,与温度成正比,比例系数为10MV/0C.因此,我们必须使用Arduino测量模拟电压,并将结果与​​10MV分开以获得温度0C。

从该项目中获得准确结果的一种方法是使用ATMEGA328P微控制器所看到的实际AREF值,而不是盲目进入理论5V(5000mV),同时从ADC输出中计算模拟电压。

如果ADC_VAL是ADC的输出(为0到1023之间),AREF是ADC块的实际参考电压,而ADC_RES是ADC的分辨率,那么我们可以计算输入模拟电压ADC_IN为::

ADC_IN =(ADC_VAL * AREF) / adc_res

由于Arduino Uno中的ADC或ATMEGA328P微控制器具有10位分辨率,因此ADC_RES的值为210= 1024。

结果是MV中的输入模拟电压(假设您将MV用于AREF)。现在,将此模拟电压除以10mV以获得温度0C。

温度为℃= ADC_IN / 10MV

Arduino-LM35-温度传感器2

结论

这里建立了一个名为Arduino LM35温度传感器的简单项目。您了解了经典的LM35温度传感器,如何在没有任何微控制器的情况下测量LM35的温度,以及如何与Arduino接口LM35温度传感器并在I2C LCD上显示温度。

发表评论

您的电子邮件地址不会被公开。必需的地方已做标记*

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map