|
在本篇文章中,我将向您展示如何使用LDR光敏电阻来点亮或熄灭LED灯。
如果房间变暗,灯泡会自动打开并消除黑暗,那不是很酷吗?在这个非常简单的项目中,我专注于消除黑暗。您甚至可以将其用作应急照明系统。
LDR(Light Dependent Resistor)是一种特殊类型的电阻,当光线比较暗时,只允许流过较低的电压(高阻值),并且在光线较强时,允许较高的电压通过它(低阻值)。
我们将使用10k电阻和LDR来创建分压电路。 LDR的变化电阻被转换为变化的电压,Arduino的模拟引脚将在其逻辑中使用。
对于这个非常简单的DIY Arduino项目,我们需要: ● 面包板 ● Arduino Uno / nano开发板 ● LED(发光二极管) ● LDR(光敏电阻) ● 用于创建分压器的10K电阻和用于LED的220欧姆电阻 ● 连接导线 ● 用于将代码上传到Arduino的USB电缆
以下是操作方法: - 将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的短腿到面包板的负级轨道
以下是本文使用的代码: - const int ledPin = 13;
- const int ldrPin = A0;
- void setup() {
- Serial.begin(9600);
- pinMode(ledPin, OUTPUT);
- pinMode(ldrPin, INPUT);
- }
- void loop() {
- int ldrStatus = analogRead(ldrPin);
- if (ldrStatus <= 200) {
- digitalWrite(ledPin, HIGH);
- Serial.print("Its DARK, Turn on the LED : ");
- Serial.println(ldrStatus);
- } else {
- digitalWrite(ledPin, LOW);
- Serial.print("Its BRIGHT, Turn off the LED : ");
- Serial.println(ldrStatus);
- }
- }
复制代码
|