【《基于单片机的智能窗帘设计》12000字】_第1页
【《基于单片机的智能窗帘设计》12000字】_第2页
【《基于单片机的智能窗帘设计》12000字】_第3页
【《基于单片机的智能窗帘设计》12000字】_第4页
【《基于单片机的智能窗帘设计》12000字】_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的智能窗帘设计目录1575953172_WPSOffice_Level11绪论 11256238581_WPSOffice_Level21.1课题研究的背景和意义 11690097210_WPSOffice_Level21.2智能家居控制系统发展状况 11256238581_WPSOffice_Level12智能窗帘的总体设计 31690097210_WPSOffice_Level13窗帘系统的硬件设计 41939127768_WPSOffice_Level23.1主控电路 4708569904_WPSOffice_Level23.2电源电路 51137553913_WPSOffice_Level23.3电机驱动电路 51309157062_WPSOffice_Level23.4OLED显示电路 6574421710_WPSOffice_Level23.5编码器电路 6418362623_WPSOffice_Level23.6光照传感器电路 7152886509_WPSOffice_Level23.7按键控制电路 8495618350_WPSOffice_Level23.8蜂鸣器电路 9697609601_WPSOffice_Level14家用智能窗帘控制系统软件设计 101121342123_WPSOffice_Level24.1软件开发工具与环境 1180575189_WPSOffice_Level24.2软件开发流程 111312503913_WPSOffice_Level24.3设计原理 12301243807_WPSOffice_Level24.4设计步骤 121385708270_WPSOffice_Level24.5设计结果及分析 131611335034_WPSOffice_Level15结语与展望WPSOffice_Level1参考文献 161137553913_WPSOffice_Level1附录 181969190197_WPSOffice_Level1原理图 181309157062_WPSOffice_Level1PCB图 192032777519_WPSOffice_Level1源代码 201绪论1.1课题研究的背景和意义随着互联网的高速发展,智能家居作为新兴产业在互联网红利下也不断的发展壮大。人们在日常生活及工作环境日新月异的同时,对生活水平的要求也在不断提高。家居作为和人生活息息相关的事物,在这样的大背景下,人们更加的愿意通过利用互联网等新科技等来带动我们的日常生活工作方式从而变得更加舒服,智能家居由此而随之成为当下炙手可热的话题。而窗帘已经逐渐发展成为了我们现代社会人们整个日常生活的一个组成部分,它可以有效地进行保护个人的相关信息和隐私不被邻居或者其他人的恶意侵害。在每天早晨,窗帘可以在设定时间或光照阈值下自动打开。睁开眼睛,阳光刚好照射在床铺上,这每个人童年里最美好的事物就这么轻松实现了,出生的骄阳一定会带给人们最愉悦的心情。此外这款窗帘智能窗帘在使用太阳能充电模块时,可以充分利用大量的太阳光来给窗帘电机系统进行持续性的节能供电,真正做到了节能减排零污染,有利于环境对持续发展。1.2智能家居控制系统发展状况1.2.1智能家居控制系统发展总体近况智能家居以打造智慧型智能住宅建筑为主要基础技术和平台,兼备了住宅建筑、网络通讯、信息家电和基础设施的智能自动化,集系统、架构、服务和运营管理于四位一体,实现高效、舒适、安全、便利和环保的智能家居生活应用环境,并将家中的各类智能设备都可以通过一个智慧型智能家庭网络系统进行无缝连接。与普通的智能家居软件相比,其不但不仅具有了高于传统的现代家庭生活居住信息功能,提供了安全舒适的现代家居生活信息空间,而且还不仅可以为现代人们生活提供一种更加全方位的现代家居生活信息交互管理功能,优化了现代人们的家居生活工作方式。随着当前我国国民经济社会不断进步和国家信息化建设程度的不断加深,人们的日常工作、生活与之间无线通讯、信息的相互交流以及联系也愈来越紧密,人们对于无线家居的信息需求早已远远超过不是一个单纯物理的信息空间,而是一个安全、方便、舒适的无线家居环境。随着我国科技产业组织结构的进一步优化调整,生产工艺的不断飞速发展,人们的生产物质量和生活质量水平不断逐步得到极大提高,家用离子电气也逐渐逐步得到了广泛普及。高精确、多功能、低振动损失的控制精度提高是随着现代科学信息技术不断发展的一个必然趋势。此类发展趋势下,窗帘的工业数字化、智能化正在逐渐成为我国现代窗帘制造业和企业技术研究开发生产所迫切需要的一个领域。目前利用单片机在各类消费电子产品应用领域设计中的广泛应用覆盖范围也越来越大,它们与电子感光控制系统、时钟以及控制处理系统等相互的结合,这使得利用单片机在各类智能家庭窗帘设计制造中应用具有很好的发展前景。1.2.2国外发展状况20世纪70年代以来,国外许多公司开始研究国内的网络技术,如1984年,美国建成了世界上第一座智能商业大厦。虽然该楼只是对老楼的改造,但它将最新的网络通信技术融入电梯系统、照明系统和城市建筑监控系统改造后的大厦可以实现信息、邮件、语音等综合业务,此后,西方大多数发达国家都开始进入智能家居领域。一些欠发达国家也提出了智能家居研究方案。这些国家从国家战略发展的角度研究智能家居因此,智能家居相关产品在美国、英国、法国和澳大利亚发展迅速。由于最新的电子科学和信息技术正逐渐被广泛应用,并融入到许多现代智能家居设备中,许多大公司和国外科技分支机构都在大规模地进行研发研究机构对智能家居内部设备自动过程管理系统的产业发展和市场应用前景非常清楚,比如一些世界级的公司,如美国的oteleto、IBM的Honeywell和德国的homerten,都对智能家居内部设备的自动化过程进行控制和管理系统的开发和研究投入了大量的时间、劳力、精神和物质资源,这些公司进行了各种各样的研究,每个公司都有自己的特点,美国霍尼韦尔公司主要研究如何提高其家庭操作的稳定性、质量和舒适性,并采用模块化设计的思想。1.2.3国内发展状况我国智能家居控制系统起步较晚,在起步之初各家厂商大多模仿外国先进产品,因此我国的智能家居系统发展并不规范,各家厂商建立自己的标准,没有建立起统一完整的体系。但是自从将智能家居系统加入政府工作报告中后,智能家居发展迅速,各家厂商渐渐从起初都借鉴外国成熟设计,转变成自主研发,自主创新居多。其中小米公司发展迅速,通过收购合并,逐渐建立较为完整的智能家居系统。通过手机,电视、路由器三大产品组成一套完整的闭环体验,实现智能设备互联,提供智能家居真实落地、简单操作、无限互联的应用体验。以目前智能家居在国内的发展状况来看,人们逐渐接收智能家居系统给生活带来的便利,智能家居系统的发展前途一片光明。2智能窗帘的总体设计窗帘的功能就是有效地遮蔽太阳的紫外光线以及保护个人的隐私,在日照时间长的,夏天天气炎热的地方,它是每一个家庭都不可或缺的家具。传统窗帘分两种,百叶窗帘和落地窗帘,这两种窗帘无外乎都是手动进行开合闭合,这对于大而重的门窗,或者人在床上想要关闭窗帘时,都带给人许多的困扰。所以,智能型的电动窗帘就这样应运而生。智能电动窗帘主要是指用户可以直接依据太阳光的照射强度来自动地完成窗帘的开启关闭或者是打开,亦即用户可以通过人工操作来控制窗帘的开启或者是关闭,体现出更加人性化与便捷的使用方式。采用STM8A8K作为本设计的单片机。这一新的芯片设计是由于使用一个12位的超高速8051内核(1T),比传统8051大约快12倍以上,指令代码完全兼容传统8051单片机。一共拥有

