0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用光敏电阻控制灯光的亮灭

科技观察员 来源:罗姆半导体社区 作者:罗姆半导体社区 2022-03-29 17:17 次阅读

当太阳落山时,您的房子会开始变暗,您可能需要打开几盏灯才能看清。那么,如果这些灯光可以自动打开不是更方便吗?使用光敏电阻传感器Arduino,您就可以实现根据周围的环境光线变化对照明灯、百叶窗或者其他任何物件进行控制了。

光敏电阻的工作原理

在本项目中,我们的重点在于介绍光敏电阻以及如何将它们整合到您的项目中。光敏电阻是一种电阻器,它会根据照射的光亮来改变其电阻值。典型的电阻器以恒定的电阻值来阻止电子在电路中的流通,而光敏电阻会在受到更多的光线照射时允许更高的电压通过电路。反而言之,当受到较少的光线照射时,其电阻值会增加。

可以通过Arduino的模拟引脚读取其电阻值,读数范围在0到1023之间。有了这些信息,您可以使您的项目对明亮的日光、黄昏或没有光亮的夜晚作出不同的响应,比如在外面很亮的时候打开百叶窗,或者在天黑的时候打开照明灯。

光敏电阻体积小,价格便宜,而且通常在入门套件和其他传感器套件里都包含该组件。如果您买过电子套件,可能会发现其中就有一两个光敏电阻。为了演示它们是如何工作的,我们将控制两个LED,当有光线时其中一个亮起,没有光线时另外一个亮起。

所需组件

在本项目中,不需要很多标准电子套件中以外的东西。但是,如果您想要使用光敏电阻控制大型项目则需要注意准备一些特殊组件。例如,如果您想控制百叶窗,就需要准备一些伺服,如果您想要控制一盏灯,那么需要使用一个继电器。现在,我们将仅介绍如何使用该传感器。

需要一个Arduino Uno 、Arduino IDE 、两个LED功能完好,具有不同颜色、光敏电阻以及一个220欧姆电阻。

进一步降低通过光敏电阻的阻值,将其降低到更有效的水平

两个100 欧姆 电阻

防止烧坏LED

如果您没有一根躺在某个角落里的USB数据线,还需要购买USB数据线。

在本项目的原型构建中使用面包板也会很有帮助。同样,所有这些材料通常都可以在任何入门电子套件中找到,因此请事先查看您是否已经具备这些组件。

代码

在本项目中,我们将使用Arduino上的一个引脚读取光敏电阻阻值,并使用两个引脚来控制两个独立的LED。当光敏电阻检测到高于某个阈值的光线强度时,其中一个LED将会亮起。当光线强度低于该阈值时,另一个LED将会亮起。实现以上功能的全部代码如下所示:

int redLED = 7;

int blueLED = 8;

int photoresistorPIN = A0;

int lightValue = 0;

void setup() {

pinMode(redLED, OUTPUT);

pinMode(blueLED,OUTPUT);

Serial.begin(9600);

}

void loop(){

lightValue = analogRead(photoresistorPIN);

Serial.println(“Light value: “);

Serial.println(lightValue);

if(lightValue < 50){

digitalWrite(redLED, HIGH);

}

else{

digitalWrite(blueLED, HIGH);

}

delay(200);

digitalWrite(redLED, LOW);

digitalWrite(blueLED, LOW);

}

这段代码中有几个部分需要解释,我们从要设置的变量开始。

int redLED = 7;

int blueLED = 8;

int photoresistorPIN = A0;

int lightValue = 0;

在这里,我们将红色LED分配给引脚7,蓝色LED分配给引脚8。这些可以分配给Arduino上的任何数字引脚。接下来,我们将光敏电阻分配给A0。该引脚必须分配给六个模拟引脚之一,因为它需要读取来自光敏电阻的模拟值。

最后,我们将创建一个名为lightValue的变量来存储光敏电阻返回的值。

void setup() {

pinMode(redLED, OUTPUT);

pinMode(blueLED,OUTPUT);

Serial.begin(9600);

}

在setup()部分中,前两行用于将红色和蓝色LED 引脚分配为输出引脚。

我们还将初始化串行监视器,这样就可以查看光敏电阻的返回值。这在设定用于切换两个LED开关的阈值时会很有用。

根据设置项目时所在房间的环境光强度,您可以基于自己的需要对阈值进行调整。

void loop(){

lightValue = analogRead(photoresistorPIN);

Serial.println(“Light value: “);

Serial.println(lightValue);

if(lightValue < 50){

digitalWrite(redLED, HIGH);

}

else{

digitalWrite(blueLED, HIGH);

}

delay(200);

digitalWrite(redLED, LOW);

digitalWrite(blueLED, LOW);

}

在loop()部分中,第一行用于读取光敏电阻的模拟值,并将其分配给lightValue变量。然后该值将会被立即打印到串行监视器上。

接下来,如果光传感器读取的值低于50,循环代码中的一部分代码将会被启用,红色LED灯将会亮起,如果值高于50,则蓝色LED将会亮起。如果50对您的环境光线来说太低,红灯一直亮起,那么请使用串行监视器为您的项目设定一个合适的值。

接线

