基于stm32的无线控制小夜灯(附件)【字数:5641】
目 录
引言 1
一、 总体方案设计 2
(一) 无线通信模块选用 2
(二) 系统框图设计 2
1. 无线小夜灯底层部分 2
2. 无线小夜灯上位机部分 2
二、 硬件电路设计 4
(一) STM32最小系统设计 4
1. STM32F103C8T6芯片介绍 4
2. 电源电路 4
3. 晶振电路 5
4. 复位电路 5
5. BOOT选择电路 6
(二) ESP01无线通讯模块 6
(三) 光照度检测模块 7
三、 软件系统设计 8
(一) 无线控制小夜灯主流程图 8
(二) 光照度检测子程序流程图 8
(三) 无线传输子程序流程图 9
总 结 10
致 谢 12
参考文献 13
附录一 原理图 14
附录二 元器件清单 15
附录三 部分源程序 16
引言
近些年,中国的科技水平不断提高,越来越多的人们追求更美好的生活,向往更高质量的生活氛围,智能家居开始步入千家万户,各种家用电器开始电子化,智能化,甚至各个家用电器之间也会有联系。在这个环境背景下,针对人们睡前喜欢玩一会手机,看一会书籍,而主灯光太亮,影响玩手机和读书,不开灯呢,灯光太暗,开灯又太亮,陷 *51今日免费论文网|www.51jrft.com +Q: ^351916072#
入两难的境地,除此之外,还存在有些人喜欢开着小夜灯睡觉,昏暗的灯光更加适合入睡,一般卧室的主灯都是很亮的,而且在头顶,人们躺着睡觉,会被主灯强烈的灯光直直照射,影响睡眠;如果半夜有起床的习惯,醒来一瞬间人还是意识不清醒的状态,黑暗中去寻找灯的开关,是一件很危险的事情,虽然有些开关会在按钮上面使用发光材质,使其在黑夜中能发出微弱的光,让人们更容易发现按钮所在的位置,但是还是会存在要摸索一会,才能找到,很不方便,还比较容易弄醒同宿舍的别人;有些房间也是设计了床头阅读灯,甚至部分房间对主灯和阅读灯设计了双刀双掷开关,方便从进门和床头控制小夜灯的开关,但是还是需要用户去主动触控物理按键,达到控制的效果;有些人是喜欢开着小夜灯伴睡,但是自己在睡着后,夜灯常亮一整夜,即使早上天慢慢亮起来,不需要灯光的时候,小夜灯还是会亮着,这样的虽然省去了摸索开灯的麻烦,但是这样一夜常亮,会浪费掉很多的电能,在夜灯亮的时间内,真正让人们需要的时间并不多。
用电能转换成热能和光能的设备是80年代才开始兴起的,接着随着计算机,自动化设备,通信技术在全世界的推广,这样陆陆续续更新迭代了很多种的发光设备,大量的先进技术推动着智能化照明设备的出现,从以前的用钨丝做灯芯的照明设备,到白炽灯,再到LED灯,照明设备的进化,也意味着原本照明设备的缺点被填满,照明亮度不理想,功耗太大等都有可能是淘汰的原因。
针对此类现象,我设计并制作了无线控制小夜灯,它能根据当前环境光照值自动调节小夜灯的亮度,能够满足日常的阅读,玩手机,照明的功能,而且其可以通过手机app控制开关,可以不通过物理按键控制,在人们准备睡觉,他还有伴睡的功能,随着人们入睡后,它会根据当前环境光照值慢慢改变灯光亮度,既能满足伴睡,又能达到节能的目的,而且当半夜起床的时候,它是有一定的亮度的,也可以通过手机控制开关,非常的方便。
总体方案设计
无线通信模块选用
本设计需要用到无线通信,通信模组采用ESP01,这个模组是WiFi模组,能够连接单片机和手机APP,将数据传上云端,而且该模组功耗低,稳定性强,其内部集成了32位单片机处理器,既能做无线通信模组,也能作为微控制器,有预留几个IO口,供外部输入输出使用,可以支持实时操作系统,使用方便。
系统框图设计
无线小夜灯底层部分
无线小夜灯底层由六大模块构成,电源电路,主控芯片最小系统电路,LED灯,ESP01通讯模块、光照度传感器、按键电路。电源电路给整个夜灯各个模块提供电源,通过LDO降压模块,给芯片提供3.3v工作电源。通过光照度传感器检测环境光照度值,然后将数据反馈给单片机,单片机通过事先设置的阈值来通过LED灯做线性补偿,以让环境光照度值一直处于适合用眼的范围,然后通过按键可以控制整个无线小夜灯的开关。无线小夜灯底层部分框图如图1所示。
图1 无线小夜灯底层框图
无线小夜灯上位机部分
无线小夜灯上位机部分与底层相连,是从底层获取光照度值接着将上位机发出的指令通过无线传输模块发送到底层单片机,然后单片机控制LED灯开关及亮度调节。无线小夜灯上位机部分结构框如图2所示。
图2 无线小夜灯上位机框图
硬件电路设计
STM32最小系统设计
STM32F103C8T6芯片介绍
本设计的主控芯片选用的是STM32F103C8T6,该芯片处理速度快,功能强大,功耗较低,有很多可以I/O脚,引脚有输出能力,内部自带AD转换电路,该芯片有超多的外设。STM32拥有包括:FSMC、TIMER、SPI、IIC、USB、CAN、IIS、SDIO、ADC、DAC、RTC、DMA等众多外设及功能,具有极高的集成度。能够高速处理系统数据。而且芯片有48个引脚,有电源脚VCC和GND,还有两个BOOT选择引脚,BOOT0和BOOT1,用来选择决定芯片复位后从哪个区域开始执行程序,还有4个晶源引脚,用来外部晶振给芯片起振的引脚,引脚最多的就是输入输出脚,就是I/O脚,这些引脚可以用软件配置输出方式,可以决定这个引脚是输出还是输出,是PP模式输出还是OD模式输出灯,根据应用场景和外设,设置不同输出模式。还有就是一些,IIC,SPI,CAN,USART等通信引脚,当然有部分引脚是有复用功能的,不过需要重新配置,或者放置重复配置,导致引脚不能正常使用。STM32F103C8T6芯片如图3所示。
原文链接:http://www.jxszl.com/jxgc/mjsk/608681.html