APP下载

基于单片机的多功能台灯设计

2022-02-21芮翼鹏赵培焱王衍文

科学技术创新 2022年2期
关键词:台灯按键亮度

芮翼鹏 赵培焱 沈 洲 王衍文

(西京学院 信息工程学院,陕西 西安 710123)

1 背景

一般来说,自适应调节亮度的台灯是一种融合现代控制理念的台灯设计方式,主要是可以根据当前的环境中亮度、人员情况等进行实时的亮度调整和开关控制[1]。对比这两种在学习生活中比较重要的照明台灯可以看出来,自适应亮度调整的台灯相对于手动亮度调节的台灯在自动化以及智能化的程序均比较高,而且能够满足不同人的要求同时节约资源、保护自然环境。

2 设计方案

设计方案是现代半导体制造工艺发展起来的新一代电子器件用于传统控制电路的现代化设计,往往需要用户根据实际的需要以及控制效果进行核心处理单元器件的选择,辅助以传统的传感检测电路、信息显示电路等设计实现,整个系统采用主要分为人体信号采集模块、环境中亮度和温度采集单元模块、显示信息显示单元以及信息处理和外围部件逻辑控制单元等模块设计实现,各模块与多功能台灯智能控制系统的逻辑控制中心单片机之间逻辑关系如图1 所示。

图1 多功能台灯设计框架

3 硬件设计(图2)

图2 硬件电路原理图

逻辑控制电路:包括复位电路和晶振电路。复位电路,复位单元是一个以单片机为核心的智能控制系统中运行时候的复位信号,通常该单元电路的设计包括电阻、电容和按键器件组成,利用大小阻值为10K 的R14 保证复位单元模块产生的瞬时电流/电压不会烧坏电容C2。晶振电路,晶振单元是用于产生单片机、红外检测单元的时序信号,该电路由晶振和电容组成。具体的由晶振大小为11.0592MHz的晶振单元内部的震荡信号用于产生时序信号,通过并接入30pF 的电容设计实现,该电路产生的震荡时序信号通过单片机中标号X1 和X2 引脚的之间的电气连接实现时序信号的传递。

红外检测电路:多功能台灯智能控制系统中红外检测单元模块主要是对于台灯的红外探测单元探测距离内是否有人的实时检测,该红外检测单元硬件支撑电路主要是以HC-SR501 红外检测传感器为核心进行外围人体信号的检测。当HC-SR501 器件检测到智能台灯范围内存在人体信号以后,通过器件的2 号引脚将检测到的人体信号送入单片机中[2]。

温度采集电路:温度采集单元的主要是以DS18B20 为核心进行的,该器件具有三个功能各不相同的引脚,具备分为两类,即:能量供给端口、数据传输端口。为了使得DS18B20 能够正常的采集环境中的温度值,利用能量供给端口VCC、GND引脚与台灯智能控制系统的能量供给单元进行连接实现能量供给,温度敏感器件采集的温度值通过DQ 功能引脚与核心处理单元单片机的P21 引脚连接实现。

按键电路:本次设计的多功能台灯控制系统中按键主要功能是实现台灯开、关和亮度调大、调小的设置,涉及的按键仅有7 个,故而采用按键独立与单片机进行连接的方式实现。具体的将7 个按键依次标记为K1~K7,分别与单片机的Ⅰ/O 引脚进行连接实现[3]。

电源电路:外界对于智能台灯中能量供给主要是采用220V 的民用市电以及干电池或USB 取电方式实现。本次在进行多功能台灯电源模块设计的时候利用USB 进行能量供给,并加入了容值大小为470uF、工作电压为3.5~5V 的电容C1 进行滤波防止接入系统的电源中存在噪声,起到滤波的作用。

亮度采集电路:亮度采集模块主要是实现环境中当前的亮度信息,该模块的电路设计采用对亮度信息敏感的材料构成的元器件和数据类型转换的单元模块ADC0832 实现。VCC 和GND 标号的引脚与系统的电能供给单元进行连接进行能量供给。

4 软件设计

多功能台灯主体程序的设计:

首先,单片机、传感器和显示器的初始操作,为后续信息采集、信息处理和信息显示做好了铺垫。

其次,光强检测器件和红外检测器件对当前环境中的亮度信息和是否有人员进行实时的采集,并由LCD1602 驱动程序驱动其显示当前环境的亮度信息同时语音识别单元模块对当前环境中的语音信息进行采集及分类处理。

