想测环境温度、给设备做个过热保护,温度传感器是第一位。LM35是一颗很经典的模拟温度传感器,它输出的是随温度线性变化的电压,接上Arduino随便读个模拟量就能换算出温度,思路特别直白。这篇文章把接线和读数讲清楚。

先认识引脚:一颗三脚的模拟温度计
LM35最常见的封装是TO-92,长得像一颗小晶体三极管,正面平的一面从左到右一般是VCC(电源)、VOUT(电压输出)、GND(地),不同牌子丝印可能略有差异,接线前先对照数据手册确认。它输出的是和摄氏温度成正比的电压:温度每上升1摄氏度,输出电压就升高10毫伏(10mV/℃)。
这个特性特别友好:零摄氏度时输出0V,25摄氏度时输出0.25V,不用查表、不用曲线拟合,直接线性换算。量程也能到-55℃到+150℃,做室温检测和电机温度监测都够用。
接线示范:VOUT接A0就能读
接Arduino就三根线:LM35的VCC接Arduino的5V(也有接3.3V的用法),GND接GND,VOUT(中间脚)接一个模拟输入口,比如A0。因为它输出的是模拟电压,代码里用模拟读取指令读到0到1023的数值,再换算成电压,最后除以10毫伏就得到摄氏温度。
换算公式方便记:电压(伏) = 模拟值 × 参考电压 / 1023;温度(摄氏度) = 电压(伏) × 100。用5V参考电压时,温度约等于 模拟值 × 0.488。串口打印出来就能实时看温度了。

读数飘不飘,参考资料接法
LM35精度标称±0.5℃(25℃时),看着不高但其实同级里算不错的。想要读数准,建议给VOUT到GND之间并一个0.1微法的电容滤波,能压掉电源纹波带来的抖动;读的时候连续采几次取平均值,比单次读数稳得多。
注意LM35是模拟器件,读到的精度受参考电压影响,如果用5V参考,ADC步进大约对应0.5℃,所以别指望它像数字温度传感器那样精确到0.1℃——它胜在简单便宜、线性好懂。
能做点啥:室温采集到过热保护
接上LCD或OLED就能做一个迷你温度计;放到电机或电池边上,配合“超过阈值就报警或断电”的判断,就是一个简单的过热保护。做气象站、恒温控制、或者让数据落SD卡做温度日志,LM35都是很好的基础温度源。
读数恒为0或固定值,多是这几种情况
读回来一直是0,八成是VOUT没接到正确的模拟口、或接错成数字口;一直是同一个固定大值,可能是参考电压读数换算不对;数值乱跳,先加个滤波电容、拉直供电。还有别把VCC和VOUT接反,三脚插反会读数异常甚至损坏。
LM35是把“温度”变成“电压”的最直观传感器。三根线一接、读个模拟量、线性一换,摄氏温度就出来了——对想理解“传感器输出到底怎么读”的新手,它是绕不开又最好懂的一颗。







电解电容和滤波电容是两码事,这种模拟器件加个电容有奇效
三脚别插反,VCC和VOUT反了读数和寿命都吃亏
10mV每度这个线性太友好了,不用查表直接算
读几次取平均真的稳,跳得没那么厉害了