模块熟悉
第 12 课·视频:热敏传感器
能读温度,但读出来的不是温度——需要你自己换算
这个模块跟光敏长得几乎一样,用法也一样,但有个关键区别:
光敏读数大就是亮、小就是暗,你不需要"换算"。温度不行——你读到的那个数,跟「多少度」之间是一条曲线。
看的时候注意三件事
第一,先看它和光敏怎么区分。
丝印完全一样(AO DO GND VCC),四根线也一样。区别在顶上那个元件:
- 光敏:一个有花纹的小圆片(光敏电阻)
- 热敏:一个玻璃珠一样的小东西(NTC 热敏电阻)
第二,注意数字随温度怎么变。
用手指捏住那个玻璃珠,数字会慢慢变。注意是"慢慢"——温度传过去需要时间,不是像光那样一遮就变。这个"慢"是热学本身的特点,不是模块坏了。
第三,注意方向可能和你想的相反。
热敏电阻通常是温度越高、电阻越小(叫 NTC,负温度系数)。所以温度升高时,读数可能是变小而不是变大——取决于你的电路怎么接的。别想当然,跑一遍看实际方向。
为什么不能直接把读数当温度
光敏的任务是"判断亮暗",你只需要比大小,不需要知道"这是多少勒克斯"。
但温度不一样——"现在多少度"是个具体的数字,你得把读数换算过去。
麻烦在于,这个换算不是简单的乘一个数。热敏电阻的阻值和温度之间是一条曲线(指数关系),不是直线。
换算方法有几个层次:
| 方法 | 精度 | 难度 |
|---|---|---|
| 查表法 | 高 | 要预先测一张表 |
| 公式法(B 值公式) | 中 | 要几个参数 |
| 简单线性拟合 | 低 | 简单,但只在小区间准 |
视频里我用的办法:先实测几个点(比如用手捂、放冰箱旁边、哈气),记下读数,然后在代码里做分段判断。
说实话:这套件里的热敏模块,本来就不适合做精确测温。 想知道准温度,用温湿度传感器(DHT11,见第 16 课)。热敏的价值在于快速感知"变热了"这个事件——比如"温度升高了,就报警",不需要知道具体多少度。
自测
答案与解析
这两个模块丝印完全一样、针脚数也一样,只能看顶上的元件。光敏电阻是扁平的、有花纹的圆片;NTC 热敏电阻是玻璃封装的珠子,有的还带两根细引脚。拿混了不会烧,但读数完全没有意义,很难查出来。
答案与解析
NTC = Negative Temperature Coefficient,负温度系数。温度升高,电阻下降。所以如果你的电路是"电阻变小→读到的值变大",那温度越高读数越大;反过来接就是越小。方向要实测确认,不要背。
答题要点
答题要点应该包含:这不是故障,是热传导的速度问题。热敏元件要靠热量从你的手指传进去、自己温度跟着升上来,才能改变电阻。热量传递本身就需要时间(几秒到几十秒),远比电信号慢。同理,移开手之后也要等一会儿才降回去。
拓展热敏电阻的阻值和温度之间到底是什么关系?为什么不是直线?
这个问题课上不讲,留给你自己找答案——**问 AI 是最好的办法**。
提示:搜"热敏电阻 B 值公式"、"NTC 温度计算公式"。看看那个公式长什么样——是不是有个指数项?
拓展既然热敏不准,为什么还有这么多人用它?
这个问题课上不讲,留给你自己找答案——**问 AI 是最好的办法**。
提示:搜"热敏电阻 应用 场景"。想一想:什么情况下你只关心"变热了",而不关心"具体几度"?
本节你要动手做的事
- [ ] 接好线(和光敏一样):
AO→ 一个模拟引脚 - [ ] 跑程序,用手捏住玻璃珠,看读数变化
- [ ] 确认变化方向——是变大了还是变小了
- [ ] 记下"室温"和"手捏住"两个读数,试着在代码里判断"变热了"
- [ ] 做完自测题