物联网  >   传感器  >  正文

物联网课程系列:如何使用模拟温度传感器 LM35

  LM35是一款只需要一个模拟接口就可以使用的温度传感器,但在使用前需知道它的特性,首先我们参考一下它的 Datasheet,

  从它的 Datasheet可以知道电压与温度的关系。当温度为0度C 时,量测到的电压为0V,每上升1度C,电压会增加 10mV,再知道这个原理后,我们就能透过计算,得出实际的温度。

模拟温度传感器 LM35

  LM35模拟温度传感器

  材料清单:

  1.ARDUINO UNO R3

  2.LM35 模拟温度传感器

  3.3条杜邦线(公/母)

  这次使用 UNO 担任这次实作的主角,接线图如下:

LM35接线图

  ARDUINO UNO R3 接线图

  从A0读取到的值并不是温度也不是电压的实际值,必须透过百分比与单位换算才能得到我们想要的温度值。Arduino UNO的 analog输入(A0~A5)所能读到的范围是0~1024,而Arduino电压范围为 0~5V,所以可以透过下面的公式得到转换后的电压:

  转换的电压= ( A0的值 / 1024 ) x 5

  求得 A0 转换后的电压值后,透过从 Datasheet知道的,每上升1度C 电压增加10mV,我将转换后的电压值再除以 10mV,就可以得出温度值:

  温度= 转换的电压 / 10mV

  程序打好后就能打开串行端口监控窗口看看数值正不正确。

  数值示意图

  透过监控窗口,看到的数值与实际温度差不多,同时我们也试着用手压住传感器来看温度上升的情形,最后发现温度虽然都有正常上升,但整体温度读值似乎不太稳定。对此,我们需要透过「取样平均化」来改进这样的状况,让数值不要这么漂移不定,因此在程序中,会用到 for循环来加总10次测量到的温度值,最后再除以10来取得平均温度。

  透过平均化后可以看到数值变得比较稳定了。

  平均化后的数值

  小结

  从LM 35的 Datasheet获得其电压与温度变化的关系,再透过ARDUINO UNO R3 接线,写好程序后取平均值,这样就可以了解它的使用原理。后续会分享使用LM35的专案,敬请期待!

上一篇:差异压力传感器故障(适用于CAGA引擎)

下一篇:分体式磁致伸缩位移传感器