获得地址后,系统调用ZgBeeBind(1,add)函数进行绑定并将绑定结果显示在液晶显示屏上,从而完成组网绑定的功能[6-10]。其中命令代码为Cmd 0:0x66、Cmd1:0x01。
4.3 数据传输及调光
系统完成组网后即可进行数据传输和调光。系统采用ZgBeeSendData()函数来进行数据传输,此函数包含的主要参数有目的地址、命令类型和数据,命令代码为Cmd 0:0x66、Cmd1:0x03。而目的地址与数据均通过键盘扫描用户输入来写入寄存器。
对于调光功能的实现,本文采用PWM调制方式,即通过输出不同占空比的方波进行不同情景模式的调光。具体实现方式:采用while循环中内嵌1个case语句实现。while循环负责检查是否有外部命令到来,每一个case分支对应1个情景模式,当设备接收到调光命令后,根据命令中的有关情景模式的数据进入到相关的case分支中产生相应的PWM信号,当检查到外部命令来临时,则跳出该分支进入相应的分支产生新的情景模式。对于PWM信号的产生有多种方式,本文利用循环计时的实现方法,即通过利用不同长短的延时来输出0和1实现不同占空比的方波。基本计算方法如下:单位延时为晶振的1/12,则系统在进行[(方波周期/单位延时)×占空比]个延时后输出1,在进行[(方波周期/单位延时)×(1-占空比)]个延时后输出0,如此进行反复循环即可实现PWM功能。
5 实验结果
ZigBee模块对LED的调光控制采用PWM调制方式,即通过输出3路不同占空比的方波实现对LED的RGB分量的调节,形成不同颜色的光。在本实验中采用事先设定好情景模式,根据用户按下不同的情景按键输出不同的PWM波形来实现LED的情景照明。实验结果输出占空比分别为25%、57%、70%的方波,如图3所示。
本文针对目前智能家居照明发展趋势,提出了一种基于ZigBee和ARM处理器的智能家居照明系统设计方案,实现了系统控制和智能调光功能,为以后的研究打下了一定的基础。
上一页 [1] [2]