Arduino与Proteus仿真实例-光线传感器(LDR)驱动仿真

光线传感器(LDR)驱动仿真

光传感器通过测量存在于非常窄的频率范围内的辐射能量来生成指示光强度的输出信号,该频率范围基本上称为“光”,频率范围从“红外线”到“可见光”直至“ 紫外线”光谱。

光传感器是一种无源设备,可将这种“光能”(无论是可见光还是光谱的红外部分)转换为电信号输出。 光传感器通常被称为“光电器件”或“光传感器”,因为它将光能(光子)转换为电(电子)。

光电器件可分为两大类,一类是在被照射时产生电的,例如光伏或光电发射器等,另一类是通过某种方式改变其电气特性的,例如光敏电阻或光电导体。 这导致了以下设备分类。

  • 光发射电池——这些光器件在受到足够能量的光子撞击时从光敏材料(如铯)中释放出自由电子。光子所具有的能量取决于光的频率,频率越高,光子将光能转化为电能的能量就越多。
  • 光电导电池——这些光电器件在受到光照时会改变其电阻。光导性是由光击中控制流过它的电流的半导体材料产生的。因此,对于给定的施加电压,更多的光会增加电流。最常见的光电导材料是 LDR 光电池中使用的硫化镉。
  • 光伏电池——这些光电器件产生与接收到的辐射光能成正比的电动势,其效果与光电导率相似。光能落在夹在一起的两种半导体材料上,产生大约 0.5V 的电压。最常见的光伏材料是太阳能电池中使用的硒。
  • 光结器件——这些光器件主要是真正的半导体器件,例如光电二极管或光电晶体管,它们使用光来控制电子和空穴流过它们的 PN 结。光结器件专为检测器应用和光穿透而设计,其光谱响应调整到入射光的波长。

1、仿真电路原理图

在这里插入图片描述

2、仿真代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
const int ledPin = 13;

const int ldrPin = A0;

void setup() {

Serial.begin(9600);

pinMode(ledPin, OUTPUT);

pinMode(ldrPin, INPUT);

}

void loop() {

int ldr = analogRead(ldrPin);

if (ldr <= 40) {

digitalWrite(ledPin, HIGH);

Serial.print("Its Night Time, Turn on the LED : ");

Serial.println(ldr);

} else {

digitalWrite(ledPin, LOW);

Serial.print("Its daytime, Turn off the LED : ");

Serial.println(ldr);

}
Serial.println(ldr);
}

3、仿真结果

在这里插入图片描述

文章来源: https://iotsmart.blog.csdn.net/article/details/121570022