现在您已经理解了代码,接下来请将其上传到您的Arduino。然后,我们将开始设置接线—幸运的是,这非常简单,并且很容易将其添加到您的其他项目中。要完成接线设置,请按照下列步骤操作:

● 将蓝色LED的长端连接到Arduino的引脚8。将LED的短端连接到一个100欧姆的电阻上,然后将该电阻的另一端连接到GND。

● 对红色LED重复上一步骤,LED连接到Arduino上的引脚7。

● 将光敏电阻的一端连接到5V引脚,另一端连接到引脚A0。此外,在光敏电阻的第二个端口连接一个220欧姆的电阻,并将该电阻连接到GND。

● 如果需要,将之前的电路与面包板上的正负轨连接。

完成所有接线后,您可以将Arduino插入电源以启动项目。在光敏电阻上挥动您的手,将会从蓝色LED亮起切换到红色LED亮起。如果只有其中一个LED保持亮起的状态,请尝试调整草图中if()语句中的值,直到传感器按照预期方式进行工作。当您对结果感到满意的时候,项目就完成了!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22449

    浏览量

    645872
  • 光敏电阻
    +关注

    关注

    4

    文章

    265

    浏览量

    48493
  • Arduino
    +关注

    关注

    184

    文章

    6427

    浏览量

    184832
收藏 人收藏

    评论

    相关推荐

    用光敏电阻参数

    用光敏电阻参数  规格 型号
    发表于 11-28 10:47 4508次阅读

    关于光敏电阻

    我想利用光敏电阻控制LED灯的,想请教各位大神硬件电路该如何连接,软件部分该怎么设计!小弟再次感谢!!
    发表于 01-20 21:02

    用光敏电阻控制电机转动问题

    请问,我想要用光敏电阻控制电机转动,即当光照到达阈值之后电机转,否则不转,只实现这个功能的话,只需要把光面电阻模块连接到单片机上,用单片机来检测高低电平就可以啦,对吗,我买的光敏电阻
    发表于 01-18 19:11

    请问光敏电阻阻和暗阻是什么意思?光敏电阻怎么测试?

    谁知道光敏电阻阻和暗阻是什么意思 光敏电阻怎么测试啊?
    发表于 10-11 09:10

    51单片机如何利用光敏电阻实现光照自动控制系统

    利用光敏电阻实现光照自动控制系统,这个设计其实不难,难的是其中的各种状态逻辑,先看设计要求:1、设计题目单片机光照控制系统的设计。2、设计要求(1)基本要求①单片机外接光电传感器或光敏电阻
    发表于 07-21 06:04

    光敏电阻的工作原理是什么

    等。光传感器是目前产量最多、应用最广的传感器之一,它在自动控制和非电量电测技术中占有非常重要的地位。  光敏传感器是利用光敏元件将光信号转换为电信号的传感器,它的敏感波长在可见光波长附近,包括红外线
    发表于 02-21 06:40

    使用光敏电阻的光电烟火报警器电路图

    使用光敏电阻的光电烟火报警器电路图
    发表于 04-09 09:32 2695次阅读
    使<b class='flag-5'>用光敏电阻</b>的光电烟火报警器电路图

    用光敏电阻器直接驱动的维电器电路图

    用光敏电阻器直接驱动的维电器电路图
    发表于 06-06 10:06 997次阅读
    <b class='flag-5'>用光敏电阻</b>器直接驱动的维电器电路图

    用光敏电阻的规格参数

    用光敏电阻的规格参数: 规格
    发表于 08-10 09:06 3154次阅读

    光敏电阻的性质和应用

    光敏电阻,顾名思义,它的阻值是随着光照的强、弱变化而变化一种电阻光敏电阻是一种采用半导体材料制作、利用光电效应工作的光电元件。它在光线的作用下其阻值往往变小,这种现象称为光导效应,因
    发表于 01-24 18:09 7448次阅读
    <b class='flag-5'>光敏电阻</b>的性质和应用

    用光敏电阻的规格参数,Photosensitive resistor

    用光敏电阻的规格参数,Photosensitive resistor 关键字:光敏电阻,元件选择 规格
    的头像 发表于 09-20 18:53 1374次阅读

    使用光敏电阻模块和麦克对高功率LED灯实现声控和光控的灯光设计

    本文档的主要内容详细介绍的是使用光敏电阻模块和麦克对高功率LED灯实现声控和光控的灯光设计的工程文件和源代码免费下载。
    发表于 11-25 08:00 3次下载
    使<b class='flag-5'>用光敏电阻</b>模块和麦克对高功率LED灯实现声控和光控的<b class='flag-5'>灯光</b>设计

    如何使用光敏电阻

    电子发烧友网站提供《如何使用光敏电阻.zip》资料免费下载
    发表于 10-28 15:49 4次下载
    如何使<b class='flag-5'>用光敏电阻</b>

    使用光敏电阻(LDR)

    电子发烧友网站提供《使用光敏电阻(LDR).zip》资料免费下载
    发表于 01-30 16:32 0次下载
    使<b class='flag-5'>用光敏电阻</b>(LDR)

    用光耦代替光敏电阻

    光敏电阻的阻值在没有光的时候最大。光照强度升高,光敏电阻的阻值降低。
    的头像 发表于 03-23 17:04 1160次阅读