最后,当检测到当前环境中光亮的强度信息小于设置的阈值范围且当前环境中检测到有人时则由多功能台灯智能控制系统的逻辑处理中心调用台灯打开程序,驱动台灯点亮。当检测到按键指令是控制其打开时,同样调用台灯点亮程序驱动台灯点亮。多功能台灯智能控制系统的各个单元模块间的逻辑关系构成的主体驱动程序设计流程如图3 所示。

图3 主程序设计流程图

多功能台灯智能控制系统上电后,红外检测模块开始进行内部功能单元清除归0 操作,初始化操作完成后红外检测模块开始检测范围内是否有人,当检测到有人时,红外检测单元模块向单片机发送检测到有人的信号,由多功能台灯红外检测单元逻辑处理中心调用相应的台灯开关控制命令,将台灯打开。多功能台灯智能控制系统中实现人员有无的红外检测单元模块驱动程序设计思路如图4 所示。

图4 红外检测程序流程图

按键扫描程序设计:

(1)初始化各功能单元,为后续的功能实现做好铺垫;

(2)多功能台灯的逻辑处理中心单片机向多功能台灯亮度调整的按键单元发送检测指令,用于检测当前按键的状态值并将获取的按键状态值送入单片机中;

(3)单片机在内部对当前按键与初始值进行对比,如果两者不同,则需要加入一定的延时操作;

(4)延时操作后,单片机向多功能台灯亮度调整模块的按键单元中第一次检测到按下的按键再次发送检测指令用于再次获取按键的状态值;

(5)若两次检测到的多功能台灯中的按键状态与初始值均不一致,那么则判定该按键被使用者按下,继而确定由此按键对应的子程序执行相应的功能。多功能台灯中亮度手动调节的按键单元扫描程序设计流程如图5 所示。

图5 按键扫描程序流程图

亮度采集转换程序设计:

当前环境中的亮度信息进行采集主要是为了获取自动控制台灯亮度的亮度变量,依据亮度的不同实现多功能台灯亮度的自适应调整。当多功能台灯亮度采集程序上电以后,接入的光敏传感器由于当前环境的亮度不同造成其自身的阻值也发生了变化,然而阻值变化是连续型的信号需要对其进行转化。多功能台灯智能控制系统中亮度采集单元的驱动程序设计流程如图6 所示。

图6 亮度采集程序流程图

5 系统调试

5.1 实物板硬件电路调试

5.1.1 对于元器件放置错误的检测尤其需要注意的集成芯片的放置、二极管和带有极性的电容是否错误,主要是对照多功能台灯控制系统的线路连接原理图实现的。

5.1.2 对于实物板中线路或器件焊接是否存在短断路情况的检测,主要是利用电路板设计中常用的测量工具万用表实现的。通过将万用表置于短路档位,利用表针与两个检测的单元连接进行测量。

5.2 功能子程序调试

对于功能子程序调试工作主要也是包括语句符合规则的检测和程序段符合设计功能的检测。

5.2.1 对于语句是否合乎符合规则的检测,主要是利用多功能台灯控制系统程序编写工具Keil 4 的编译连接功能进行的,当编译链接后的程序中没有错误的时候则说明源程序的语句均合乎编写规则。

5.2.2 对于程序段是否符合设计功能的检测,主要通过在多功能台灯实物上的放置调试工作实现。

6 结论

实现常用台灯能够依据环境亮度、环境是否有人亮度的调整及开关控制,并可以采用按键实现用户手动控制台灯开关的功能。虽说本次设计的多功能台灯能够满足设计的要求,但考虑到当前智能家居设备的风起云涌,多功能台灯控制系统的开发还可以朝着以下方向发展:如尝试在智能台灯中加入温湿度、烟雾浓度等的检测单元并可利用物联网技术对家用电器设备依据实际的环境信息进行空调、窗帘等的控制。

猜你喜欢

台灯按键亮度
基于有限状态机的按键检测程序设计
亮度调色多面手
亮度一样吗?
台灯的自述
一种多方向导光按键结构设计
西瓜虫台灯
基于斩波调制的LED亮度控制
人生的亮度
两盏台灯辉映下的难忘岁月
悬浮台灯等