mBlock & Arduino(8)光敏电阻、亮度感应器与光线追踪器

mBlock & Arduino(8)光敏电阻、亮度感应器与光线追踪器,第1张

光敏电阻(Photo-sensitive resistor)的电阻值与光线有关,照射于感光面的光线亮度增加时,电阻值会变小,亮度减少时电阻值会加大,其原理是光线照射于半导体,原本稳定的电子受到激发而成为自由电子,常见的材料为硫化镉(Cds)或硒化镉(CdSe),因而常用 Cds 代表光敏电阻。

由于光敏电阻会因为光照而使得电阻发生改变,若对光敏电阻施以电压,两端的电压就会因为光照发生的电阻值改变,使得压降也跟着变化,我们可以利用这个特性来制作亮度感应器,
如上图的电路设计,输出脚位的电压值会是5 R2/(R1 + R2),一般光敏电阻的电阻变化,大概是在 10M Ω(黑暗)到 1K Ω(置于阳光下)左右(如果直接以强光接近照射,电阻值还会更低一些),如果要精确地量测照度与电阻的关系,可以用专用照度计来量得照度与电阻之间的关系。
在这边就简单一点,我在目前室内合适的亮度下,量得的光敏电阻值约为 3K Ω 上下,按照上图的话,输出脚位的电压值会是在 38 V 左右,接到 Ardunio 的类比输入脚位,应当可以量得 800 左右的数值,你可以如下设计电路:

只要设计一个简单的小程式,就是阳春的照度计了 … XD

当然,这边的照度值不是公定的照度单位,只是从类比输入脚位量得的值,仅供亮度的相对参考,试着增强或遮挡至光敏电阻的光线,你就会看到数值会有不同的变化:

如果亮度感应器的敏感度设计的好一些,搭配自走车,就可以做个简单的循迹车了。

如果会实作简单的亮度感应器,那么就可以用多个亮度感应器,来实作简单的光线追踪了,例如,可使用两个亮度感应器,侦测左右两边的亮度差异,如果两边亮度差异在一定范围内,例如 50 以内,两边 LED 就同时亮,表示亮度差不多,若左边比右边的亮度高 50 以上,就亮左边,反之就是亮右边的 LED,你可以如下设计电路:
程式的撰写则可以如下:

因为我手边仅有的两个光敏电阻规格不同,同样的光源下,测出来的值不太一样,左边那颗比右边那颗约少了 150 左右,因此,在程式中我做了些修正 … XD

感谢CodeData用户: caterpillar 的贡献 著作权归作者所有
整理:宁波家电物联网云平台,中科极动云

(1)减小;增大
(2)
(3)②
(4)当光照强度为4 5cd时,光敏电阻R 光 =4Ω,两端电压U 光 =IR 光 =05A×4Ω=2V,
定值电阻两端电压U 0 =U-U 光 =6V-2V=4V,
定值电阻R 0 =U 0 /I=4V/(05A)=8Ω
或:电路中的总电阻R 总 =U/I=6 V/(05 A)=12Ω,定值电阻R 0 =R 总 -R 光 =12Ω-4Ω=8Ω。

接线图解:

1、控制电源线

由于XH-M131模块产品有多种电压(5V、12V或24V),所以首先要确认电压是多少伏,千万不要搞错。如果实在不知道,可以从继电器上找(通常继电器的电压就是模块电压)。

2、输出线

先了解一下与输出比且相关的继电器触点性质。见下图。

以下以使用继电器常开触点为例。

a、控制电源电压与负载电源相同

b、 控制电源电压与负载电源不相同

(1)由图知电阻与光强成反比,故随光强的增大电阻减小,随光强的减小电阻增大;
(2)光照强度变大时,电阻减小,电流变大,R0上的电压变大,总电压不变,由串联电路的特点知,光敏电阻两端的电压减小,故选②.
(3)由图知电阻与光强成反比,即:
R1
R2
=
E2
E1

故答案为:(1)减小;(2)②;(3)
E2
E1


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/13468798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-13
下一篇 2023-08-13

发表评论

登录后才能评论

评论列表(0条)

保存