光敏电阻(LDR)是入门级里手感最直接的一个传感器——它阻值随光照变化,亮则变小、暗则变大。靠它做个循光小车追着光源跑,或者做自动调亮/自动开灯都很有意思。这篇文章把怎么用和两种典型玩法讲清楚。

先理解分压:把电阻变电压
LDR本身是电阻,主控不能直接读电阻,要先转换成电压。最常见的做法是把LDR和一个固定电阻串联成一个分压电路,中间抽头接到Arduino的模拟脚A0。光照亮时LDR电阻变小,抽头电压跟着变;光照暗时电阻变大,电压也变。程序里analogRead读到0到1023,数值越大代表越亮(取决于接法,也有反的)。
这个串联电阻选多大影响灵敏度,通常几K到几十K之间,让环境光变化时读到的电压有可观的变化幅度就行。

玩法一:循光小车追着光走
循光小车要在车头左右各装一个光敏探头,中间用遮光板隔开,避免光源同时照到两边。逻辑很朴素:左边探头比右边亮,说明光源在左,左轮减速、右轮加速往左转;右边更亮就往右转;两边接近就打直。这样小车会一直转向更亮的一边,被手电筒“勾”着走。
这里的关键是两边探头要尽量对称,读数基线一致,否则小车会偏。可以先把两个探头在均匀光下各读一遍,取一个偏移量做差,再进行比较。
玩法二:自动路灯和房间灯
第二种玩法是让灯光随环境自动调整。读到的环境光暗到某个阈值,就自动开灯或调亮;亮起来就关掉或调暗。想做得更顺,可以加一点迟滞:开灯阈值和关灯阈值设得不一样,避免在临界点频繁抖动。
光敏电阻也有几个坑要注意:一是响应有滞后,突变的强光它反应不快;二是有记忆效应,长时间强光后阻值会漂移,尽量让它的工作环境一致;三是读数有波动,做主控前加个简单滤波,取几次平均,逻辑会更稳。
进阶玩法是让LDR和舵机云台联动,做成一个追光装置:左右各一个探头,谁的读数大就朝谁转,像向日葵一样追着光源走。或者把光强读数当触发条件,联动一个继电器去开灯关灯,就变成一个低成本的自动照明开关,家里玄关和阳台都能用。
LDR贵在直观,一周下来就能做出追光小车和自动灯两套东西,对理解“传感器-主控-执行”这条链路特别有帮助。




读数抖加个取平均的滤波,逻辑立刻稳了,学到
分压电阻选几K试了几档,最后定在10K读数变化最舒服
自动路灯加迟滞阈值切了抖,这个细节救了我,不然临界点闪个不停
左右探头对称这条关键,我之前一个亮一个暗基线歪了,小车一直朝一边拐