付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
15 15智能温控器的温度控制分析案例目录TOC\o"1-3"\h\u29874智能温控器的温度控制分析案例 1165151.1加热降温模块 188851.2温控手机APP设计 244511.2.1组件设计 248571.2.1逻辑设计 3156171.2.3温控小助手APP使用方法 5在实现了环境温度信息的采集与显示之后,作为温度控制器,当然就是要对温度进行控制。实现温度控制需要软件部分“下达命令”,然后硬件部分“执行命令”。在硬件部分,需要外接加热降温模块,即电热丝和风扇,电热丝使温度升高,风扇使温度降低。而在软件部分,则需要设计一款温控手机APP,通过该APP实现人与温控器之间的人机交互,达到温控的目的,此所谓智能温控器。1.1加热降温模块本设计中,本模块由电热膜和风扇构成。电热膜结构简单,运行原理也简单。它只有两个导线,且不分正负极,连接时,将其中一根导线连接basys3开发板的GND管脚,另一根连接basys3开发板的I/O管脚。由于我们不需要用到风扇上的LED灯,对于其上的LED引脚和与其相邻的GND引脚只需短接即可;在风扇的转向中,左转是向模块方向吹风,右转是向相反方向吹风,为了达到更好的效果,本设计选择风扇右转,所以我们将INL引脚短接,把INR引脚连接basys3开发板的I/O管脚,风扇的VCC和GND分别连接basys3开发板的5V和GND。温度加热降温的控制,需要用到VerilogHDL语言编程对输入的预设温度进行判断。当预设温度大于当前温度时,电热膜引脚置“1”,电热膜运行,温度升高;当预设温度小于当前温度时,风扇引脚置“1”,风扇运行,温度降低。加热降温模块的关键代码如下:if(yswd>dqwd)heat<=1’b1elseif(yswd<dqwd)fan<=1’b1end通过上述代码,便能够实现对温度的控制。1.2温控手机APP设计对于温控手机APP的设计,本设计采用APPInventor,软件对应的手机系统为安卓系统。AppInventor是\t"/item/App%20Inventor/_blank"Google实验室的一个子计划,是在一群Google工程师和富有挑战精神的Google使用者的共同参与下设计完成的。这款编程软件面向大众,使用者不需要掌握任何的编程知识,并不一定非要是专业人员。因为开发者已经在研发这款软件时把所有的代码全部编写完毕,用户只需要根据自己的需求,在操作界面添加服务选项即可,也就是说,在设计软件的过程中,作为用户的我们所要做的只是类似拼图一样进行代码的拼装即可[16]。利用APPInventor设计APP包括组件设计和逻辑设计两部分。组件设计是可视化的窗口设计,我们通过该部分完成对手机APP界面的设计。逻辑设计就是设计每个组件的功能,一般是时间触发的形式。1.2.1组件设计如图5-1所示为具体的APP布局和组件调用界面。左侧一栏为组件面板,用来调用设计所需要的各种组件;中间是工作面板,用来设计手机APP的界面(注意,这里为了把每个组件显示完全,界面选用了老式平板适配,在实际手机应用中不受影响,具体效果见后文);右侧两栏是组件列表和组件属性,在此可以看到我们所调用组件的信息和层级,可以用来调整各个组件在界面上的显示、颜色、大小等属性。图5-1APPInventor组件设计界面调用后手机APP界面如图5-1所示。本温控手机APP需要用到读取当前温度和设置预设温服两个功能,其中读取温度对应温度显示框和读取按钮,设置温度对应预设输入框和设置按钮。此外,控制温度需要用到手机的蓝牙,所以在设计APP时需要加入蓝牙客户端组件。其中蓝牙客户端组件是不可见组件,用户界面无法看到。可以看到,我们调用了很多标签来显示文本,调用了一个列表选择框设置为蓝牙图标、一个文本输入框用来设置预设温度、两个按钮发送指令。需要注意的是,在布局时,要用到组件面板中界面布局的水平布局组件,以使某些组件在同一行显示。如果没有调用该组件,同一行只能插入一个组件,再插入则会自动跳到下一行。所有组件调用完毕后,可以在右侧的组件属性中调整每个组件的大小,使每个组件之间的比例达到最佳,视觉效果更加美观,且能够避免APP在实际使用中出现界面显示不完全的问题。1.2.1逻辑设计前文说到过,APPInventor和其他编程软件大不相同,它不需要具体编写代码实现功能,而是采用类似拼图的方式,通过事件触发。例如,当某个事件发生后,执行相关功能,可以把它理解为编程语言中的判断语句,例如if、while等。此外,与常规编程过程不同的是,APPInventor的逻辑设计过程没有顺序的要求,各个组件功能的设计相对独立。本节将对逻辑设计中的各个部分进行介绍。屏幕初始化APP刚被打开时,需要对屏幕进行初始化,否则容易出现一系列的错误,导致APP崩溃,甚至手机卡顿。屏幕初始化的逻辑设计如图5-2所示。图5-2屏幕初始化逻辑设计此处注意要设置文本输入框的输入内容仅限为数字。全局变量的创建从图5-2中可以看到,我们创建了一个全局变量“预设温度”,显而易见,该全局变量代表“文本输入框”中输入的“预设温度”,就是为了使程序调用起来更方便,效率更高。其创建方法及结果如图5-3所示。图5-3变量的创建按钮触发事件按钮逻辑设计如图5-4所示。图5-4按钮逻辑设计按钮1是读取按键,按钮2是预设按键。按钮1被点击后,手机蓝牙发送4个255(0xff)到HC-06表示开始。这里使用4个255是为了确保不会出现问题,防止只使用一个255时,一旦蓝牙传输出现错误,将导致按钮的开始功能失效。按钮2被点击后,设置预设温度,发送给FPGA,同时更新变量值。蓝牙组件的调用前文说到过,我们在界面设计的时候调用了一个列表选择框并使用蓝牙标志。在逻辑设计时,我们使用列表选择框来访问蓝牙列表。如图5-5所示,在列表选用框(蓝牙图标)还没被点击时,设置它的元素列表为蓝牙客户端1的地址和名称列表,这样列表选用框的内容就是手机可以连接到的蓝牙设备的地址和名称列表了。在点击蓝牙图标后,其内容就会显示出来,选择需要连接的蓝牙设备。选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 垃圾处理器研磨细度示意设计规范
- ASFC航模飞行员真题解析(冲刺版)
- 三年级综合实践活动春天来了单元第一二课时教学设计
- 高一劳动技术课杜鹃栽培与养护教学设计
- 小学一年级综合实践活动《快乐小农夫》教学设计
- 小学四年级综合实践活动《人类的家园-地球》教学设计
- 高中一年级信息技术必修1“数据库系统”教学设计
- 小学四年级综合实践活动“社区宠物狗饲养情况调查”教学设计
- 高中信息技术必修二“无线局域网的组建(第2课时)”教学设计
- 小学五年级科学上册火山喷发对地表的作用教学设计
- 褐藻门知识介绍
- 学校5#楼绿色建筑室内污染物浓度预评估分析报告
- 环境、职业健康安全管理体系审核要点
- 三体系内审员试卷与答案
- YY/T 1813-2022医用电气设备使用可靠性信息收集与评估方法
- 第1章糖的化学
- GB/T 11-2013沉头带榫螺栓
- 《病毒学》(研究生)全册配套完整课件
- 药物作用新靶点与药
- 初中数学北师大八年级上册勾股定理-勾股定理中的折叠问题PPT
- 高级计量经济学1课件
评论
0/150
提交评论