《单片机控制的智能窗帘系统软件的设计案例》2100字.docxVIP

《单片机控制的智能窗帘系统软件的设计案例》2100字.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

单片机控制的智能窗帘系统软件的设计案例

目录

TOC\o1-3\h\u18920单片机控制的智能窗帘系统软件的设计案例 1

246311.1编程语言选择 1

30611.2单片机程序开发环境 1

24081.3系统主程序 2

268721.4温湿度检测模块程序 3

298921.5远程控制模块程序 4

315801.6按键电路程序 5

115951.7OLED显示屏程序 6

151741.8语音控制模块程序 7

18401.9超声波测距模块程序 8

1.1编程语言选择

整个系统的程序更为复杂,计算更为繁琐,并且采用浮点的数量更多,因此使用C语言对本系统进行编程。在STM32系列单片机中,使用C语言具有以下优点:

不要求了解与处理器有关的命令集以及有关的寄存器结构。

拥有指定变量的组合,使程序更加简单易读。

用户可以自由设定关键字和操作函数,使程序易于识别记忆。

缩短程序调试时间,使程序更容易开发利用。

为用户提供了许多标准的例程,使程序更容易二次开发。

用户可实现模块化编程后整合到新的程序中。

1.2单片机程序开发环境

本操作系统设计使用目前较为普遍的嵌入式开发环境KeiluVision5byARM编写程序,软件为用户提供简易单完整的开发环境界面,支持C/C++语言开发且编译速度极快,为使用者缩短了软件开发时间。如下图4-1所示:

图4-1KeiluVision5开发界面图

1.3系统主程序

系统的整体软件设计主要实现对温度、电压、电流信息的采集,将采集到的物理量通过STM32单片机ADC模数转换后使用OLED显示屏显示,单片机输出控制信号实现继电器及各模块数据检测的功能。软件程序主要分为语音识别控制模块编程、键盘控制程序、OLED显示屏程序、温湿度检测程序及WIFI远程控制程序等。系统主要程序流程图如图4-2所示:

图4-2系统流程图

1.4温湿度检测模块程序

本设计通过DHT11的温湿度检测模块收集环境温湿度数据,并首先进行DHT11端口的初始化,判断是否收到主控发出的指令脉冲,接收后发出检测指令,通过AO口将模拟电压信号传输至主控制部分。主控制器部分利用ADC模数转换器,将室内温湿度模拟量转换为数字量。主控制器利用室内温湿度数字量判断计算出实时室内温湿度。温湿度检测模块程序流程图如图4-3所示。

图4-3温湿度检测程序流程图

1.5远程控制模块程序

核心模块使用ESP8266WIFI模块远程通讯模块自带阿里云MQTT协议,该模块与阿里云服务器配对将室外室内温湿度信息实时上传服务器,再通过网络显示在用户手机端,同时也可以远程控制窗帘开启或关闭,以及模式选择;在使用ESP8266WIFI模块之前,首先需要用AT指令集配置网络及地址;其次要与MQTT服务器建立TCP连接,注册阿里云物联网平台,配置好属于自己的物联网设备,记住设备的三元组,将三元组定义在头文件中;通过预先设定好的标识符,依次将温度、湿度、光强等指数信息上传各项环境数据信息至阿里云物联网平台。配置阿里云云智能APP,分别配置四个开关接口,用于控制系统的窗帘的开启与关闭,实现远程控制。本设计用到的ESP8266-12FWIFI模块进行联网数据传输,根据资料了解到ESP8266是通过串口进行通讯,程序设计流程图如图4-4所示:

图4-4远程控制流程图

本设计的采用ESP8266-12F的WIFI模块是一种大众使用的WIFI无线模块,它不但体积小功能强,而且可以直接把使用者的物理装置连接到WiFi网络上,从而达到与互联网或局域网通讯,达到物互联的功用。ESP8266WIFI模块是一种物联网的WiFi芯片,其内置电路结构非常简单,且性能比较稳定,可以使用ESP8266WIFI模块直接接入WIFI或无线,配合MQTT协议可连接阿里云服务器,实现数据上传和接收,该模块有三种工作模式,通常我们利用AT指令,对其进行控制,使用ESP8266WIFI模块连接服务器时,必要前提就是需要连接WIFI无线网络。

1.6按键电路程序

在使用按键进行操作时,当按下按钮后,按键的机械触点具有弹性作用,出现机械抖动的现象,因此注意在程序上要加上去抖动的程序,防止机械抖动引起单片机与之相连的I/O口电平发生跳变,所以该系统在程序中在按键后延抖动期间加上了10ms的软件消抖动延时处理。键盘在上电后被设定为上拉模式,同时该键所在I/O口也变成了高电平,而在按下键后按时,同时该键所在I/O口也变成低电平仍然有效,通过程序扫描边可以知道相应的键值。如图4-5为按键控制程序流程图:

图4-5按键程序流程图

1.7OLED显示屏程序

本设计所使用的显示屏为0.96寸OLED显示屏,显示屏会实时显示工作的模

文档评论(0)

02127123006 + 关注
实名认证
文档贡献者

关注原创力文档

1亿VIP精品文档

相关文档