1、开题报告设计(论文)题目基于4G手机远程监控的智能花卉自动浇灌系统的设计与实现一、 选题的背景和意义: 1、背景:随着社会生活的进步,人们的生活质量越来越高。在家里养殖花草既可以丰富家人的生活,又可以陶冶我们的情操,而且花草通过光合作用可吸收二氧化碳,净化室内空气,所以养殖花草被许多人喜爱,但是现在人们的工作繁忙,生活节奏快,又缺乏养殖花卉的经验,往往忽视家庭花卉的照料,有时候出差时间较长或出门旅游都为花卉照料带来不方便,经常出现回家的时候发现花卉都枯萎了,这让很多喜欢花卉点缀家居的人们望而却步,虽然如今在市场上有销售自动浇水的设备,然而它们一般对做不到远距离给家里的花卉浇水,不适合那些经常在
2、外面旅游或者每天忙于工作不能回家的人。 2、意义:人们可以利用“基于4G手机远程监控的智能花卉自动浇灌系统”能实现在本地检测显示实时的温湿度数据,最重要的是人们无论在哪儿都可以远程操控家里面的继电器开关实现远程智能浇水。二、 课题研究的主要内容:1. 研究温湿度数据如何采集。2. 研究采集到的温湿度数据如何在TFT屏上实时显示。3. 研究采集到的温湿度数据如何通过串口发送。4. 研究如何通过单片机来控制继电器开关。三、 主要研究(设计)方法论述:1. 文献研究法:通过在图书馆查阅书籍来搜集有关系统设计的相关知识。2. 方案对比法:设定几套方案,通过对比论证选择最好的的方案。3. 模拟测试法:先
3、用仿真软件,实现模拟功能。四、设计(论文)进度安排:时间(迄止日期)工 作 内 容2015.6.152015.6.30根据工作要求,设计实现方案,进行方案对比,选择最最优方案。2015.7.12015.7.31学习如何编写单片机程序。2015.8.12015.8.31实现温湿度的采集与控制继电器开关。2015.9.12015.9.15实现温湿度数据的发送和在TFT液晶显示屏上显示。2015.9.162015.9.30实现单片机模块与4G开发平台之间的串口通信。2015.10.12015.10.31撰写论文大纲,并搜索相关的论文内容,完成毕业论文初稿。目录摘要1Abstract2第一章绪论31.
4、1选题的背景和意义31.2本论文章节结构3第二章相关关键技术42.1C语言简介42.2KEIL软件简介5第三章基于4G手机远程智能花卉浇灌系统的设计63.1设计思路63.2系统整体设计63.3单片机功能模块的设计73.3.1STC15W4K48S4 系列单片机简介73.3.2DHT11温湿度传感器103.3.3小型功率继电器123.3.4TFT显示屏13第四章基于4G手机远程智能花卉浇灌系统的实现184.1硬件环境的实现184.2本地控制模块的实现184.2.1蜂鸣器、继电器、LED控制部分实现194.2.2DHT11温湿度采集部分实现204.2.3界面显示部分实现224.2.4主程序部分24
5、第五章系统调试31总结37致谢38参考文献39基于4G手机远程监控的智能花卉自动浇灌系统的设计与实现摘要:现在的社会,国家的经济飞速发展,百姓安居乐业,生活水平也逐渐的提高,每一个家庭对自己的居住环境的要求也变得更高了,在家里养殖花卉植物也成为了人们点缀装饰自己生活环境的主流。为了便于人们在家中养殖这些花卉,本文设计了一种“基于4G手机远程监控的智能花卉自动浇灌系统”,这个系统,具有可远距离实时监控温湿度与控制继电器自动浇水的功能。本文设计的智能浇灌系统主要包括三部分:手机端APP模块、单片机模块、4G开发平台模块。手机端APP模块的主要作用是显示采集到的温湿度数值以及控制单片机模块的继电器开
6、关。单片机模块的主要功能是采集温湿度并实时在显示屏上显示,单片机模块主要由DHT11温湿度传感器、STC15F2K60S2单片机芯片、继电器、TFT LCD液晶显示屏等组成。4G开发平台的主要作用是实现数据在4G网络中的传送与接收,主要包括ARM开发模块、4G手机终端模块、7寸LCD显示屏三个部分。关键词:智能浇灌;4G;单片机 Design and implementation of intelligent flower automatic irrigation system based on 4G mobile remote monitoringAbstract:Present socie
7、ty , the country's economy is developing rapidly , people live and work in peace . Living standards gradually improve , Every family has become even more of their own living environment. At home, it has become the mainstream of the people's living environment. In order to facilitate people t
8、o breed the flowers in the home, this paper designs a kind of intelligent flower automatic irrigation system based on 4G mobile remote monitoring system, this system Function of remote monitoring temperature and humidity and automatic watering of control relay.The intelligent irrigation system desig
9、ned in this paper mainly includes three parts. Including mobile terminal APP module, microcontroller module, 4G development platform module The main function of the APP module of the mobile phone is to display the temperature and humidity data collected and the relay switch controlled by SCM. The ma
10、in function of the single chip microcomputer module is to collect temperature and humidity and display in real time on the display screen, SCM module mainly by the DHT11 temperature and humidity sensor, STC15F2K60S2 microcontroller chip, relay, LCD TFT LCD screen, etc. The main role of 4G developmen
11、t platform is to achieve data transmission and reception in the 4G network, including ARM development module, 4G mobile terminal module, 7 inch LCD display three parts.Keywords: intelligent watering; 4G; Microcontrollers;第一章 绪论1.1 选题的背景和意义在现代,因为社会的进步,再加上大家的生活质量也正变得越来越高。这些让很多人越来越乐于在家里种植一些花花草草,这样它能够美化
12、家庭环境和净化空气的同时,也可以丰富家庭生活。由于鲜花经过光合作用的过程能够吸收空气中的二氧化碳,净化室内空气,因而空气特别新鲜,有许多花和树木还可以吸收空气中的有害气体,所以如今很多人喜爱在自家的阳台上种植一些花卉植物。但是花卉植物是否能生长良好,主要取决于人们是否可以根据不同花卉生长的习惯在适量的水。但是现在人们的工作繁忙,生活节奏快,缺乏种植经验,往往忽略了照顾家庭的花卉。有时旅行时间较长或工作太忙,让人们对于花卉的照顾非常不方便,经常当人们回家的时候花卉已经凋谢殆尽了,这使得很多喜欢用鲜花装饰家里的人望而却步。虽然如今在市场上有销售自动浇水的设备,然而它们一般对做不到远距离给家里的花卉
13、浇水,不适合那些经常在外面旅游或者每天忙于工作不能回家的人,而且大多的设备只能设定一个按时浇水的时间,很难盆栽适当和及时浇水。也有非常便宜的花卉智能浇水器,可以提示人们及时的给盆栽植物浇水。但这只能提示,浇水的工作还是需要自己去做。当没有人在家里,即使报警了,它也不会及时的浇水,所以,本文想通过设计一个远距离智能浇水系统包括土壤温度和湿度的检测、可以实现远距离智能浇水的花卉自动浇水系统来解决人们所遇到的问题。1.2 本论文章节结构本论文从现在很多人因为不能在较远的地方给自己家的花卉浇水的现状出发,设计了一种“基于4G手机远程监控的智能花卉自动浇灌系统”。本论文总共有五章内容,第一章着重介绍了一
14、下选题的背景意义和对于整个论文架构的安排。第二章讲解了在设计中所运用的相关关键技术,包括C语言、KEIL软件等。第三章介绍了本系统的设计方案。第四章介绍了各个系统模块的实现过程,包括硬件环境的实现和本地控制模块的实现。第五章对整个系统的调试结果做了一个详细的分析。第二章 相关关键技术2.1 C语言简介二十世纪七十年代初,C语言之父丹尼斯·里奇在贝尔实验室对B语言,取BCPL语言的第一个字母,做进一步的修改完善,开发出了C语言,取BCPL语言的第二个字母,一开始开发C语言的目的是为了能把UNIX系统很好的描述出来。C语言是一种面向过程的高级开发语言,从C语言诞生到迄今相继出现了很多种语
15、言,比如,有面向对象的程序设计语言C+、可视化程序设计语言Visual C+、组件导向的程序设计语言C#,目前这些程序设计语言已成为程序设计的主流语言,但是它们还都是以C语言作为其基础的,所以,C语言的生命力是非常顽强的,直到现在这个百花齐放的大世界里仍然被许多用户和开发者所青睐。C语言相比于其他面向过程的程序设计语言(BASIC、Pascal等)具有高效灵活、功能强、移植性好等特点,概括起来主要有以下几点:(1)简介、灵活、方便:C语言一共32个关键字,大部分是对于数据的描述。还有9种控制语句,是对程序流程控制,C语言的程序书写形式非常随意并且灵活。(2)更多运算符、表达能力强:C拥有的45
16、种运算符,它把很多对数据的操作都当作运算符解决。开发人员可灵活的使用所提供的运算符表达其他语言难以表达的表达式。(3)以函数作为模块单位:使用C语言编写的程序是由许许多多的单独的函数的模块组成的,其中必有一个函数名为main()的主函数,C语言的输入和输出是通过调用函数实现的,而与其他语言是通过语句来实现的有很大不同,从而实现了程序设计模块化。(4)生成目标代码好:用C语言编译系统生成的目标代码仅仅比汇编语言生成代码的效率低10%20%。(5)可以访问物理地址:汇编语言的很多功能都可以使用C语言来实现,用C语言编写的程序对使用的硬件可以进行直接操作,更适用编写系统。(6)可移植性好:这是C语言
17、最突出的特点,C语言写出来的代码正常情况下不用重新编写就可以在不同型号的计算机和不同的操作系统上应用。C语言编写的程序,不能直接被计算机识别、理解和执行,需要一种担任编译工作的程序,把C语言的源程序转换为计算机能直接识别的程序,C语言程序的编写需经过4个过程:(1)编辑:源程序先经过编写,再到存储到磁盘文件中,这个过程是编辑。(2)编译:将已经编辑好的源程序转化成二进制目标代码(3)连接:把编译好的模块的目标代码与系统提供的标准模块进行连接,得到具有绝对执行的可执行文件。(4)执行:执行一个经过编译和连接后得到可执行文件2.2 KEIL软件简介KEIL软件由美国软件设备公司生产的,是一款用来编
18、写单片机软件程序的系统,相比于汇编语言,C语言在功能上、结构性等很多特性上有明显特点,因此对于很多初学者来说C语言非常的好学并且非常的好用,KEIL软件则提供了很多功能,包括C语言编译器和一个功能齐全的仿真软件等很多功能的一个比较完美的开发方案。目前比较成熟的KEIL软件有KEIL2、KEIL3、KEIL4。本设计选用的是KEIL3,ARM推出全新的针对各种嵌入式处理器的软件开发工具,集成KEIL3的REALVIEW MDK开发环境。KEIL集成开发环境是以工程的方法来管理文件的,而不是单一的文件模式,所有文件包括源程序,头文件,甚至说明的文档都可以放在工程项目文件里进行统一管理,在使用KEI
19、L前,一定要习惯这种工程管理模式,对于刚开始使用KEIL的用户来说,一般只要按照下面的步骤来创立一个KEIL应用程序:(1)首先创建一个工程项目文件。(2)再为工程选择目标器件。(3)然后创建源程序文件。(4)最后保存建立的源程序项目文件,并把其加入到工程项目文件中来。第三章 基于4G手机远程智能花卉浇灌系统的设计3.1 设计思路本设计需要实现,在本地端实时采集温湿度数据显示在TFTLCD液晶显示屏,并且通过串口发送到ARM模块上,本地端还要能够根据指令判断是否需要浇水。 远程端可以通过4G网络来接收与发送数据,用户使用手机APP查询实时的温湿度数据,并且温湿度更新频率可以灵活调整,还可以使用
20、手机APP通过4G网络发送相应指令来控制继电器的开关实现智能浇水功能。本文根据设计要求给出了如下方案:方案一:使用4G网络直接将单片机采集到的数据发送到手机端,实现端对端的数据传送。方案二:使用第三方服务器作为数据中转,将采集到的数据通过4G网络上传到第三方服务器,手机端通过APP访问第三方服务器获取数据,从而实现远程控制。经过论证发现方案一:使用4G网络直接发送数据到手机端是无法实现的。因为数据传输需要时间,有一定延迟性,在传送中容易造成数据丢失,而且本设计需要对单片机模块的温湿度传感器和继电器进行控制,方案一不能够完成这样的功能。通过进一步查询的资料发现,第三方服务器可以作为数据中转站实现
21、数据的储存,同时还可以给本设计所用到的温湿度传感器和继电器分配设备ID实现远程控制功能,所以本设计选用方案二。3.2 系统整体设计基于4G手机远程监控的智能花卉浇灌系统主要有单片机控制模块、温湿度传感器模块、继电器模块、4G开发平台、乐联云服务器和手机端APP组成。其系统整体结构如下图3-1所示:图3-1 智能花卉浇灌系统整体结构图单片机主要负责本地部分数据采集和控制,DHT11温湿度传感器将采集到温湿度数据传送给单片机,单片机处理后传送到TFT LCD显示屏显示出来,同时通过串口将数据传递给4G开发平台。单片机还会根据程序控制继电器的开关实现浇水和遮阳的功能。4G开发平台由4G模块、ARM和
22、显示屏组成,将单片机传送过来的数据通过移动4G网络发送到乐联云服务器,同时用户通过手机端APP从服务器接收数据,实现远程监控功能。用户也可以通过手机端APP发送相应指令到乐联云服务器,服务器转发到4G开发平台然后通过串口传递给单片机实现远程控制功能。3.3 单片机功能模块的设计3.3.1 STC15W4K48S4 系列单片机简介单时钟周期/机器周期(1T)的单片机有一个典型的例子为宏晶科技的STC15系列单片机STC15W4K48S4,它具有宽电压、高速度、高可靠、低功耗、超强抗干扰等一系列的特征。作为新兴的8051 系列单片机,它的指令代码可直接被用于传统的8051系列单片机上,但其运行速度
23、要比传统的8051系列单片机要快812倍左右。这块芯片内部具有高精度R/C时钟,8路10位PWM,8路10位A/D转换,内置4000字节大容量SRAM,四组独立高速异步串行通信端口(UART1/ UART2/ UART3/ UART4)和一组高速同步串行通信端口SPI。 (1) 工作电压:2.5V-5.5V(2) 16K、32K、40K、48K、56K、61K、63.5K字节内Flash程序存储器,擦写次数大于10万次(3) 拥有4096字节大容量的 SRAM,包括常规的256字节RAM和内部扩展的 3840字节XRAM(4) ISP/IAP,在程序和应用中均可编程,不需要编辑器和仿真器(5)
24、 工作频率范围:5MHz28MHz,相当于普通8051的60MHz336MHz(6) 内部高精度R/C时钟(±0.3%),±1%温度(-40+85),常温下温度±0.6%(-20+65),ISP编程时内部时钟从5MHz35MHz可设(5.5296MHz、11.0592MHz 、22.1184 MHz 、33.1776 MHz)(7) 不需外部晶振和外部复位,同时可以对外输出时钟和低电平复位信号(8) 完全独立的高度异步串行通信端口共有四组,分时切换时可做9组串口使用:串口 1(RxD/P3.0、TxD/P3.1)可切换到(RxD_2/P3.6、TxD_2/P3.7
25、),还可以切换到(RxD_3/P1.6、TxD_3/P1.7);串口2(RxD2/P1.0、TxD2/P1.1)可切换(RxD2_2/P4.6、TxD2_2/P4.7);串口3(RxD3/P0.0、TxD3/P0.1)可切换到(RxD3_2/P5.0、TxD3_2/P5.1;串口4(RxD4/P0.2、TxD4/P0.3)可切换到(RxD4_2/P5.2、TxD4_2/P5.3)(9) 一组高速同步串行通信端口SPI(10) 支持程序加密后传输,防拦截 (11) 支持 RS485 下载(12) 低功耗设计:具有低速模式、空闲模式、掉电模式、停机模式(13) 可将掉电模式、停机模式唤醒的定时器:
26、有内部功耗掉电唤醒专用定时器(14) 硬件看门狗(WDT)单片机引脚图如图3-2所示:图3-2 STC15W4K48S4单片机引脚图单片机内部结构框图如下图3-3所示:图3-3 STC15W4K32S4单片机内部结构框图3.3.2 DHT11温湿度传感器DHT11温湿度传感器是一款以数字信号输出的温湿度传感器。该传感器运用了数字模块技术和温湿度传感技术,同时具有可靠性、稳定性等特点。它的内部还包含了一个电阻式感湿元件和一个NTC测温元件,这些元件还与一个高性能8位单片机相互连接。由于DHT11温湿度传感器使用单线制串行接口,使得数据传输和数据处理变得尤为简易快捷。也因为它的体积超小、功耗也极低
27、,还可以在大于20米的距离传输,极多的优点也使得它成为各类应用最好的选择。它的产品外观为4针单排引脚封装,方便硬件连接使用。其主要应用:暖通空调、除湿器、汽车、自动控制、数据记录器、气象站、家电、温度调节器、医疗等其他相关温湿度检测控制的领域。DHT11温湿度传感器外观如下图3-4所示:图3-4 DHT11温湿度传感器DHT11温湿度传感器封装尺寸如下图3-5所示:图3-5 封装尺寸图DHT11温湿度传感器引脚如下图3-6所示:图3-6 温湿度传感器接口电路图DHT11温湿度传感器引脚说明如下表3-1所示:表3-1 DHT11温湿度传感器引脚说明管脚名称功能1VCC电源3-5.5V2DATA单
28、总线串行数据传输3N/A空脚4GND接地串行接口(单线双行)它还采用了最简单的单总线串行通信方式,对于系统中的数据交换、控制全部是由单总线完成。、单片机微处理器与DHT11之间的通信和同步通过DATA管脚进行传输,传输方式采用单一总线数据格式,一次传送时间大概40ms,每次传送40位的数据,高位先出,数据分整数值部分和小数值部分。(1)数据格式:8bit湿度整数部分+8bit湿度小数部分+8bit温度整数部分+8bit温度小数部分+8bit校验位。(2)校验位数据定义“8bit湿度整数部分+8bit湿度小数部分+8bit温度整数部分+8bit温度小数部分”等于8bit校验位等于所得结果的末8位
29、。使用注意事项(1) 电阻式温湿度元器件的感应层容易受到化学蒸汽的干扰,由于化学物质的腐蚀可能会导致测量数值不准确和元器件灵敏度下降。在纯净的环境下污染物会逐渐扩散,传感器将缓慢恢复。当传感器处于极限工作状态或者处于化学蒸汽下灵敏度下降时,可以将传感器放置在50-60和<10%Rh的湿度环境下烘干2小时;然后在20-30和>70%RH的湿度环境下放置5小时以上。(2) 气体的相对湿度,主要依赖于温度,所以在测量湿度时应该尽量保证温湿度传感器在相同温度下工作。如果和释放热量的元器件共用一个印制电路板,应该在安装时尽量远离DHT11传感器,并且保持良好的通风散热环境。为了减少热传导的热
30、量,DHT11与印制电路板其他部分的铜镀层应尽可能最小,并且在两者之间流出一定的间隙用于散热。(3) 禁止长时间暴露在太阳光下或者强烈的紫外线照射。(4) 使用高质量的屏蔽线,因为DATA信号线的质量会影响通讯距离和质量。(5) 焊接时,在最高温度260的状态下接触时间应小于10秒。3.3.3 小型功率继电器本设计SRD-05VDC-SL-C小型功率继电器(DC-5V 、AC-250V 10A)其外观如下图3-7所示:图3-7 继电器外观继电器电路图如下图3-8所示:图3-8 继电器电路图继电器是一种电控制元器件,它由控制部分和被控制部分组成,即继电器可以被单片机等通过一定的输入量控制闭合功能
31、,同时又可以控制外接电路的通断。实际上是利用小电流控制大电流电器工作的一种“自动开关”,继电器被广泛运用在遥控、遥测、通讯、自动控制、机电一体化、智能家居等设备中,是最重要的控制元器件之一。3.3.4 TFT显示屏TFT-LCD显示屏又被称为薄膜晶体管液晶显示屏。TFT-LCD显示屏与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),这样液晶显示屏在非选通状态时的串扰可以有效地被解决,使显示液晶屏上的静态特性与扫描线数无关,这样可以大大增强了图像质量。TFT-LCD也被称为真彩液晶显示器。本设计使用的TFTLCD模块特点如下:(1)3
32、.2寸屏幕,工作电压2.83.3V。(2)320×240的分辨率。(3)16 位真彩显示。(4)自带触摸屏,可以用作控制输入。该模块支持65K色显示,显示分辨率为320×240,接口为16位的并行8080接口,自带触摸屏如图3-9所示。 图3-9 TFT液晶屏模块TFT液晶屏显示接口电路图,如下图3-10所示:图3-10 TFT液晶屏显示接口电路图从图3-10可以看出,本设计使用的TFTLCD模块是通过16位的并行方式和外部连接,当然也可以采用8位的方式,但是由于使用8位数据线,速度会比16位方式慢一倍以上,并且在显示图片的时候,彩屏的数据量比较大,所以本设计选择16位的接
33、口。其引脚接口定义情况如下表3-2所示:表3-2 TFT模块引脚接口定义表管脚功能CSTFTLCD片选信号WR向TFTLCD写入数据RD从TFTLCD读取数据D15:016位双向数据线RST复位TFTLCDRS命令/数据标志(0,读写命令;1,读写数据)TFTLCD模块使用流程如下图3-11所示:图3-11 TFTLCD模块使用流程其他型号的LCD显示屏的使用也可以通过以上流程图表示。图中的硬复位和初始化序列部分,只需要在程序第一次运行的时候执行一次就可以。操作屏幕可以按照以下流程:设置坐标写GRAM指令写颜色数据,然后可以在 LCD上面看到对应的点显示程序写入的颜色。读点流程为:设置坐标读G
34、RAM指令读取颜色数据,这样就可以获取到对应点的颜色数据了。电阻式触摸屏简介在苹果手机发布之前,市面上所有的电子产品几乎都是使用的电阻式触摸屏,电阻式触摸屏是利用压力感应原理进行触点检测控制,需要直接受力接触,通过检测电阻来确定触摸的位置。本设计使用的TFTLCD模块自带的触摸屏也是电阻式触摸屏。(1)TFT液晶屏模块原理图,如图3-12,含触摸屏驱动电路。图3-12 TFT液晶屏模块原理图(2)XPT2046引脚功能如下图3-13所示:图3-13 XPT2046引脚图(TSSOP封装)XPT2046各引脚功能情况如下表3-3所示:表3-3 XPT2046引脚功能引脚号名称说明13BUSY忙时
35、信号线。当为高电平时为高阻状态14DIN串行数据输入端。当为低电平时,数据在DCLK上升沿锁存进来15片选信号。控制转换时序和使能串行输入输出寄存器,高电平时ADC掉电16DCLK外部时钟信号输入1VCC电源输入端2XPXP位置输入端3YPYP位置输入端4XNXN位置输入端5YNYN位置输入端6GND接地7VBAT电池监视输入端8AUXADC辅助输入通道9VREF参考电压输入/输出10IOVDD数字电源输入端11PENIRQ笔接触中断引脚12DOUT串行数据输出端。数据在DCLK的下降沿移出,当高电平时为高阻状态(3)XPT2046原理框图如下图3-14所示:图3-14 XPT2046原理框图
36、第四章 基于4G手机远程智能花卉浇灌系统的实现4.1 硬件环境的实现由于4G终端创新开发平台每一部分模块都是独立的,本设计使用时需要把所使用到的部分连接起来(如下图4-1所示),本设计需要使用4G网络进行传输所以需要把4G模块和ARM模块用USB数据线连接在一起,同时需要将ARM模块和单片机模块进行连接实现本地和云端的数据交互,使用杜邦线将两个模块的串口部分以Tx-Tx,Rx-Rx的方式连接起来。图4-1 硬件环境搭建4.2 本地控制模块的实现基于4G手机远程智能浇灌花卉系统的单片机部分,在本地主要实现对温湿度数据的采集和显示,继电器、LED、蜂鸣器的控制功能。同时还需要将本地采集到的数据和各
37、元器件的实时状态通过串口发送到ARM模块,然后通过4G模块发送到乐联云服务器,用户可以通过手机端通过APP获取到实时数据。下面分部介绍各部分功能的实现过程。4.2.1 蜂鸣器、继电器、LED控制部分实现由于本设计需要通过继电器控制外接设备实现浇水功能,在硬件连接时还需要测试串口连通性,所以编写蜂鸣器和LED程序用于测试使用,以下子程序可以在需要时被直接调用。程序编写部分如下:void Beep_Off(void)BEEPON =0; /关闭蜂鸣器void JD1ON(void)JD1 =0; /打开继电器1void JD2ON(void)JD2 =0; /打开继电器2void JD1OFF(v
38、oid)JD1 =1;/关闭继电器1void JD2OFF(void)JD2 =1; /关闭继电器2void LED3_ON(void) /打开LED3LED_D3=0;void LED4_ON(void) /打开LED4LED_D4=0;void LED3_OFF(void) /关闭LED3LED_D3=1;void LED4_OFF(void) /关闭LED4LED_D4=1;4.2.2 DHT11温湿度采集部分实现本设计需要使用DHT11温湿度传感器采集实时温度,传送给单片机然后显示到TFTLEC液晶显示屏上,同时还需要将数据发送到串口。DHT11温湿度传感器部分程序分为IO初始化部分、
39、开始信号部分、数据读取部分、数据处理部分、串口发送部分和数据显示部分组成。程序编写部分如下:void DHT_IO_OUT(void)CG_WDO=1;P4M0 |=(1<<4);P4M1 &=(1<<4);void DHT_IO_IN(void)CG_WDO=1;P4M0 &=(1<<4);P4M1 |=(1<<4);void DH11Start(void) /开始信号 DHT_IO_OUT(); CG_WDO=0; delayms(20); /至少拉低18ms DHT_IO_IN(); /切换至输入 delay(30);/20
40、-40usunsigned char DH11ReceiveOneByte(void)/接收一个字节,高位在前 unsigned char i,temp=0; for(i=0;i<8;i+) temp <<=1; while(CG_WDO);/等待拉低50us delay(40); while(!CG_WDO);/等待拉高26-28us delay(35); if(CG_WDO=1) /表示高电平持续时间超过28为数据1 否者为零 temp |=(1<<0); return temp; R_H=DH11ReceiveOneByte(); R_L=DH11Recei
41、veOneByte(); /传感器小数位为0 T_H=DH11ReceiveOneByte(); T_L=DH11ReceiveOneByte(); /传感器小数位为0 num_check=DH11ReceiveOneByte(); while(CG_WDO);/等待响应信号拉低 delay(50); DHT_IO_OUT(); /释放总线THLbuff0='T'THLbuff1=T_H/10+0x30;THLbuff2=T_H%10+0x30; THLbuff3=R_H/10+0x30;THLbuff4=R_H%10+0x30;THLbuff5=GZData/10000+0x
42、30 ; GZData=GZData%10000; /取余运算THLbuff6=GZData/1000+0x30 ; GZData=GZData%1000; /取余运算 THLbuff7=GZData/100+0x30 ; GZData=GZData%100; /取余运算 THLbuff8=GZData/10+0x30 ; GZData=GZData%10; /取余运算 THLbuff9=GZData+0x30;THLbuff10='K' THLbuff11='0'SendStr2(THLbuff); /2 */将采集到的数据通过串口发送 buff0=THLbu
43、ff1; buff1=THLbuff2; buff3='0' TFT_ShowString(12,8,buff,RED,GREEN);/温度数据,显示在显示屏指定位置 buff0=THLbuff3; buff1=THLbuff4; buff3='0'TFT_ShowString(12,10,buff,RED,GREEN); /湿度数据,显示在显示屏指定位4.2.3 界面显示部分实现程序运行后TFTLCD液晶显示屏界面如下图4-2所示,屏幕上半部分是单片机串口的开关控制,中间部分是温湿度值显示部分。图4-2 TFTLCD显示屏界面TFTLCD液晶显示屏显示部分程序
44、如下:void MFrame(void) /lcd初始化显示TFT_ClearONELINE(0,RED); TFT_ShowString(0,0,"CCIT",WHITE,RED); TFT_ShowString(12,0,"4G智能花卉浇灌系统",WHITE,RED);TFT_ClearArea(0,16,240,320-16,LIGHTBLUE);TFT_ShowString(2,3,"串口:",WHITE,LIGHTBLUE);TFT_ShowString(2,8,"温度值:",WHITE,LIGHTBLU
45、E);TFT_ShowString(2,10,"湿度值:",WHITE,LIGHTBLUE);TFT_ClearArea(80,117,112,70,GREEN);TFT_ShowString(2,14," 韩兆宇 刘宇",WHITE,LIGHTBLUE);TFT_ShowString(2,18," 常州信息职业技术学院",WHITE,LIGHTBLUE); /*0表示串口1关1表示串口1开*/void CHKButtonFrame(unsigned char a)/*按键效果*/if(a=0) /串口 OFFTFT_ClearAre
46、a(55,31,112,53,WHITE);TFT_ClearArea(55+5,31+5,112-10,53-10,BROWN);TFT_ClearArea(111,31+5+2,49,39,WHITE);TFT_ShowString(15,3,"OFF",RED,WHITE);IE2 &=(1<<0); /串口2中断开/关中断else if(a=1) /串口 ONTFT_ClearArea(55,31,112,53,WHITE);TFT_ClearArea(55+5,31+5,112-10,53-10,RED);TFT_ClearArea(62,31
47、+5+2,49,39,WHITE);TFT_ShowString(9,3,"O N",RED,WHITE);IE2 |=(1<<0);/开中断4.2.4 主程序部分首先完成单片机及各模块部分的初始化,然后通过将LCD显示屏上固定的字符部分显示出来并预读取DHT11温湿度传感器数据,然后通过点击触屏对应区域打开串口,检测并判断是否有正确指令发送过来,执行对应的操作。举例:如果检测到发送过来的指令为“LEDON”时,单片机控制LED灯亮起。如果指令为“LEDOFF时”LED灯熄灭。流程图如下图4-3所示:图4-3 程序工作流程图图4-4 单片机程序组成图单片机部分总
48、程序由main函数和各部分子函数组成(单片机程序组成如上图4-4所示),程序启动时按照主程序顺序依次执行,执行时会自动跳到子程序内部执行。void function(void)/操作指令对比if(cktflg2=1)if ( strcmp( LEDON, GetDataBuf2 ) = 0 )/相等SendStr2("LEDONn");LED3_ON();LED4_ON();else if ( strcmp( LEDOFF, GetDataBuf2 ) = 0 )/相等SendStr2("LEDOFFn");LED3_OFF();LED4_OFF();e
49、lse if ( strcmp( FMQON, GetDataBuf2 ) = 0 )/相等SendStr2("FMQONn");Beep_On(8);TR0=1;else if ( strcmp( FMQON1, GetDataBuf2 ) = 0 )/相等SendStr2("FMQON1n");Beep_On(1);TR0=1;else if ( strcmp( FMQON2, GetDataBuf2 ) = 0 )/相等SendStr2("FMQON2n");Beep_On(2);TR0=1;else if ( strcmp(
50、FMQON3, GetDataBuf2 ) = 0 )/相等SendStr2("FMQON3n");Beep_On(3);TR0=1;else if ( strcmp( FMQON4, GetDataBuf2 ) = 0 )/相等SendStr2("FMQON4n");Beep_On(4);TR0=1;else if ( strcmp( FMQON5, GetDataBuf2 ) = 0 )/相等SendStr2("FMQON5n");Beep_On(5);TR0=1;else if ( strcmp( FMQON6, GetData
51、Buf2 ) = 0 )/相等SendStr2("FMQON6n");Beep_On(6);TR0=1;else if ( strcmp( FMQON7, GetDataBuf2 ) = 0 )/相等SendStr2("FMQON7n");Beep_On(7);TR0=1;else if ( strcmp( FMQON8, GetDataBuf2 ) = 0 )/相等SendStr2("FMQON8n");Beep_On(8);TR0=1;else if ( strcmp( FMQOFF, GetDataBuf2 ) = 0 )/相等
52、SendStr2("FMQOFFn");Beep_Off();TR0=0;else if ( strcmp( JDQ1ON, GetDataBuf2 ) = 0 )/相等SendStr2("JDQ1ONn");JD1ON();else if ( strcmp( JDQ1OFF, GetDataBuf2 ) = 0 )/相等SendStr2("JDQ1OFFn");JD1OFF();else if ( strcmp( JDQ2ON, GetDataBuf2 ) = 0 )/相等SendStr2("JDQ2ONn");
53、JD2ON();else if ( strcmp( JDQ2OFF, GetDataBuf2 ) = 0 )/相等SendStr2("JDQ2OFFn");JD2OFF();else if ( strcmp( TEMPON, GetDataBuf2 ) = 0 )/相等SendStr2("TEMPONn");Temperatureflag=1;TR1=1;else if ( strcmp( TEMPOFF, GetDataBuf2 ) = 0 )/相等SendStr2("TEMPOFFn");Temperatureflag=0;TR1=0;else if ( strcmp( IICON, GetDataBuf2 ) = 0 )/相等SendS
相关知识
树莓派智能花卉浇灌系统设计与实现
物联网 + Unity3D虚拟现实花卉养护远程智能监控系统
基于物联网实现花卉养护远程智能监控系统
基于物联网的畜禽智能养殖监控系统
温室大棚花卉智能监控系统设计
基于SMS的远程控制智能花卉浇灌系统设计书.doc
探究智能花卉养护系统
基于ZigBee的花卉温室环境智能监控系统研究与实现
基于物联网的花卉养护远程监控系统设计
家用自动浇花器智能浇水控制滴灌系统4G远程定时滴水淋花浇水器
网址: 基于4G手机远程监控的智能花卉自动浇灌系统的设计与实现计算机专业 https://m.huajiangbk.com/newsview787830.html
上一篇: 校园监控项目整理 |
下一篇: 铁路货车运行安全监控系统的预报模 |