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

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

3天内不再提示

制作一个带有Arduino的LDR的光传感器

科技观察员 来源:circuitdigest 作者:潘卡伊·卡特里 2022-11-18 16:13 次阅读

我们都希望我们的家用电器根据某些条件自动控制,这称为家庭自动化。今天我们要控制外面基于黑暗的光,当外面黑暗时灯会自动打开,当它变亮时关闭。为此,我们需要一个光传感器检测光线状况,并需要一些电路来控制光传感器。这就像黑暗和明亮探测器电路,但这次我们使用Arduino来更好地控制光线。

在这个电路中,我们正在制作一个使用带有Arduino的LDR的光传感器,根据房间或外部区域的光线条件控制灯泡/ CFL。

所需材料

Arduino UNO

LDR (光相关电阻

电阻器 (100k-1;330ohm-1)

指示灯 - 1

继电器模块 - 5v

灯泡/节能灯

连接线

面包板

电路图

poYBAGN3PqyANeGIAABxa2SlDOo730.png

LDR

LDR 是光相关电阻器。LDR由半导体材料制成,使其具有光敏特性。有很多类型,但有一种材料很受欢迎,那就是硫化镉(CdS)。这些LDR或光敏电阻器的工作原理是“光导率”。现在这个原理说的是,每当光落在LDR表面(在这种情况下)时,元件的电导就会增加,或者换句话说,当光落在LDR表面时,LDR的电阻就会下降。LDR电阻降低的这一特性之所以得以实现,是因为它是表面使用的半导体材料的特性。

LDR.jpg

我们之前使用LDR制作了许多电路,这些电路使用LDR根据需要使灯光自动化。

使用Arduino的LDR控制LED的工作

根据电路图,我们使用LDR和100k电阻制作了分压器电路。分压器输出馈送到 Arduino 的模拟引脚。模拟引脚感测电压并为Arduino提供一些模拟值。模拟值根据LDR的电阻而变化。因此,当光落在LDR上时,它的电阻会降低,因此电压值会增加。

光强度 ↓ - 电阻↑ - 模拟引脚电压↓ -灯亮起

根据Arduino代码,如果模拟值低于700,我们认为它是黑暗的并且灯打开。如果该值高于 700,我们认为它是明亮的,并且灯关闭。

代码说明:

在这里,我们定义了继电器、LED 和 LDR 的引脚。

#define relay 10
int LED = 9;
int LDR = A0;
将 LED 和继电器设置为输出引脚,将 LDR 设置为输入引脚。

pinMode(LED, OUTPUT);
pinMode(relay, OUTPUT);
pinMode(LDR, INPUT);
通过 Arduino 的 A0 引脚读取电压模拟值。该模拟电压将根据LDR的电阻增加或减少。

int LDRValue = analogRead(LDR);
给黑暗和明亮的条件。如果该值小于 700,则表示颜色较暗,LED 或指示灯亮起。如果该值大于 700,则它很亮,LED 或灯熄灭。

if (LDRValue <=700)
{
digitalWrite(LED, HIGH);
digitalWrite(relay, HIGH);
Serial.println("It's Dark Outside; Lights status: ON");
}
else
{
digitalWrite(LED, LOW);
digitalWrite(relay, LOW);
Serial.println("It's Bright Outside; Lights status: OFF");
}

使用 LDR 和 Arduino 控制继电器

pYYBAGN3PlmAOFULAAE5mlHgm8Y295.png

我们可以控制家庭灯或任何电气设备,而不是根据亮度和暗度控制LED。我们所要做的就是连接继电器模块并设置参数以根据光的强度打开和关闭任何交流电器。如果该值低于 700,这意味着它为暗,则继电器运行并且灯亮起。如果该值大于 700(表示其白天或明亮),则继电器将不运行,指示灯保持熄灭。 在此处了解有关继电器以及如何将交流设备连接到继电器的更多信息

pYYBAGN3PrWAc4HXAAC9chO0GU0734.jpg

#define relay 10

int LED = 9;

int LDR = A0;


void setup()

{

Serial.begin(9600);

pinMode(LED, OUTPUT);

pinMode(relay, OUTPUT);

pinMode(LDR, INPUT);

}


void loop() {

int LDRValue = analogRead(LDR);

Serial.print("sensor = ");

Serial.print(LDRValue);


if (LDRValue <=700) 

{

digitalWrite(LED, HIGH);

digitalWrite(relay, HIGH);

Serial.println("It's Dark Outside; Lights status: ON");

}

else

{

digitalWrite(LED, LOW);

digitalWrite(relay, LOW);

Serial.println("It's Bright Outside; Lights status: OFF");

}

}


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

    关注

    3

    文章

    169

    浏览量

    29893
  • Arduino
    +关注

    关注

    187

    文章

    6455

    浏览量

    186445
  • LDR
    LDR
    +关注

    关注

    0

    文章

    98

    浏览量

    7546
收藏 人收藏

    评论

    相关推荐

    用IR传感器Arduino制作数字转速计(附代码)

    本项目采用IR传感器Arduino开发板制作数字转速计,以RPM为单位测量马达的转数。项目黑简单,只需将IR
    的头像 发表于 08-25 09:55 3536次阅读
    用IR<b class='flag-5'>传感器</b>和<b class='flag-5'>Arduino</b><b class='flag-5'>制作</b><b class='flag-5'>一</b><b class='flag-5'>个</b>数字转速计(附代码)

    【开源分享】带有 Arduino 接口的火灾报警传感器

    可以分别接+5V和Gnd。DO 是给定 Arduino 的 pin11 作为火焰传感器引脚来检测火灾的数字输出。蜂鸣器电路包含NPN晶体管即2N2222、1kohm电阻、
    发表于 06-30 16:12

    简单的LDR传感器项目

    描述LDR 控制继电器模块 SMD这是简单的 LDR传感器 项目,旨在打开继电器(当有
    发表于 09-12 06:22

    带有Arduino的Flex传感器制作

    有柔性传感器上有2引脚,其中连接到arduino上的3.3V或5V供电,另一个连接到地。但
    的头像 发表于 10-14 09:37 5547次阅读

    基于ROHM BH1750环境传感器制作测光表过程

    在本教程中,我们将学习如何使用BH1750传感器Arduino制作简单的测光表。
    的头像 发表于 04-27 15:55 3177次阅读
    基于ROHM BH1750环境<b class='flag-5'>光</b><b class='flag-5'>传感器</b><b class='flag-5'>制作</b>测光表过程

    如何使用ArduinoLDR传感器实现LCD液晶屏亮度的自动调节

    本文将介绍如何使用ArduinoLDR传感器实现LCD液晶屏亮度的自动调节。这是简单的Arduin
    的头像 发表于 04-11 17:10 6813次阅读
    如何使用<b class='flag-5'>Arduino</b>和<b class='flag-5'>LDR</b><b class='flag-5'>传感器</b>实现LCD液晶屏亮度的自动调节

    带有用于AGV的磁带传感器Arduino接口

    电子发烧友网站提供《带有用于AGV的磁带传感器Arduino接口.zip》资料免费下载
    发表于 10-28 16:00 1次下载
    <b class='flag-5'>带有</b>用于AGV的磁带<b class='flag-5'>传感器</b>的<b class='flag-5'>Arduino</b>接口

    带有Arduino Nano DS3231 LDR的7段时钟

    电子发烧友网站提供《带有Arduino Nano DS3231 LDR的7段时钟.zip》资料免费下载
    发表于 11-01 14:54 3次下载
    <b class='flag-5'>带有</b><b class='flag-5'>Arduino</b> Nano DS3231 <b class='flag-5'>LDR</b>的7段时钟

    带有LDR和DHT22传感器Arduino的家用自动机

    电子发烧友网站提供《带有LDR和DHT22传感器Arduino的家用自动机.zip》资料免费下载
    发表于 11-10 14:44 0次下载
    <b class='flag-5'>带有</b><b class='flag-5'>LDR</b>和DHT22<b class='flag-5'>传感器</b>及<b class='flag-5'>Arduino</b>的家用自动机

    带有Arduino的停车传感器

    电子发烧友网站提供《带有Arduino的停车传感器.zip》资料免费下载
    发表于 11-10 11:48 0次下载
    <b class='flag-5'>带有</b><b class='flag-5'>Arduino</b>的停车<b class='flag-5'>传感器</b>

    带有arduino的火焰传感器

    电子发烧友网站提供《带有arduino的火焰传感器.zip》资料免费下载
    发表于 11-29 14:50 1次下载
    <b class='flag-5'>带有</b><b class='flag-5'>arduino</b>的火焰<b class='flag-5'>传感器</b>

    使用Arduino制作停车传感器

    电子发烧友网站提供《使用Arduino制作停车传感器.zip》资料免费下载
    发表于 12-01 14:08 0次下载
    使用<b class='flag-5'>Arduino</b><b class='flag-5'>制作</b>停车<b class='flag-5'>传感器</b>

    使用Arduino制作触摸传感器

    电子发烧友网站提供《使用Arduino制作触摸传感器.zip》资料免费下载
    发表于 12-05 15:02 0次下载
    使用<b class='flag-5'>Arduino</b><b class='flag-5'>制作</b>触摸<b class='flag-5'>传感器</b>

    简单的传感器电路图分享

    这是简单的传感器电路图,当入射到传感器上的高于阈值时,它会激活继电器。该电路成本更低。它
    的头像 发表于 07-05 16:25 3569次阅读
    <b class='flag-5'>一</b><b class='flag-5'>个</b>简单的<b class='flag-5'>光</b><b class='flag-5'>传感器</b>电路图分享

    使用Arduino带有语音警报的运动传感器

    运动传感器警报在市场上很容易获得,但是价格昂贵。这是带有语音警报的基于Arduino的简单,廉价的运动传感器警报。它可以用于安全目的。   通常,对于户外监视,运动
    的头像 发表于 10-15 16:13 1091次阅读
    使用<b class='flag-5'>Arduino</b>的<b class='flag-5'>带有</b>语音警报的运动<b class='flag-5'>传感器</b>