光传感器广泛应用于电子领域。最常用的是光敏电阻或依赖光的电阻器。尽管响应时间长,但该传感器价格低廉,在一些应用中非常有用。
光敏电阻器由光敏半导体的锯齿形轨迹组成。它提供了纯电阻,尽管这取决于环境光。如果在黑暗中,传感器有一个很高的电阻-想几千欧姆或百万欧姆。如果在光线下,传感器的电阻下降到几百欧姆。
在实际应用中,光依赖电阻(ldr)在测量光强方面表现不佳。LDR对光照的反应有一个急剧下降的阻力。此外,它的光谱响应调谐到最大540 nm波长的光。
然而,这种对纯绿光的调谐使得LDR对人眼可见的光谱特别敏感。LDR通常可以测量光或暗,因为它的特殊调谐光谱响应。
光或暗传感器可以通过使用LDR连接到分压器电路来设计。
注意:
- 由于LDR对黑暗有很高的电阻,所以会有很高的电压降。因此,在分压器的输出处将获得一个低电压。
- 由于LDR在光照下的降阻,所以在光照下LDR的电压降会小得多。因此,在分压器的输出端将获得更高的电压。
分压器网络的输出是模拟的。该分压器可与运算放大器配对,以设计理想的光或暗传感器。首先,将ldr电阻分压器的输出连接到OPAMP的非反相输入。将参考电压加到反相输入。
- 如果天黑,LDR网络的输出电压会低于参考电压,OPAMP的输出就会是LOW。
- 如果它是轻的,LDR网络的输出电压将大于参考电压,OPAMP的输出将是高的。
接下来,尝试将ldr电阻分压器的输出连接到OPAMP的反相输入。对非反相输入施加参考电压。
- 如果天黑,LDR网络的输出电压会低于参考电压,OPAMP的输出会高。
- 如果是轻的,LDR网络的输出电压将大于参考电压,OPAMP的输出将是低的。
参考电压可以使用一个壶或可变电阻来调整。无论分压器网络以何种方式与运放配对,输出逻辑都可以用来制作光或暗传感器。
这是一个电路图,可以切换为光和暗传感器…
本例使用LM358双运放IC,根据上述电路,ldr电阻网络的输出连接到其中一个运放的非反相输入,并对另一个LM358运放的输入进行反相。
参考电压可以通过连接到第一个运放的反相输入和另一个运放的非反相输入的可变电阻来调节。这两个运算放大器的输出在光明或黑暗的情况下以相反的方式工作。其中一个运放的输出是通过跳线头绘制的。用户可以选择是否使用该电路作为光或暗传感器。
同样的输出可以用来驱动一个LED,指示光或暗的检测。
PCB中组装的电路如下图所示:
接口LDR与Arduino
光敏电阻可以通过数字或模拟输入与Arduino配对。如果分压器中的LDR直接与Arduino(或任何微控制器)接口,则分压器网络的输出必须连接到Arduino模拟输入。
在这种情况下,Arduino程序可以读取LDR-resistor网络的模拟电压,比较某些决策的参考价值,比如打开电子灯光暗时自动检测或关掉电子灯时自动检测到光。
第二种方法是将ldr电阻网络与运算放大器(运放)配对,并将运放到Arduino的输出作为数字输入。
在这种方法中,运算放大器的输出是通过电位器或可变电阻进行物理校准的。这意味着用户在必要时不需要重新编程Arduino来重新校准传感器。他或她可以简单地调整壶和重新校准完成。
在这里,Arduino读取LDR运算放大器电路的数字逻辑,并执行相应的决策。这种将LDR与Arduino接口的方法简单、用户友好,通常是首选。
光和暗探测使用LDR
对于这个项目,让我们坚持LDR传感器模块,这样我们就可以通过放置跳线来选择光或暗探测。我们将使用这个模块来检测光或暗,并使用Arduino串行监视器监控LDR运放传感器模块的输出。
组件的要求
1.Arduino UNO x1
2.异地恋x1
3.330Ω电阻x2
4.电阻器10 k x1
5.锅10 k x1
6.LM358 x1
7.领导x1
8.案板x1
9.连接线或跨接线
电路的连接
首先在分压器网络中连接一个LDR和一个10K电阻。将网络的LDR端连接到5V DC,并将网络的电阻端连接到地(因为电压降的变化必须发生在LDR上)。
接下来,将ldr电阻网络的输出连接到LM358 IC的引脚3和6。拿一个花盆,将其固定端子连接到5V DC和地面。将锅的可变端子连接到LM358 IC的引脚2和5上。LM358 IC的8、4引脚应接VCC和接地。
将LM358的引脚1连接到Arduino的数字I/O引脚,使电路作为光传感器工作。电路在检测到光时输出为高,在黑暗时输出为低。
若要使用暗传感器,请将LM358的引脚7连接到Arduino的数字I/O引脚之一。作为黑暗传感器,该电路在黑暗时输出为高,在有光时输出为低。
LDR运放电路的输出可以直接驱动LED,也可以通过Arduino实现。
在本教程中,电路已采取在PCB上,其中操作作为一个光或暗传感器可以选择使用跳线连接器或2针分流。PCB上已经提供了一个LED来指示亮或暗检测。
因此,LDR运放电路的输出连接到A0模拟输入管脚,以监测运放输出电压的变化,这取决于是否有光或暗。
Arduino草图
const int ldrPin = A0;
无效的设置(){
Serial.begin (9600);
pinMode (ldrPin、输入);
}
无效循环(){
int ldrStatus = analogRead(ldrPin);
以ldrStatus);
延迟(1000);
}
电路是如何工作的
ldr电阻网络的输出连接到其中一个运放的非反相输入端,并使另一个LM358运放的输入端反相。对两个运放相反的输入端施加相同的参考电压。此参考电压由用户校准。
如果天黑,LDR在电路中提供高电阻。由于电阻高,在它上面有一个高的电压降。因此,电压分压器网络输出的电压低于参考电压。这也意味着输出在LM358的引脚1是低,而引脚7是高。
当有光时,LDR的电阻下降到几百欧姆。由于电阻下降,LDR上有一个低电压降。结果,一个大于参考电压的电压从分压器网络输出。因此,输出在LM358的引脚1是高,而引脚7是低。
结果
了下:传感器提示











