|
通过监测光敏电阻的输出,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。随着照射在光敏电阻上的光照变强,电阻减小,分压电路的电压输出增加。当光照变弱时,会发生相反的情况。
设置方式
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点亮。把手移开,观察他们是否会再次熄灭。
代码 - const int led=3; // variable which stores pin number
- void setup()
- {
- pinMode(led, OUTPUT); //configures pin 3 as OUTPUT
- }
- void loop()
- {
- int sensor_value = analogRead(A0);
- if (sensor_value < 150)// the point at which the state of LEDs change
- {
- digitalWrite(led, HIGH); //sets LEDs ON
- }
- else
- {
- digitalWrite(led,LOW); //Sets LEDs OFF
- }
- }
复制代码
|