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

电子说

1.2w人已加入

描述

步骤1:LDR

Arduino

Arduino

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

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

步骤2:ADC(模数转换器)

Arduino

任何微控制器或数字操作设备不能直接在模拟电压下运行。我们必须将模拟转换为数字值,为此我们使用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(脉冲宽度调制)

Arduino

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

第4步:所需的组件

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

Arduino Mega 2560开发板

LED(我用了白色和红色)

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

10 K电位计

220欧姆电阻

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

跳线

步骤5:连接/电路

Arduino

连接如下:

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

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

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

步骤6:编程

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

步骤7:面包板测试

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

步骤8:最终和完整模型

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

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分