一板网电子技术论坛

风筝
发表于: 2019-1-21 09:38:15 | 显示全部楼层

使用Arduino的简单项目,当LDR传感器检测到黑暗时自动打开灯。


如果我们能消除黑暗,难道不是很酷吗?在这个Arduino项目中,我制作了一个非常简单的项目,专注于消除黑暗。当房间因电灯或任何其他因素而变暗时,灯泡会自动打开。您甚至可以将其用作应急照明系统。当房间内光线不足时,使用它自动打开灯。

simple project.jpg


为了检测光或黑暗的强度,我们使用称为LDR(光敏电阻)的传感器。 LDR是一种特殊类型的电阻,只要存在高强度的光,就允许更高的电压通过它(低电阻),并且在黑暗时通过低电压(高电阻)。我们可以利用这个LDR属性并在我们的DIY Arduino LDR传感器项目中使用它。


它是如何工作的?

该系统通过感测其环境中的光强度来工作。可用于检测光的传感器是LDR。它价格便宜,您可以从任何本地电子商店或网上购买。


当连接到VCC(5V)时,LDR输出模拟电压,VCC的大小与其上的输入光强成正比。也就是说,光强度越大,来自LDR的相应电压将越大。由于LDR发出模拟电压,它连接到Arduino上的模拟输入引脚。 Arduino内置ADC(模数转换器),然后将模拟电压(从0-5V)转换为(0-1023)范围内的数字值。当环境或表面有足够的光线时,通过Arduino从LDR读取的转换数字值将在800-1023范围内。

Arduino LDR Sensor working.jpg

Arduino LDR传感器工作


此外,我们然后编程Arduino打开继电器。相应地,当光强度低时(这可以通过用任何物体覆盖LDR的表面来完成),即当读取的数字值在比通常更高的范围内时,打开灯泡。


Arduino LDR传感器连接

首先,您需要将LDR连接到Arduino上的模拟输入引脚0。您必须使用分压器配置来执行此操作。 Arduino的连接图如下所示。

Arduino LDR connections.jpg

Arduino LDR连接


LDR的一条线连接到Arduino上的VCC(5V),另一条连接到Arduino上的模拟引脚0。一个100K电阻也连接到同一条腿并接地。


测试Arduino LDR传感器的代码

将LDR连接到Arduino后,您可以通过Arduino检查来自LDR的值。为此,请将Arduino通过USB连接到PC并打开Arduino IDE或软件。接下来,粘贴此代码并将其上传到您的Arduino:

  1. int sensorPin = A0; // select the input pin for LDR

  2. int sensorValue = 0; // variable to store the value coming from the sensor
  3. void setup() {
  4. Serial.begin(9600); //sets serial port for communication
  5. }
  6. void loop() {
  7. sensorValue = analogRead(sensorPin); // read the value from the sensor
  8. Serial.println(sensorValue); //prints the values coming from the sensor on the screen

  9. delay(100);

  10. }
复制代码

上传代码后,单击Arduino IDE上名为“Serial monitor”的按钮。这将打开一个新窗口,在屏幕上打印不同的值。现在,通过阻挡其表面光线测试传感器,看看你的值是什么上串口监视器。串口监视器的外观如下:

Arduino LDR Sensor - Serial Monitor.png

Arduino LDR传感器 - 串行监视器


将继电器连接到Arduino

继电器是机电开关。它可用于在AC / DC上打开/关闭设备。当Arduino向继电器提供高电压(5V)时,它会将其打开(开关打开),否则它将保持关闭状态。


在这个项目中,我们使用了5V SPDT(单刀双掷)继电器。继电器线圈的一端连接到Arduino的数字引脚2,另一端连接到GND。我们也连接了一个灯泡。由于我们处理高功率交流电压,请务必采取适当的预防措施。整个电路如下所示。

Arduino LDR Sensor and Relay - Connection Diagram.jpg

Arduino LDR传感器和继电器 - 连接图


在连接Arduino之后,如上所示,我们需要通过将最终代码上传到我们的Arduino来测试它。


在此草图中,我们将阈值光值设置为700,但它可能因项目而异。您需要找出灯泡应打开的特定值。这需要在经验测试之后完成。所以基本上,只要光强度低于700,Arduino就会打开灯泡(通过继电器)。当它高于700时,它会关闭灯泡。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 377 | 回复: 685



手机版|

GMT+8, 2019-10-21 22:42 , Processed in 0.171873 second(s), 31 queries . Powered by Discuz! X3.4

YiBoard一板网 © 2015-2018 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表