风筝
发表于: 2018-8-9 22:56:38 | 显示全部楼层

通过监测光敏电阻的输出,Arduino开发板可以知道它的亮度或暗度。当光线低于特定强度时,Arduino点亮LED。

光敏电阻(light-dependent resistor)是一种传感器,其电阻值随着落在其上的光强度的增加而减小。当天黑时,光敏电阻的电阻值可能高达几MΩ。然而,当天亮时,光敏电阻的电阻值可能低至几百欧姆。


在本篇文章中,我们将光敏电阻连接到Arduino开发板的模拟输入引脚,然后使用analogRead()函数读取该值。根据读取的值,Arduino程序将把引脚3置为高电平或低电平以点亮或熄灭LED指示灯。阈值设置为150。当读取的模拟值小于150时,Arduino将点亮LED。当它读取的模拟值低于150时,Arduino将熄灭LED。


需要的硬件

●    光敏电阻

●    LED指示灯

●    470欧电阻

●    1k欧电阻

●    Arduino Mega2560开发板

●    面包板

●    连接导线


接线图

您可以按照下图所示连接相关组件。将LED指示灯连接到Arduino的引脚3。两个470欧姆电阻是限流电阻。光敏电阻的一个引脚连接到5V,另一个引脚到1kΩ电阻的一个引线。 1kΩ电阻的另一端引脚接地。这形成一个分压电路,其输出连接到Arduino的引脚A1。随着照射在光敏电阻上的光照变强,电阻减小,分压电路的电压输出增加。当光照变弱时,会发生相反的情况。

p2.png


p6.jpg


设置方式

1.    将光敏电阻LDR的两个引脚中的其中一个连接到5V,另一个引脚通过一个1k欧的电阻连接到GND。

2.    将导线的一端连接到模拟引脚A1,将另一端连接到1K电阻的非接地引脚。

3.    如上面的电路图所示,并联两个LED,两者各自通过一个470欧姆的电阻,然后和负极端子接地。

4.    引脚3通过470欧姆电阻连接到LED的正极。

5.    将所有接地端子连接到Arduino的GND引脚。

6.    使用USB线连接Arduino开发板,并使用Arduino IDE软件将程序上传到Arduino。

7.    使用DC电源、电池或USB电缆为Arduino板供电。


如果房间中开灯,LED不会点亮。尝试用手盖住光敏电阻,则LED点亮。把手移开,观察他们是否会再次熄灭。


代码

  1. const int led=3; // variable which stores pin number

  2. void setup()
  3. {
  4.   pinMode(led, OUTPUT);  //configures pin 3 as OUTPUT
  5. }

  6. void loop()
  7. {
  8.    int sensor_value = analogRead(A0);
  9.   if (sensor_value < 150)// the point at which the state of LEDs change
  10.     {
  11.       digitalWrite(led, HIGH);  //sets LEDs ON
  12.     }
  13.   else
  14.     {
  15.       digitalWrite(led,LOW);  //Sets LEDs OFF
  16.     }

  17. }
复制代码

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

本版积分规则

主题 700 | 回复: 1479



手机版|

GMT+8, 2024-3-29 18:13 , Processed in 0.088274 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

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

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