风筝
发表于: 2019-1-16 17:07:39 | 显示全部楼层

在本篇文章中,我将向您展示如何使用LDR光敏电阻来点亮或熄灭LED灯。


如果房间变暗,灯泡会自动打开并消除黑暗,那不是很酷吗?在这个非常简单的项目中,我专注于消除黑暗。您甚至可以将其用作应急照明系统。

LDR.jpeg


LDR(Light Dependent Resistor)是一种特殊类型的电阻,当光线比较暗时,只允许流过较低的电压(高阻值),并且在光线较强时,允许较高的电压通过它(低阻值)。


我们将使用10k电阻和LDR来创建分压电路。 LDR的变化电阻被转换为变化的电压,Arduino的模拟引脚将在其逻辑中使用。

connections.png


对于这个非常简单的DIY Arduino项目,我们需要:

●    面包板

●    Arduino Uno / nano开发板

●    LED(发光二极管)

●    LDR(光敏电阻)

●    用于创建分压器的10K电阻和用于LED的220欧姆电阻

●    连接导线

●    用于将代码上传到Arduino的USB电缆

mateiral.jpg


以下是操作方法:

- 将Arduino的3.3v输出连接到面包板的正轨

- 将GND连接到面包板的负轨

- 将LDR放在面包板上

- 将10K电阻连接到LDR的一个引脚上

- 将Arduino的A0引脚连接到LDR和电阻连接的同一列(由于LDR发出模拟电压,它连接到Arduino上的模拟输入引脚。Arduino及其内置ADC (模数转换器),然后将模拟电压从0-5V转换为0-1023范围内的数字值)。

- 现在将10K电阻的另一端连接到负轨

- 并将LDR的第二条(自由)支路连接到正极轨道


这就是我们对光感应所需要的。像这样的基本电路可以在没有Arduino的情况下完成。但是,如果您想记录这些值并使用它来创建图表,运行其他逻辑等,将建议使用Arduino或ESP8266,也可以是ESP32。


现在,我们希望我们的电路实际中做一些事情,而不仅仅是在计算机屏幕上显示数值,我们将在电路上附加一个LED。 LED在光线黑暗时会亮起,在光线明亮时会熄灭。为实现这一目标,我们:

- 将LED放在面包板上

- 将220欧电阻连接到LED的长腿(+ ve)

- 然后我们将电阻的另一端连接到Arduino的引脚13

- 以及LED的短腿到面包板的负级轨道


以下是本文使用的代码:

  1. const int ledPin = 13;
  2. const int ldrPin = A0;

  3. void setup() {
  4. Serial.begin(9600);
  5. pinMode(ledPin, OUTPUT);
  6. pinMode(ldrPin, INPUT);
  7. }

  8. void loop() {
  9. int ldrStatus = analogRead(ldrPin);
  10. if (ldrStatus <= 200) {
  11. digitalWrite(ledPin, HIGH);
  12. Serial.print("Its DARK, Turn on the LED : ");
  13. Serial.println(ldrStatus);
  14. } else {
  15. digitalWrite(ledPin, LOW);
  16. Serial.print("Its BRIGHT, Turn off the LED : ");
  17. Serial.println(ldrStatus);
  18. }
  19. }
复制代码


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

本版积分规则

主题 705 | 回复: 1492



手机版|

GMT+8, 2024-11-22 09:05 , Processed in 0.076467 second(s), 10 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

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

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