基于STM32和机智云的智能台灯的设计与实现
作者 张凌燕1 祝朝坤1 鲁猛2 1.郑州工商学院 机械与电信工程学院(河南 郑州 451400) 2.河南省简能物联网科技有限责任公司(河南 郑州 450000)
本文引用地址:http://www.amcfsurvey.com/article/201804/379044.htm张凌燕(1989-),女,硕士,演究方向:嵌入式系统;祝朝坤, 男,硕士,研究方向:无线传感器网络。
摘要:基于STM32单片机和机智云平台,设计了一款智能台灯。在设计中融合了光电传感器、光照强度传感器、温湿度传感器、WiFi通信模块等一些常用的传感器,在台灯普通照明功能的基础上,提出并设计了一种更加自动化、智能化、人性化的台灯。使台灯能够更加贴心,更能懂人所想。
0 引言
随着现代物联网技术的不断发展,生活用品的智能化程度也越来越普及,人们对一些家居物品的人性化、智能化设计要求也越来越高。而台灯作为家庭主要照明工具之一,在现代社会生活中占有重要地位,当前市面上的多数台灯都还是仅仅能够满足普通照明需求,这让其在对智能化的需求越来越高的当今市场,显得格格不入,甚至落伍。
我们通过对市场的调查和了解发现,大家对于智能台灯有如下需求:希望台灯能够通过外界环境以及时间自动调节打开时的亮度;例如在台灯上集成时钟和温湿度传感器等模块,这样一来,我们可以在工作学习之余,一抬眼就能看到时间和目前身边的温湿度、PM2.5等环境状态;同时也希望能够用手机远程控制台灯,使台灯拥有多种工作模式;当夜晚我们睡着之后,台灯会自动慢慢熄灭,当半夜起身上厕所时,台灯会微微亮起等智能化要求。本文采用STM32系列单片机作为主控芯片、采用机智云作为云端数据传输中介,开发设计了一款能够满足上述市场需求的智能台灯。
1 智能台灯的设计框图
该智能台灯的设计主要分为硬件和软件两部分。硬件部分设计包括电源设计、STM32外围电路以及相关的传感器、WiFi模块与STM32连接电路设计;软件部分设计包括STM32单片机代码编写、机智云平台提供的相关代码的编写以及Android手机APP的代码编写。系统的设计框图如图1所示。
由图1可知,该智能台灯能够采用各类环境传感器感知台灯周边环境,从而实现台灯自动感知环境并选择合适的光照强度来对周围环境进行照明的功能;采用超声波传感器为台灯设计了“坐姿检测”的功能,当在台灯前工作或者学习时坐姿不正确,则台灯将会触发报警并提示修正坐姿;同时也采用光电传感器配合手势算法设计了能够使用手势来控制台灯亮灭的功能。以上设计使台灯更加人性化、智能化,使日常的台灯能够满足未来智能家居的要求。
2 智能台灯的硬件设计
本设计中使用ST公司的STM32F401Nucleo开发板为主控核心板,并配合WiFi模块、红外光电传感器、超声波传感器、人体热释电红外传感器、PCF8563时钟芯片、光照强度传感器等多种传感器完成硬件部分的设计。该设计的整体电路如图2所示。
2.1 WiFi模块
为了解决硬件与软件的通信,选用了ESP8266 WiFi模块。ESP8266模块是深圳安信可公司基于ESP8266芯片研发(增加必要外围电路、串口flash、板载天线等)的串口WiFi模块,集成完整的TCP/IP协议栈和MCU。其特点是成本低、使用简便、功能强大。本设计中采用该WiFi模块和STM32的串口进行通信,将通过网络采集到的数据,经过串行口发送给STM32单片机,进行进一步的处理。同时智能台灯通过WiFi模块接入云端,为远程控制提供了可能。其电路原理图如图3所示。
2.2 HC-SRO4超声波模块
HC-SRO4超声波模块。超声波测距模块一般有发射、接收和信号处理三个部分。工作时,超声波发射器只需要在触发端给一个至少10μs的高电平信号,它就会自动发送8个40 kHz的方波,自动检测是否有返回的信号。用超声波模块主要用于纠正坐姿需要,我们会通过超声波的测距功能来时刻提醒用户在工作学习时要保持正确的坐姿,一旦用户坐姿偏差太大,台灯将会发出报警提醒声,让用户培养良好的坐姿习惯。
2.3 人体热释电探头
人体热释电探头。用人体热释电模块能够实时检测到是否有人经过,如果有返回信号则台灯自动开启,能够方便用户第一时间使用并可以记录入座时间,及时给予反馈信息提醒,同时有利于用户的夜间使用。当感应到有人经过它便会自动开灯,方便夜间人们的生活,且不影响家人的正常休息。对于害怕黑夜的人来说台灯夜间有一个小夜灯模式,能够让用户安心入睡,保障更好的睡眠质量。
2.4 光电传感器
光电传感器。光电传感器模块有三个引脚,分别是VCC、GND和信号输出端。每个光电传感器的信号输出引脚分别连到STM32单片机的一个GPIO端口上。当该光电门被遮挡住的时候,会给STM32单片机发送一个数字电平信号,单片机接收到信号后,再进行进一步处理。单个光电传感器的电路原理图如图4所示。
本设计中采用四个光电探头,配合STM32的定时器功能,编写了一个简单的算法,能够检测到两种方向不同速率的手势挥动,从而利用不同的手势来控制台灯的开关以及亮度。当正向挥动手势时,能够打开台灯,手势挥动速度越快,台灯打开就越亮;当反向挥动手势时,能够降低台灯的亮度,当手势挥动速度达到一定值时,台灯将被关闭。这一功能为智能台灯的日常使用,增添了些许乐趣。
2.5 时钟显示PCF8563模块
时钟显示PCF8563模块。PCF8563是一款低功耗CMOS实时时钟日历芯片。PCF8563芯片通过I2C方式与STM32单片机进行数据交互,将其所计得的时间发送给STM32单片机并在数码管和手机APP端同步显示。其电路原理图如图5所示。
该模块为我们获取实时时间提供了保障,同时能够让台灯“认识”时间,从而在夜晚起夜上厕所时以微弱的灯光打开照明,不会给人眼带来强烈的灼刺感。可以使手机APP页面端实时更新数据提供可靠的时间参考依据。
通过以上模块的协作,我们将各模块收集的数据上传至云端,与手机APP之间进行打通连接,让台灯拥有了“思想”,它能尽可能多地满足人们的生活需求,提高人们的生活质量。智能台灯的硬件实物图如图6所示。
评论