|
在本篇文章中,我们将学习如何使用Arduino和LDR设计基于RTC的路灯控制。该项目的概念基于低能耗。在本文中,路灯根据实时时钟模块DS3231控制的昼夜定时开启或关闭。通过编程设置定时,以确定ON和OFF时间。同样,LDR用于检测光量,并在此基础上控制路灯照明强度。
路灯的主要优点是可以提高安全性并防止事故。通常,路灯会在晚上打开,并且会一直亮到早晨。这可能会导致不必要的能源使用,因为灯会一直以全亮度发光。通过使用路灯的自动强度控制,可以依据照明条件下控制光的强度。
所需的组件 ● Arduino UNO开发板 ● DS3231 RTC模块 ● LDR光敏电阻 ● 1602 LCD显示屏 ● 按钮 ● 连接线 ● 面包板
连接电路图
首先将DS3231 RTC模块的SDA和SCL引脚连接到Arduino的A4(SDA)和A5(SCL)引脚。10KΩ电阻和LDR以分压器形式连接,其输出提供给Arduino的A0引脚。
1602 LCD模块的数据引脚,即D4 – D7分别连接到Arduino的5、4、3和2引脚。 RS和E引脚连接到引脚12和11。
电路的工作过程 使用Arduino和LDR的基于RTC的路灯控制项目以两种模式运行,即RTC模式和LDR模式。在RTC模式下,路灯会根据代码中设置的“ON Time”自动打开,并根据“OFF Time”关闭。在LDR模式下,路灯根据LDR附近环境光的强度进行控制。
代码上传后,项目将以RTC模式运行。代码中设置了两个时间,即“ON TIME”和“OFF TIME”。
Arduino将ON TIME与RTC模块的时间进行比较,当它们匹配时,LED点亮。此后,Arduino等待OFF TIME,一旦RTC模块的时间达到OFF TIME,LED就会关闭。
但是在此操作的任何时候,如果按下按钮,Arduino就会进入LDR模式。在这种模式下,Arduino根据落在LDR上的光量读取LDR的值,然后调整LED的强度。为了切换回RTC模式,您需要再次按下按钮。
源代码/程序 在上传代码之前,请先下载RTC库,下载地址:DS3231 RTC库。下面给出了使用Arduino和LDR进行基于RTC的路灯控制的代码:
main.rar
(1.47 KB, 下载次数: 25)
|