📜  Arduino LDR

📅  最后修改于: 2020-12-27 09:59:02             🧑  作者: Mango

Arduino LDR

Arduino LDR(光敏电阻)项目使用光敏电阻点亮LED。只要传感器上方黑暗或没有光,LED就会亮起。

什么是光敏电阻?

它定义为光控电阻,也称为LDR。它是一个可变电阻器,可根据接收到的光强度控制电阻。这意味着,电阻随着光强度的增加而减小。

让我们从项目开始。

所需硬件

该项目所需的组件如下:

  • 1个红色LED
  • 1 x 220欧姆电阻
  • 1 x 10K欧姆电阻
  • Arduino UNO R3开发板
  • 跳线
  • 1个光敏电阻

我们可以根据自己的选择使用任何彩色LED。

项目结构

该项目的结构如下所示:

如何使用光敏电阻计算输出电压?

光敏电阻的结构如下图所示:

暗输出电压的计算公式如下:

哪里,

Vin = 5V

Vout =输出电压

在此, R2是与光敏电阻= 10K Ohm串联的电阻。

R1是光敏电阻的电阻。

注意:电阻随光线增加而减小。因此,输出电压将增加。这意味着在亮处计算出的输出电压将高于在暗处计算出的输出电压。

在这里,暗和暗指定了落在传感器上的光。

连接

上面的项目的连接在下面讨论:

  • 将LED的正极与电阻串联,连接到Arduino板的引脚号12。
  • 将LED的负极连接到地面。
  • 将光敏电阻的一个边缘连接到Arduino板上的5V引脚。
  • 在光敏电阻的另一个边缘串联一个10K欧姆的电阻,并将其连接到GND。
  • 将光敏电阻的边缘连接到模拟引脚A0。

注意:我们连接LED只是为了增强项目。我们也可以不使用LED来创建项目。它不会影响输出。

草图

考虑下面的代码:

const int LEDpin = 12;
const int photoPIN = A0;
  
void setup() {
  // initializing the serial communication:
  Serial.begin(9600);
  pinMode(photoPIN, INPUT);
  pinMode(LEDpin, OUTPUT);
}
void loop() {
  // read the sensor:
  int sensorStatus = analogRead(photoPIN);
   // now, it will check the reading or status of the sensor is < 200
  // if it is, LED will be HIGH
  if (sensorStatus <200)
  {
    digitalWrite(LEDpin, HIGH); // LED is ON
    Serial.println(" LED is ON, status of sensor is DARK");
  }
  else
  {
    digitalWrite(LEDpin, LOW);
    Serial.println(" ***************");
  }
}

连接图

连接图如下所示:

输出量

串行监视器上的输出将显示为:

LED是一个,因为传感器上方很暗。