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

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

3天内不再提示

基于Arduino Mega 2560的LDR光强度控制

454398 来源:wv 2019-10-12 14:38 次阅读

步骤1:LDR

代表“光敏电阻”。这是一种电阻,其电阻值随强度或所照射的光量而变化。随着落在它上面的光量的增加,其电阻会降低,反之亦然。

我们制作了一个电路,为Arduino开发板给出1或0的逻辑。可以反转电路以更改逻辑。

步骤2:ADC模数转换器

任何微控制器或数字操作设备不能直接在模拟电压下运行。我们必须将模拟转换为数字值,为此我们使用ADC。 Arduino内置了ADC,因此我们只需插入跨接线即可。

它接受一个模拟值(在本例中为LDR两端的电压)并将其转换为10位数字。由于我们有10位,因此ADC的输出范围是0-1023(即1024个值2 ^ 10)。 0 – 5V之间的每个电压都映射到0-1023之间的值。为什么要到1023年?原因是我们的ADC的分辨率。在这里,我们用10位组合表示每个值。随着用于表示一个值的位数的增加,输出值将变得更加准确。

值位表示形式

0 – 1.25 00

1.25- 2.5 01

2.5-3.75 10

3.75-5 11

步骤3:PWM(脉冲宽度调制)

脉冲宽度调制是一种可以根据消息信号改变脉冲宽度的技术。在这种情况下,LED连接到arduino板的PWM输出引脚,并使用AnalogWrite()函数使该引脚上的脉冲宽度变化。脉冲宽度的变化可以看作是引脚上平均电压的变化。因此,尽管我们仅更改LED点亮或熄灭的时间,但由于视觉的持久性,好像我们正在改变LED两端的电压一样,导致其褪色和变亮。

第4步:所需的组件

现在是该项目所需的组件。我保证这些都是非常便宜和简单的物品(除了Arduino开发板本身:p)

Arduino Mega 2560开发板

LED(我用了白色和红色)

LDR或光电二极管(我使用LDR是因为它便宜且容易获得)

10 K电位计

220欧姆电阻

面包开发板或性能开发板(我都进行过测试)

跳线

步骤5:连接/电路

连接如下:

连接电阻的一端(我有一个1k的电阻…如果愿意,可以使用任何其他值。确保它不是太高或太低)到arduino板的5V引脚。将电阻器的另一端连接到LDR的一端。 LDR的另一端应连接到地面(GND)。

从电阻器和较早连接的LDR的连接处接一根线,然后将其连接到arduino板上的模拟输入5。

接下来,从板上的任何PWM引脚上接一根电线,然后将其连接到LED的阳极。将LED的阴极连接到电阻的一端,另一端连接到GND。

步骤6:编程

如果需要帮助,请附加使用arduino软件制作的文件。

步骤7:面包板测试

我测试了电路板上的电路,并通过稍微移动电位器来找到正确的调整。令我满意之后,我制作了一个下面的视频。现在是时候制作一个更可靠,更永久的电路板了。

步骤8:最终和完整模型

所以我焊接了一块更坚固的板进行最终实验。我在这里使用了红色LED,因为它显示的暗淡和亮度比晶体光更好。

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

    关注

    188

    文章

    6477

    浏览量

    187993
  • mega2560
    +关注

    关注

    0

    文章

    17

    浏览量

    5861
  • LDR
    LDR
    +关注

    关注

    0

    文章

    99

    浏览量

    7648