20个中断源,4级中断优先级支持在线仿真,工作电压为2.0V~5.5V。支持内建LDO。工作温度在

-40℃~85℃之间。Flash存储器为最大64K字节FLASH空间用于存储用户代码支持用户配置。EEPROM大小为512字节单页擦除,擦写次数可以高达10万次以上。支持在系统编程方式(ISP)更新用户应用程序,无需专用编程器支持单芯片仿真,无需专用仿真器,理论断点个数无限制。智能窗帘系统主要由电源电路、电机控制电路、光照强度传感器电路、译码器电路、显示器电路、蜂鸣器控制电路以及红外接收电路7个组成部分,如图3-1所示。该系统主要具备三种操纵控制模型:红外遥控器手动控制、根据光照阈值自动控和根据设定时间自动控制。红外遥控器手动控制是人通过红外遥控器,向红外传感器发送指令,进而开关窗帘;光照阈值自动控制模式中光照强度传感器接收环境光强,将接收到的光照强度进行a/d转化,通过比对设定的光照阈值进而实现了窗帘的自动闭合。根据设定时间自动开合是设置一个时间进行窗帘的开合,到达设定时间后,窗帘自动打开或者闭合。图2-1智能窗帘系统框图3窗帘系统的硬件设计在智能窗帘总体设计的框图构建出系统硬件电路图,在硬件电路图上能够清晰的体现整体硬件的相互连接,电路图主要包含了主控电路,电源电路,电机驱动电路,光照传感器电路,红外传感器电路,OLED显示电路,编码器电路,按键电路,蜂鸣器报警电路以及指示灯电路。智能窗帘系统硬件电路图如下图4-1所示。图3-1智能窗帘系统硬件电路图3.1主控电路主控电路:对不能完全同时执行的功能有任何突发能量,采用限流电压。它利用一个Rec1电容和一个R3电容的强度,可以同时提高限流电压来执行另一个电源输入模式,即对电压进行复位,以保证无论何时通电或断电,这种方法的主要目的是利用复位电路原理,其原理是电容器施加的限流电压不能完全改变。在打开和关闭能量的瞬间,有必要在冷凝器和冷凝器备用管中将下一次增加的电压保持5伏由于引脚中的两个电平升高,拉伸时间比通常单个芯片的引擎需要同时重置两个能量周期时的拉伸时间要长得多。晶体振荡器平坦电路:DSP的C2和C3端由晶体振荡器接地,然后并联的。将晶体振荡器与单片机的xtal11和DSP的xtal22相连接,构成高频晶体振荡器的控制电路。作为控制晶体振荡器正常工作的主要参考电容温度,电容温度的阈值通常在15~33pf之间,执行高频快速启动控制功能。晶体振荡器频率的阈值范围与普通晶体振荡器的电容基值相同,但却是一个成比例的测量比。晶体振荡器的频率可以任意选择为12M,晶体振荡器工作频率的对应时差表示为(1/12)个节点。3.2电源电路电源电路由一个稳压三极管SK-12D02-VG5,单向导通二极管D1N4007,两个电阻,两个电容以及一个led指示灯组成。稳压三极管是为了滤波,输入电压过大且波形杂乱由三极管进行稳压,二极管是为了单向导通且选择了导通电压最大7v导二极管,这样当电机不以9v满载工作时,电源供电更稳定。两个电阻和电容同样为了滤波,去过滤三极管没有处理好剩下的。LED指示灯为正常工作指示灯,添加当目的是当电源正常工作没有接反或其他意外状况时,给人以提示。电源电路图如下图4-2所示3-2电源电路3.3电机驱动电路本文所需要研究的用于步进驱动电机输出脉冲发射信号的主要脉冲发射器信号是TB6612。针对这种步进驱动电机的电阻驱动管脚电路,下面我们为具体进行介绍:第一步中所要求的这是通过微机编写程序的一个指令,将00000001b指令发送给一个p41口,由于一个单片式电机只有一个p41到一个p11与一个TB6612连接,从国际单位制的时刻可以表明,虽然总共可能有四个连接单片机的驱动管脚它都可以分别连接上两到一个TB6612,但是每次都可能需要分别通过一个连接单片机的四个导通器管脚才能对它进行电阻驱动从而工作的只有机会不过是一个驱动管脚,其他的四个管脚都被自动切断,为高速的电阻驱动状态。这样,步进式发电机和TB6612的连接端口相互连接,也就是说使得它们之间可能只有一个连接端口。选用这种步进驱动电机的主要原理就是通过拉动拉开窗帘的步进电机同时开启和自动关闭,步进驱动电机主要功能是将数字电脉冲的开环信号进行改换为变成角位移或者变成导线性的角位移的一种新型开环式驱动控制元件,步进驱动电机主要可以直接向拉动窗帘电机输出的一个数字电测量脉冲提供开环信号,与采用单片机的开环控制电路互相转换通信方便。选用一个芯片作为整个步进驱动电机的一个输入驱动器控制芯片,如图3-4所示。四个自动输入输出端口与一台自动单片机的接口p3相连,4个自动输出输入端口分别可连接4线自动步进输出电机,单片上电机可以输出不同的步进信号就这样可以直接使四线步进输出电机自动实现正反向自动旋转,进而实现自动控制智能窗帘的自动打开及窗门关闭。图3-3电机驱动电路图3.4OLED显示电路为在图中采用窗帘lcd1602显示当前窗帘的实际工作运行状态,单片机的一个p0口的8个控制触发器引脚分别对窗帘lcd输出进行了自动控制,实现了每个字符的自动显示,p16、p17以及新的p54、p55实现了对窗帘lcd的输入读写和输出控制。显示控制由一块lcd1602来自的移动显示完成各种控制时钟自动显示、光照阈值显示,具有了系统视觉直观的功能优势。它与一台数控单片机的指令p16、p17、p54、p55相互连接,实现了对每个数据的实时通讯控制传输和对每个指令执行信号的实时自动化处理控制。图3-4OLED显示电路图3.5编码器电路编码器电路中有一个旋钮,旋钮摁下后就可以直接实现的窗帘模式自动切换由一个基于单片机的微控p32引脚进行控制,在智能窗帘的设定窗帘闭合时间,设定窗帘闭合日期,设置光照阈值之间相互转换。P33引脚控制编码器左转的信号输出,p34引脚控制编码器右转的信号输出。电路中包含5个上拉电阻,上拉电阻的作用是将一个不确定的信号用电阻钳固定在高电平,可以使引脚在没有连接其他的外部组建的时候,也能保证合理的逻辑电平。编码器电路图如下图3-6所示。图3-5编码器电路图3.6光照传感器电路光敏标志电阻的敏感电阻振动频率通常会跟着随光强标志强度的持续变化而不断有所应的增加,输出的两路光强标志模拟信号与输出光强值之间频率呈正反比,采用BH1750模数转换接口芯片直接输入实现了对光强标志模拟信号的实时读取,本次测试采集的两路光强标志模拟信号电路仅仅在使用时得到了一路,单片机的两个引脚对光强标志模拟信号转换后一通道的光强标志模拟信号数据进行了一次实时信号检测和数据查询后的读取,p25实现了对光照强度的实时控制,实现了对光强强度模拟信号数据的实时阅读。光照传感器电路基本结构如图3-3所示,采用光敏阻抗电阻器的工作方式可用来精确计算光的发射频率和振动强度,当可见光较弱时,电阻阻抗数值较小;在光弱时,电阻的光敏阻抗数值较大。将光敏相位电阻输入H1通过与光敏电位传感器H2串联电路进行高频分压,得到相同的光敏电压模拟信号,此时只能作为一个高频模拟信号测量,单片机可能无法准确识别。故本机通过一个自带a/d信号转换控制芯片的BH1750来将两路相应的模拟电压数字信号进行转化后成为两路相应的模拟数字信号,送入主控单片机开始执行。通过重新调整激光电位传感器H1和H2的功率大小,就已经可以得到使这种光控控制系统能够具有更高的灵敏性。图3-6光照传感器电路图3.7按键控制电路按键控制电路由2个独立的波形按键自动组合电路构成,如图3-5所示,分别通过按键p36、p37进行相互自动联系。sw5实现了为由按键自动控制的按键开关关闭窗帘,为由灯光控制的按键自动开关的关闭窗帘;sw6为时钟自动控制用的按键,此时译码器用于自动控制调节空间时钟、分钟和时间秒钟。图3-7按键控制电路图3.8蜂鸣器电路蜂鸣器电路由蜂鸣器BUZZER1以及一个电阻和一个电容组成,通过p12引脚和单片机连接。在有需求的时候,单片机发送指令给蜂鸣器,蜂鸣器启动,发出报警提示。蜂鸣器电路如下图4-8所示。图3-8蜂鸣器电路4家用智能窗帘控制系统软件设计主程序流程为OLED屏幕初始化,然后进行时钟程序初始化,紧接着读取设定时间以及光照阈值,此时可以通过编码器对设定时间以及光照阈值进行修改。然后程序根据执行不同的模式,来进行不同的响应。如果是为手动模式,则直接改为用红外接收器接收的信号来驱动步进电机进行窗帘的开合。如果为自动模式,则会监测是否到达规定光照阈值,达到了则发出信号控制电机进行窗帘的开合。再检测是否到达设定时间,如果到达设定时间,则也由单片机发送信号给电机驱动芯片,驱动电机进行运行,从而开合窗帘,如此循环。主程序流程图如5-1所示。图5-1主程序流程图4.1软件开发工具与环境4.1.1开发工具一般来说51开发工具主要包括51开发环境、程序烧录器和在线仿真器等,其中开发环境KeilC51,常用的程序烧录器有并口连接的、U化接口的连接的和PCI插卡接口的。综合上述考虑,本文所设计的系统51研发工具中运用的是link仿真器,它是把并口接口变成JLINK接口的器件,额外增加一台客户端和安装开发软件就行了。通过一个客户端的并口接入来烧录应用程序,并且可以使用link的下载器,实现应用程序的自动化和烧录。运用LINK下载器在集成开发软件中进行研发,该方法得到了广泛使用。4.1.2开发环境本文所要设计的51开发环境,,是目前在应用中比较普遍的嵌入式开发环境。KeilC51是美国Keil

