基于Arduino 的智能家居灯控系统研究
2021-08-18车玮
车玮
(西北师范大学知行学院,甘肃兰州,730070)
1 智能家居灯控系统总体架构设计
1.1 设计思路
结合家庭灯光控制的实际需求内容来看,应将智能家居灯孔系统分为室内灯控系统和室外灯控系统两部分。
1.1.1 室内灯控系统
室内灯控系统可以通过人体感应模式、声音感知模块以及光线感知模块实时收集室内各区域的光照强度信息以及人员经过信息,在周边光照强度较强并且周边没有人员经过时,室内灯控系统将会处于节能模式,而当周边光照强度较弱,并且周边有人员经过的时候,室内灯控系统则会控制照明设备自行启动,实现室内照明效果[1]。
为满足如今人们个性化、多样化灯光需求,将会在客厅灯控系统设置日常模式、舞会模式、宴请模式以及自定义模式四种灯控模式,该些灯控模式在设计过程中需要通过相应的程序编程来实现对照明设备的灯光定义,进而实现各种灯光效果。具体操控平台将会分为智能终端和PC 设备两大类,其中PC 设备更侧重于系统的功能定义以及数据呈现[2]
1.1.2 室外灯控系统
通常情况下,室外私人空间分为室外封闭式空间和室外开放式空间两大类,其中室外封闭式空间的环境特征与室内空间存在较多相似之处,所以可以直接沿用室内灯控系统进行灯光控制;而室外开放式空间相比较来说环境特征更为复杂,若是沿用室内灯控系统,则会出现误动作情况[3],所以在室外灯控系统将会主要采用声控模式来替代逻辑控制模式,并且照明设备在启动一定时间以后还会自行熄灭,无需人员进行手动控制。
1.2 总体架构设计
本文所设计的智能家居灯控系统主要由Arduino UNO单片机系统、W5100 网络拓展版、人体感应模块、光线传感器、声控模块、红外接收模块以及LED 灯等设备和模块组成,配合相应的编程设计,便可以实现室内灯控系统以及室外灯控系统的相应控制功能。具体总体架构设计如图1 所示。
图1 智能家居灯控系统总体架构设计图
2 系统硬件设计
2.1 智能传感器的应用
2.1.1 人体感应模块
本设计中的人体感应模块将会采用HC-SR501 热释电红外装置,该装置可以在附近区域设置红外警戒区,当警戒区内没有移动物体时,传感器便不会输出信号,装置内部的报警电路也不会进行运作;而当报警区域内出现移动人体时,人体所散发的红外线便会被装置接收,并输出微弱的电信号,盖点信号在经过运算放大器放大以后再传输给双限电压比较器,之后输出高电平,驱动报警电路发出警报信号。
2.1.2 光线传感器
光线传感器会采用TEMT6000 光照强度传感器,此传感器具有极高的光线感应灵敏度,并且对于红外光有一定的抑制作用,可以有效保障光线感应的精准性和有效性。之所以能够达成此效果,主要是因为此传感器由一个高灵敏度的可见光光敏三极管组成,此光敏三极管可以将微小的光线差异放大近100 倍,进而获取更加精准的光线感知信息,以此来模拟人对环境光照强度的判断效果。
2.1.3 声控模块
声控模块采用咪头开光模块,此模块将会采用震动感应原理,可以实时判断声控模块周边环境的声音强度。但由于声控模块仅能够确定周边环境时候存在声音,无法有效判断声音的频率和大小,所以在进行软件设计过程中需要对声控模块的相关声音阀值进行合理设置。
在设计中,人体感应模块、光线传感器和声控模块所收集的数据信最终都会传输给Arduino UNO 单片机系统进行分析处理。但由于各类传感器所获取的相关数据信息存在一定的差异需要进行一定的转换后才能够被Arduino UNO 单片机系统识别,此过程中便需要应用A/D 转换模块,即所有传感器信号均需要经过A/D 转换模块转换成数据信号后方可被Arduino UNO 单片机系统识别和处理,再由Arduino UNO 单片机系统的既有程序完成相应的逻辑控制功能。
2.2 红外接收模块
红外接收模块主要采用RPM-638CBR 红外线遥控接收模块,此模块具有体积小、抗干扰能力强,接收角度广、性价比高、无外部元件等优点,在应用过程中可以与红外遥控专用解码电路进行配合使用。结合实际情况来看,此红外接收模块不仅可以满足本文的设计需求,应用后还能够简化系统设计,降低安装成本,实现一举多得的效果。
2.3 网络控制模块
本设计中,网络控制模块是保障智能家居灯控系统智能终端控制和PC 端控制的重要保障基础,为能够确保实际控制效果,在综合分析市场上现有网络控制模块的性能、价格等诸多因素后,最终选用了性价比相对较高的W5100 网络拓展版,而用户软件应用端口则会利用Yeelink 物联网公共服务平台的资源进行构建。此外,设计过程中W5100 网络拓展版将会直接插接在Arduino UNO 单片机系统的主板上,通过中W5100 网络拓展版实现远程控制、PC 端数据分析、一键模式转换等诸多功能效果。
3 系统软件设计
本设计的软件编程软件会采用Arduino IDE 集成开发环境,设计语言选用C#语言,具体软件设计流程如图2 所示。
如图2 所示,智能家居灯控系统在运行过程中会先对程序进行初始化,并对库函数和I/O 端口进行定义,然后根据不同的控制模式,采用不同的数据信息收集方法。
图2 智能家居灯控系统软件设计流程
4 结语
本文所设计的基于Arduino 的智能家居灯控系统实际安装成本较低、易于扩展,应用范围较广,实际应用较为简便,用户不仅可以根据自身的实际需求自定义灯光模式,而且还可以通过远程控制、红外遥控以及自动控制等多种控制模式对智能家居灯控系统进行有效控制。综合分析研究后确定此系统设计可以满足绝大多数家庭对灯光智能化控制的相关需求,所以值得进行普及应用。