收藏 人收藏

    相关推荐

    如何使用Arduino实现CAN总线通信呢

    CAN(Controller Area Network)总线是一种常用于汽车和工业控制系统的串行通信协议,以其高可靠性和实时性而闻名。Arduino,作为一种流行的开源微控制器平台,可以通过附加
    的头像 发表于 12-23 09:06 573次阅读

    基于Arduino的串口通信项目

    Arduino Mega等。 USB数据线 :用于将Arduino开发板连接到计算机。 串口设备 :可以是另一个Arduino开发板、传感器模块、执行器等,只要它支持串口通信。 连接
    的头像 发表于 11-22 09:24 895次阅读

    如何使用Arduino实现CAN总线通信

    CAN总线(Controller Area Network)是一种多主控制的串行通信协议,广泛应用于汽车电子、工业自动化等领域。它以其高可靠性、实时性和灵活性而受到青睐。Arduino作为一个
    的头像 发表于 11-12 10:09 1411次阅读

    USB PD3.1协议芯片-LDR6020

    LDR6020是一款功能强大的USB PD3.1协议芯片,以下是对LDR6020的详细介绍:     一、基本特性 LDR6020集成了3组6路DRP USB-C及PD通信协议处理模块和USB2.0
    的头像 发表于 11-10 10:23 544次阅读
    USB PD3.1协议芯片-<b class='flag-5'>LDR</b>6020

    光纤光强影响因素都有哪些

    光纤光强即光纤中传输的光信号的强度,受到多种因素的影响。以下是对光纤光强影响因素的详细分析: 一、光纤本身的特性 光纤类型:不同类型的光纤(如单模光纤和多模光纤)具有不同的传输特性,这会影响光信号
    的头像 发表于 11-01 09:39 565次阅读

    一种基于光强度相关反馈的波前整形方法

    。在这里,课题组提出了一种基于光强度相关反馈的波前整形方法,该方法使用遗传算法在比传统方法更短的时间和更少的迭代次数内实现所需的波前整形。在该方法中,相位掩模被划分为几个区域,每个区域根据光强分布分配
    的头像 发表于 10-27 16:28 306次阅读
    一种基于<b class='flag-5'>光强度</b>相关反馈的波前整形方法

    16位数字输出型环境光强度传感器集成电路bh1750FVI中文数据手册

    电子发烧友网站提供《16位数字输出型环境光强度传感器集成电路bh1750FVI中文数据手册.pdf》资料免费下载
    发表于 09-11 14:26 4次下载

    为什么无法在nodemcu和arduino mega之间交换数据?

    您好,我正在尝试通过 UART 在 arduino mega 和 nodemcu 之间交换数据(使用 arduino IDE 对两者进行编程)。 我将 arduino 的电压降低到
    发表于 07-19 12:15

    如何将ESP2866更新到正确的AT Command固件?

    /mega-wifi-r3-atmega2560-esp8266-flash-32mb-usb-ttl-ch340g-micro-usb.html 在通电时,它会创建一个 WiFi AP,而不会被告知这样做(Arduino 草图什么都不做)。 我猜它在ESP8266上安
    发表于 07-19 08:37

    使用ESP8266板和AT命令集构建一个多客户端HTTP服务器遇到的疑问求解

    我们正在尝试使用ESP8266板和 AT 命令集构建一个多客户端 HTTP 服务器,通过串行端口连接到 Arduino 板。我们正在使用 Arduino Mega 2560 板。它有更
    发表于 07-18 08:03

    ESP8266为什么不响应Arduino

    我是这个 wifi 芯片的新手。我的问题是,当我将其与 arduino mega 连接时,我无法从 esp8266 获得响应。 像许多在线教程一样,我按照说明进行操作,但仍然无法得到任何回应
    发表于 07-16 06:39

    ESP8266干扰arduino的ADC采样怎么解决?

    我用安可信的ESP01与Arduino Mega256设计了一个系统。系统中,Mega256直接给ESP01供3.3v。Mega2560的A0接了信号发生器,输入直流3V。硬件连接如下
    发表于 07-08 07:25

    adr和ldr什么区别?

    adr 和ldr什么区别 还有为啥arm 汇编能反汇编不都已经是汇编了?
    发表于 05-17 06:27

    关于镭神智能M10系列激光雷达抗环境光强度参数的严正声明

    近日,我公司接到合作客户反馈,某公司在线上某平台销售单线激光雷达产品时,为强调自产的激光雷达产品性能参数,恶意篡改我司激光雷达M10与M10P的抗环境光强度参数,以致于客户对我司产品性能产生质疑,并
    的头像 发表于 02-19 13:24 1300次阅读
    关于镭神智能M10系列激光雷达抗环境<b class='flag-5'>光强度</b>参数的严正声明

    arduino控制步进电机代码

    Arduino是一种开放源代码的电路板平台,它可以用于控制各种不同的电子设备,包括步进电机。步进电机是一种电动机,可以通过下达特定的指令来控制每个步进的角度,从而使电机旋转到指定的位置。在本文
    的头像 发表于 02-14 16:29 2223次阅读