Software公司自主研发的最新一代有关51处理器的编译、连接和调试的一体化应用程序。KeilC51不仅为开发人员提供了丰富的windows应用程序开发软件绘制画面,而且还可以直接采用c++语言对软件进行源代码的编写,由于c语言的编辑工作效率极高,能够让开发人员十分方便的利用c语言来实现软件的研发。其中Keil有以下特点:(1)Keil同时支持WIN-XP和WIN-7等多种操作系统,提供了丰富的库函数和功能强大的开发工具:(2)Keil软件可以直接实现了从软件编辑、编译、链接、调试到最后再一次进行软件仿真的一整套软件开发人员工作管理流程:(3)。KeilC51在上一代的传统设计理念基础上,添加了许多新的设计功能。例如针对。KeilC51更加的最大限度地对和增强了对新的C51系统内核以及微控制器的系统软件开发和接口支持,并且目前针对。KeilC51的一些软件开发脚本格式和其他软件开发中的接口设计方法也对此进行了一些相应的优化调整。4.2软件开发流程51单片机的模块开发首先我们可能需要为一个工程模块建立"project"子面板菜单,点击在nkeiluvision5界面菜单中的面板菜单中"project",点击"newuvisionproject"子面板菜单,然后在其本次弹出的应用工程名模块对话框中直接手动输入自己已经新建的应用工程名并经过审核确定之后即可进行保存;接下来在本次弹出的模块对话框中直接确定了一个单片机的各个芯片模块类型,本次应用工程主要操作是直接选取一个STM8AK,这样就很好地直接完成了"projcct"的模块构造;最后当一个应用工程中的模块已经直接建立好之后,点击"sourcegroup",可以向里面直接手动添加一个新的c模块文件,点击aaadd就已经完成可以直接手动编辑了该工程模块的一个文件,也有的就是我们已经可以把常见的一个c模块文件直接手动拷贝到已经直接建立好的"project"文件目录下面,最后一个完整的工程模块应用工程管理软件就已经会在建立好之后直接做操作完毕。4.3设计原理本设计主要模型包括自动切换控制模型、手动控制模型、定时控制模型、光照阈值控制模型等,采用了一种基于模块化系统设计的新理念,使得电控系统的每一个控制模块都必须能够设计做得更加结构清楚、简洁明了。本窗帘工艺系统设计的一个基本操作原则是也就是整个窗帘系统电机经过多次上下通电后将转变为手动操作模式,通过一个手动的遥控器来控制步进电机操作来实时控制窗帘的开、闭,若不及时进行任何按键操作,当窗帘运行到尽头并碰到电刷时,电机会反转200ms,以保证窗帘安全。只有当此时用户只要按一下开关按键,步进开关电机就可能会自动停止它并执行一些其他相应的开关操作。通过编码器可以改变设定时间以及设定的光照阈值,系统将根据窗帘用户所需要设置的设定窗帘自动开启停止时间与设定窗帘自动关闭的停止时间分别来自动地进行控制。用户设定好光照阈值后,,如果打开窗帘所感受到的室内外界自然光线照射强度阈值超出了系统用户预先配置设定的强度阈值,系统就可能会自动选择停止窗帘关闭。4.4设计步骤本次产品设计主要采用了万能专用板的一种手工焊接布线进行焊接,在加工过程中必须更加谨慎,每个焊接元器件都必须是按照一种基于仿真图形电路图的示意图方式进行布线焊接。首先,焊接部件stc08c52单片式主机最小型的系统连接模块,因为它可能是整个系统的一部分,其他的重要元器件均可能需要和它相互地进行连接。主控面板焊接的是否质量直接就会影响涉及到整个系统的软硬件以及生产线的成败。尽管这些焊接器件中的数量不多,但在器件焊接上还是可能会同时出现许多的焊接失误。初始化电线焊接一般我们采用的是焊接镀锡或是走接电线的焊接方法,因为它的焊接走线工艺还没有完全成熟,所以在连接电线上往往可能会出现有一些人员事故发生电线短路或者电线断开。由于每个电路板的焊接空间比较小,各个电路元器件之间的焊接空隙比较小,在初始进行焊接一个线路时,设计也很不合理,如果还是继续进行使用跳线焊接镀锡或者其他走丝跳线的焊接方法,将来就会使得不可不在所避免地就会出现一种各个线路互相间断交叉的焊接现象,因此在以后的电路焊接中,采用了这种跳线的焊接方式。该软件应用程序以KeilC51为基础平台设计进行软件开发,采用c语言编写的操作界面。其窗帘设计基本意义就是为了自动实现基于窗帘的自动人机交互,主要的窗帘设计技术目标就是通过窗帘光线自动强度控制传感器技术来自动实现基于窗帘的自动灯光信息实时发送及窗帘按钮自动控制以及窗帘的实时打开和自动关闭。测试阶段,笔者通过手机连接一个并行串口线,在每个接收器上自动选择一个新的串行接口号码以及其波特率,此时放在该串口接收器上的自动窗帘关闭状态已经完全处于"关闭"。但是当此时笔者随手按了一个"串口"控制按钮后,串口把打开窗帘此时打开的控制命令"1"直接发送给了一个单片机,单片机在打开窗帘点击接收机得到的命令数据"1"后窗帘指示灯就应该会自动点亮,步进式的电机就会旋转至找到窗帘此时打开的正确方向,窗帘被打时单片机自动打开,接收机上就应该会自动显示并输出一张此时打开的窗帘图像,光照强度一栏则是就会自动显示接受器可以看到此时打开窗帘的实际光照强度,窗帘的打开状态也就就会自动显示"打开"。所以在每当再次重新启动点击之前,窗帘就可能会自动重新关闭。至此,应用程序中就可以通过自动控制单片窗帘的光线开与闭和关、接受器和单片计算机窗帘光照强度正常条件来操作完成,满足了窗帘应用程序的实际需求。4.5设计结果及分析本监控窗帘系统是一款采用了基于监控单片机的监控节能型阳光智慧监控窗帘系统进行控制设计,功能主要可以分为三种:人工控制模式、自动控制升降模式、安防监控模式.首先室内的空气温湿度相关信息我们可以直接通过显示出来到一台电脑或者只要是手机液晶屏上,其次只要是在一种完全人工控制模式下,用户就同样可以直接通过使用智能手机上的app来进行控制整个窗帘的自动升降.在一种自动控制模式下,当中的阳光如果照射太强时,窗帘就可能会自动停止升降;所以当中的阳光如果照射得太弱,就可能会直接引起整个窗帘的高度自动自然抬升.在这种智能安防监控模式下,当室内没有任何非法工作人员擅自开门闯入室内时,蜂鸣器就自然会自动发出一阵提示警报的声音.与此同时,太阳能监控光盘为整个监测系统过程保持了充足的驱动电源.当我们在室内测量采集到室内环境中的温湿度相关数据时,这些智能数字监测仪器就已经可以精确地实时反应室内的环境温湿度。经过多次人工反复测量检验,误差不一定可能过大超过±5%,符合工业设计工艺要求.在一种基于人工的操作模式下,打开一台智能手机上的app,点击"连接设备"按钮,用户们就可以根据手机液晶屏上所需要显示的各种环境条件信息,选择"打开窗帘"或者"关闭窗帘"按钮。在这种新型安防监测模式中,当使用hc-sr501监测系统得到正在距离噪声传感器7m以内且在温度<100°##c的圆形角或锥形视角内噪声无法同时出现的工作人员时,向主控单片的主机前端输出一个噪声高电平,主控控制芯片同时带动一个蜂鸣器就可能会再次发出噪声警报,预示着在一个用户室内很有可能还将会再次出现不正常的陌生人。在这种自动化控制模式中,将光阻测量电路模块中输入设定值来对电阻的直流电压进行确定是因为值在室内外光互相照射的状态下时是判断光阻电流的一个基本测量标准.当输出电压范围为2~5v时,判定室内灯光照正常,当灯光亮度小于或者是大于一个阈值的区间时,判定室内灯光照射的不足或太强.经过多次反复检查,误差不可能超过±3%,符合本工程设计的要求。电源选择了采用户用型gel(砼)蓄电池,该类型的蓄电池在高温下具有优异的低温放电特点,在充电后能够回复实际容量的95%以上,容量偏差小。5结语与展望本文完成了对智能窗帘的设计,从外界光照强度的实时数据采集,到单片机的对数据的分析与判断,再到发送给步进电机合适的PWM信号控制步进电机带动窗帘进行开合,还是通过液晶显示屏显示传感器的各项指标。此外也可以直接对窗帘进行人为物理的控制,我相信这是很人性化的,在智能窗帘上我们不仅要体现出他的智能化而且更要体现出它最为一款新时代的智能家居系统为人类带来的良好用户体验,绝不能因为由于它的智能化而导致失去原有的功能,它的升级一定是在保留了原来优点的基础上对不好的地方的改良,最后我相信我们的生活会因为科技变得更加美好。此次设计过程中,笔者深刻认识到专业知识的重要性,理解了理论联系实际的含义。虽然此次设计对知识的运用和衔接还不熟练,但是笔者将在以后的工作和学习中继续努力,不断完善。此次课程设计是对过去所学知识系统提高和扩充的过程,日后笔者将不断加深理论基础,提高实践能力,取得更大的进步。课程设计过程中,笔者学到了很多知识。从应用程序的初步测试和功能完善,到整个系统的整体测试,将单片机原理、C语言程序、模拟电路基础与数字电路基础等多门课程的内容有机结合应用。通过实际分析与应用,深化了对这些主干知识的认识。调试阶段,编写代码调试不通,手动模式下,按键无法控制步进电机正反转动;光控模式下,设定的阈值不能正常工作。经过反复修改、调试,软件仿真基本通过。硬件焊接过程中,焊锡走线经常中断,由于设计的各种元器件间隔过小、焊接基础太差,导致系统线路经常出现短接现象,将焊锡走线换成跳线。本次的智能窗帘设计虽然实现了手动开合,自动控控制等基本功能,不过还是有诸多不足可以进行改进但地方。硬件电路:由于设计硬件系统的经验比较匮乏,在设计之初选择以简洁明了的方式实现其硬件功能,这导致成品在外观上比较抽象,不够美观。软件设计方面:在设计之初有想设计手机app并添加wifi模块以实现手机控制智能窗帘的功能,但由于对python语言的知识掌握比较匮乏,最终没有实现。参考文献[1]HAGLEITNERC,HIERLEMANNA,LANGED.Smartsingle-chipgassensormicrosystem[J].Nature414,2001,11(24):293-296.[2]荣少巍.基于STM8AK的实收实发超声波检测系统研究[J].国外电子测量技术,2014,33(9):55-55.[3]王琪,许应风。基于单片机的智能晾窗帘设计[J]现代计算机(专业版),2017(28):60-64.[4]常喜,贺五洋,王立忠.基于Android系统与单片机的无线蓝牙温度采集系统[J].数字技术与应用,2016(2):42-43.[5]鞠永胜.基于单片机的防盗防雨智能窗设计[J].硅谷,2012(5):73-73.[6]张超,周克,何威.基于STC单片机多传感器的智能窗设计[J].现代机械,2014(1):84-87.[7]渠红光,田晓霞,张雁霞,等.单次快脉冲锁存同步机研制[J].核电子学与探测技术,2014(9):1086-1088.[8]熊鲜明,李晓景.新型GEL—VRLA蓄电池的开发与性能比较[J].中国建设动态.阳光源,2004(4):87.[9]王秀.基于Proteus的单片机仿真教学的研究[J].科技信息,2010(35):180-180.[10]宋涛,管建峰,李善俊.基于WiFi的手机监控智能窗户开窗器设计[J].科技与创新,2016(14):73-74.[11]刘珍珍,汪涛,郑雪丽.基于STM32的便携式线阵CCD测量系统设计[J].微型机与应用,2016(11):97-100.[12]陈菁,王志华.基于Android平台的家用无线防盗报警系统研究[J].现代电子技术,2015(8):117-119.[13]章腾辉.基于MSP430与HC06的低功耗无线温湿度检测系统[J].工业控制计算机,2017,30(8):143-144.[14]薛果.基于HC-06模块的手机遥控玩具设计[J].企业技术开发,2015,34(8):7-8.[15]王东,莫先.基于STM32和HC-SR501智能家居的智能照明系统设计[J].重庆理工大学学报(自然科学),2016,30(6):135-142.[16]杨永清.基于STM32和FPGA的多通道步进电机控制系统设计[D].成都:西南交通大学,2017.[17]段宇.基于STM32的无线语音交互系统设计[J].电子技术与软件工程,2019.[18]谌容,胡泽,张扯拉,等.基于单片机控制的智能光控窗帘系统研究[J].西南石油大学电气信息学院,2013.[19]张超敏,王雪娇.基于单片机的语音识别智能窗帘控制器的设计[J].江苏职业技术学院无锡机电分院,2019(3):84-88.[20]刘甲丽,杜选,陈立江,等.基于嵌入式平台的智能窗帘开发[J].嘉兴学院,2019(5):234-237.[21]李易岐.基于stm32单片机的智能家居系统设计[D].长春:吉林大学,2017.[22]何康旭,张婧婧.基于单片机的智能窗帘控制系统的设计与实现[J].现代计算机(专业版),2012,(24):75-78.[23]唐艳凤.基于单片机的智能窗帘控制器设计[J].福建电脑,2015,(03):50-51.[24]张丽丽,杨彦伟,胡丽辉,等.基于STC89C52单片机的智能窗帘控制系统[J].中国新通信,2015,17(23):108-109.[25]王林艳.基于AT89S52单片机的智能窗帘的设计[J].电脑知识与技术,2015,(05):258-259.[26]熊建桥,薛飙,马远,等.拟“向日葵”感光式智能窗帘系统设计[J].机电产品开发与创新,2014,(01):28-30.[27]邓嘉卿,金鑫.基于单片机的智能窗帘控制系统设计[J].科技创新导报,2015,(22):103-105.[28]王嘉琪.自动收缩升降晾窗帘的创新设计[J].中国新技术新产品,2017(03):129-130.[29]江雪,陈清华.基于STM32控制的智能晾窗帘设计[J].内江科技,2017,38(06):39-40.[30]莫慧芳苏梓铭,邓旭成.-种智能换杆窗帘的设计[J].机电工程技术,2017,46(07):18-20.附录原理图PCB图源代码#include"config.h"//通用配置头文件#include"isr.h"#defineucharunsignedchar#defineuintunsignedint #defineV_CL3000//--声明一些需要使用的变量--//shortn,a,b1,S,F,M,GDGW;intYear,Month,Day,GZZ,GZFZ,k,i,Q,O;bitIRpro_ok; //红外解码后4个字节存储完成标志bitIRok;//红外解码后33位数据储存完成标志ucharIRtime;//高低电平时间ucharIRdata[33];//NEC协议的33位数据储存ucharIRcord[4];//NEC协议的四个字节储存charSZ[4]=0; //时钟charFZ[4]=0; //分钟charMZ[4]=0; //秒钟charNZ[6]=0; //年值charYZ[3]=0;charRZ[3]=0;charGZ[6]=0;//实际光照值charGFZ[6]=0;//设置的阈值shortWZ=0,HZ,HB;//HB:行标位置charJZ;//****红外模块*********************************************//voidTM4_isr(){IRtime++; //10微秒}voidINT4_isr(){ staticuchari; staticbitstartflag; if(startflag) {if((IRtime<53)&&(IRtime>=32))i=0; //判断是不是引导码 IRdata[i]=IRtime; //存33位数据 IRtime=0; i++; if(i==33) {IRok=1; //存完结束标志 i=0;} } else { IRtime=0; //定时器计数清零startflag=1; //开始储存值为1,进if}}voidIRcordpro() //比对脉宽,判断数据是0,1{uchari; //计数4个字节 ucharj; //计数一字节中8位 uchark; //计数处理33次脉宽 k=1; for(i=0;i<4;i++) {for(j=0;j<8;j++) {if(IRdata[k]>5)IRcord[i]|=0x80;//大于1500微秒为1 if(j<7)IRcord[i]>>=1; k++; }} IRpro_ok=1;}}/********************************************************************************函数名:main*函数功能 :主函数*输入:无*输出:无*******************************************************************************/voidTM0_isr(void)//年月日时分秒自动变化{ n++; if(n>100) { LED=~LED; n=0; M=M+1; }/////////////////////////////////////////60秒///////////////// if(M>=60) { F=F+1; M=0; }////////////////////////////////////////60分钟///////// if(F>=60) { S=S+1; F=0; } ////////////////////////////////////////24小时///////////////// if(S>=24) { S=0;F=0;M=0; Day=Day+1; } if(S<0)S=0; if(F<0)F=0; if(M<0)M=0; //////////////135781012月31天 if(Month==1||Month==3||Month==5||Month==7||Month==8||Month==10||Month==12){ if(Day==32){Day=0;Month=Month+1;} }//////////////246911月30天 if(Month==2||Month==4||Month==6||Month==9||Month==11){ if(Day==31){Day=0;Month=Month+1;} }if(Month==13){Month=0;Year=Year+1;} if(Year<0)Year=0; if(Month<0) Month=0; if(Day<0) Day=0; }//////////////////////编码器响应////////////////////////////////voidINT0_isr()//编码器按键按下{FMQ=0; while(!P32);//等待按键松开 P0=~P0;//让所有LED灯状态取 if(WZ==0){} FMQ=0;}/////////////////////////////////////////////////////////////////voidINT1_isr()//编码器旋转时间调整{///////////调年-月-日-Year,Month,Day;if(P0==0x00&&HB==4&&HZ==5) { switch(WZ)//位置 { case0:;break; case1:if(P34==1){FMQ=1;Year=Year-1;FMQ=0;}else{FMQ=1;Year=Year+1;FMQ=0;}break;//改年值 case2:if(P34==1){FMQ=1;Month=Month-1;FMQ=0;}else{FMQ=1;Month=Month+1;FMQ=0;}break;//改月值 case3:if(P34==1){FMQ=1;Day=Day-1;FMQ=0;}else{FMQ=1;Day=Day+1;FMQ=0;}break;//改天值 case4:if(P34==1){FMQ=1;GZFZ=GZFZ-1;FMQ=0;}else{FMQ=1;GZFZ=GZFZ+1;FMQ=0;}break;//改光照阈值 } }if(P0==0x00&&HB==6&&HZ==7) { switch(WZ)//位置 { case0:;break; case1:if(P34==1){FMQ=1;S=S-1;FMQ=0;}else{FMQ=1;S=S+1;FMQ=0;}break;//调时 case2:if(P34==1){FMQ=1;F=F-1;FMQ=0;}else{FMQ=1;F=F+1;FMQ=0;}break;//调分 case3:if(P34==1){FMQ=1;M=M-1;FMQ=0;}else{FMQ=1;M=M+1;FMQ=0;}break;//调秒 } } if(P0==0X00&&WZ==0) { if(P34==0){HB=6;HZ=7;}//向左旋转 else{HB=4;HZ=5;} //向右旋转 }if(P0==0xFF){ if(P34==0)//向左旋转 { WZ=WZ+1; } else //向右旋转 { WZ=WZ-1; }}}voidSJXS()//数值屏幕显示比较光照强度{//********************显示*年*********************NZ[0]=(Year/1000%10+0x30);NZ[1]=(Year/100%10+0x30); NZ[2]=(Year/10%10+0x30);NZ[3]=(Year/1%10+0x30); LCD_P6x8Str(48,4,NZ); //******************显示*月**********************YZ[0]=(Month/10%10+0x30);YZ[1]=(Month/1%10+0x30); LCD_P6x8Str(78,4,YZ); //******************显示*日********************** RZ[0]=(Day/10%10+0x30);RZ[1]=(Day/1%10+0x30);LCD_P6x8Str(96,4,RZ); /////////////*------光照强度显示-------*****////////////////////**********---------////////// LCD_P6x8Str(78,4,YZ);GZZ=(wan-0X30)*10000+(qian-0X30)*1000+(bai-0X30)*100+10*(shi-0X30)+(ge-0X30); GZ[0]=(wan);GZ[1]=(qian);GZ[2]=(bai); GZ[3]=(shi);GZ[4]=(ge); LCD_P6x8Str(20,2,GZ);//光照阈值GFZ[0]=(GZFZ/10000%10+0x30); GFZ[1]=(GZFZ/1000%10+0x30); GFZ[2]=(GZFZ/100%10+0x30); GFZ[3]=(GZFZ/10%10+0x30); GFZ[4]=(GZFZ/1%10+0x30); LCD_P6x8Str(96,2,GFZ);if(GZZ>GZFZ) { if(GDGY==1) { FMQ=1;delay_X_ms(50);FMQ=0; PWM_change(10,V_CL);PWM1_A0=1;PWM1_A1=0; FMQ=1;delay_X_ms(500); PWM_change(10,1);FMQ=0; GDGZ=1;} }/////////////////////////////////////////////////////////////////////////////改时间:18:01:27/////////////////////////////////////////////////////////////////////////// //******************显示*时**********************SZ[0]=(S/10%10+0x30); SZ[1]=(S/1%10+0x30); LCD_P6x8Str(60,6,SZ); //******************显示*分**********************FZ[0]=(F/10%10+0x30); FZ[1]=(F/1%10+0x30); LCD_P6x8Str(78,6,FZ); //******************显示*分**********************MZ[0]=(M/10%10+0x30); MZ[1]=(M/1%10+0x30); LCD_P6x8Str(96,6,MZ); }voidGBWZ()//光标位置显示{ LCD_P6x8Str(a,5,"");//清屏 LCD_P6x8Str(a,7,""); LCD_P6x8Str(0,4,"");LCD_P6x8Str(0,6,""); if(WZ>4||WZ<0)WZ=0;//限制横坐标位置位置 if(HZ==5)//日期行标的位置 { if(WZ==0){a=30;} else{a=(WZ-1)*18+60;} LCD_P6x8Str(a,HZ,"--"); LCD_P6x8Str(0,HB,"O->"); } if(HZ==7)//时间行标的位置 { if(WZ==0){a=30;} else{a=(WZ-1)*18+60;} LCD_P6x8Str(a,HZ,"--"); LCD_P6x8Str(0,HB,"O->"); }}voidmain(void){ floattemp; n=0;a=0;b1=0;M=0;F=0;S=0;WZ=0; HZ=5;HB=4;delay_nms(100); //延时100ms PWM_init(10,10000,0); GPIO_init_pin(32,2);//初始化P32.33.34引脚为高阻输入状态GPIO_init_pin(33,2);GPIO_init_pin(34,2); GPIO_init_pin(35,1);GPIO_init_pin(12,1); //蜂鸣器 PIT_init_us(4,300); //光照用到定时器4定时10微秒 INT_init(4,0); //外部中断4下降沿触发 FMQ=0; PIT_init_ms(0,10);//控制时间用到的定时器INT_init(0,0);//初始化外部中断0和外部中断1INT_init(1,0); LCD_Init();//初始化OLED LCD_P14x16Ch(10,0,0);//智能窗帘主控显示 LCD_P14x16Ch(25,0,1); // LCD_P14x16Ch(40,0,2); // LCD_P14x16Ch(55,0,3);// LCD_P14x16Ch(70,0,4); // LCD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论