我们都希望根据某些条件自动控制家用电器,这就是所谓的家庭自动化。今天,我们将基于外面的黑暗来控制灯光,外面的灯光在黑暗中自动打开,而在黑暗的时候自动关闭。为此,我们需要一个光传感器来检测光的状态,并需要一些电路来控制光传感器。就像暗光探测器电路一样,但是这次我们使用Arduino来更好地控制灯光。
在此电路中,我们将使用带Arduino的LDR制作一个光传感器,以根据房间或外部区域的光照条件控制灯泡/ CFL。
所需材料
- Arduino UNO
- LDR(光敏电阻)
- 电阻(100k-1; 330ohm-1)
- LED-1
- 继电器模块-5V
- 灯泡/节能灯
- 连接线
- 面包板
电路原理图
LDR
LDR是光敏电阻。LDR由半导体材料制成,以使其具有光敏特性。种类很多,但一种材料很流行,它是硫化镉(CdS)。这些LDR或照片电阻器的工作原理是“光电导”。现在,该原理说的是,每当光落在LDR的表面上(在这种情况下)时,元件的电导就会增加,换句话说,当光落在LDR的表面上时,LDR的电阻会降低。由于它是表面上使用的半导体材料的特性,所以实现了LDR的电阻降低的特性。
我们以前使用LDR制作了许多电路,这些电路根据需要使用LDR来自动照明。
使用Arduino进行LDR控制的LED的工作
根据电路图,我们使用LDR和100k电阻制作了一个分压器电路。分压器输出被馈送到Arduino的模拟引脚。模拟引脚感测电压并为Arduino提供一些模拟值。模拟值根据LDR的电阻而变化。因此,当光落在LDR上时,其电阻减小,因此电压值增加。
光强度↓-电阻↑-模拟引脚电压↓-灯亮
根据Arduino代码,如果模拟值降到700以下,我们认为它是暗的,并且灯亮。如果该值超过700,我们认为它很亮,并且灯熄灭。
代码说明:
在该项目的最后给出了完整的Arduino代码和演示视频。
在这里,我们定义了继电器,LED和LDR的引脚。
#定义继电器10 int LED = 9; int LDR = A0;
将LED和继电器设置为输出引脚,将LDR设置为输入引脚。
pinMode(LED,输出); pinMode(继电器,输出); pinMode(LDR,INPUT);
通过Arduino的A0引脚读取电压模拟值。该模拟电压将根据LDR的电阻而增加或减小。
int LDRValue = AnalogRead(LDR);
给黑暗和明亮的条件。如果该值小于700,则为暗,并且LED或Light点亮。如果该值大于700,则该指示灯亮并且LED或指示灯熄灭。
如果(LDRValue <= 700){digitalWrite(LED,HIGH); digitalWrite(relay,HIGH); Serial.println(“外面是黑暗的;灯光状态:ON”);} else {digitalWrite(LED,LOW); digitalWrite(relay,LOW); Serial.println(“外面很亮;灯光状态:OFF”); }
在Arduino上使用LDR控制继电器
无需根据亮度和暗度来控制LED,我们可以控制家庭照明或任何电气设备。我们要做的就是连接一个继电器模块,并根据光的强度设置参数以打开和关闭任何交流设备。如果该值降到700以下(表示暗),则继电器工作,并且灯亮。如果该值大于700(表示白天或明亮),则继电器将不工作,并且指示灯保持熄灭。在此处了解有关继电器的更多信息以及如何将交流设备连接到继电器。
另外,请检查:
- 使用继电器和LDR的自动路灯控制器电路
- 自动楼梯灯
- Raspberry Pi应急灯