仓库温湿度监控系统设计

上传人:文*** 文档编号:47058061 上传时间:2021-12-16 格式:DOCX 页数:48 大小:2.32MB
返回 下载 相关 举报
仓库温湿度监控系统设计_第1页
第1页 / 共48页
仓库温湿度监控系统设计_第2页
第2页 / 共48页
仓库温湿度监控系统设计_第3页
第3页 / 共48页
点击查看更多>>
资源描述
仓库温湿度监控系统设计仓库温湿度监控系统设计摘 要如今的科学信息技术的不断进步,温度与湿度对我们的生产与生活有着较大的影响,例如仓库环境的温湿度关乎到仓库内物资的存储有着重大的关系。然而一般的温度和湿度测量方法以及无法达到人们的需求。所以,研发一种高性能、低成本、实时监控仓库温湿度的系统成为了该领域的研究重点。本系统设计基于STM32的温湿度监控系统,主要由STM32F40ZGT6开发板(单片机系统、电源模块、蜂鸣器报警电路)、温湿度传感器模块电路、蓝牙传输模块等组合而成。软件编译程序设置仓库的温湿度安全存储的范围值,不在安全范围内则启动报警。通过软件、硬件技术的结合,检测的精确度和可靠性有了更好的保障,给仓库工作人员提供了一套智能监控系统,使仓库温湿度得到了精度高的实时监测,这样仓库得到了更好的管理。关键词:单片机系统;仓库环境;温湿度检测;智能监控Temperature and Humidity Monitoring System for WarehouseAbstractWith the continuous progress of science and information technology today, temperature and humidity have a greater impact on our production and life. For example, the temperature and humidity of the warehouse environment are related to the storage of materials in the warehouse. However, the general temperature and humidity measurement methods cannot meet peoples needs. Therefore, the research and development of a high performance, low cost, real-time monitoring warehouse temperature and humidity system has become the focus of this field.This system designs a temperature and humidity monitoring system based on STM32, which is mainly composed of STM32F40ZGT6 development board (single chip computer system, power supply module, buzzer alarm circuit), temperature and humidity sensor module circuit, bluetooth transmission module, etc. The software compiler sets the range value for safe storage of temperature and humidity in the warehouse, and starts the alarm if it is not within the safe range. Through the combination of software and hardware technology, the accuracy and reliability of the detection are better guaranteed, and a set of intelligent monitoring system is provided for warehouse staff, so that the warehouse temperature and humidity are monitored in real time with high accuracy, and thus the warehouse is better managed.Keywords: Single chip microcomputer system; Warehouse environment; Temperature and humidity detection; Intelligent monitoring北京理工大学珠海学院2020届本科生毕业设计目 录1前言11.1课题研究的背景及发展概况11.2本设计的目的、意义及应达到的技术要求11.3设计目标22系统设计32.1硬件电路方案设计32.2软件编程方案设计43 硬件电路各模块选择方案53.1STM32F407单片机模块53.2温湿度传感器模块63.3报警模块83.4蓝牙模块84硬件电路设计104.1STM32主板电路104.1.1MCU104.1.2电源电路104.2蜂鸣器报警电路114.3温湿度传感器电路124.5 蓝牙模块电路145软件设计175.1软件总体流程图175.2模块软件设计185.2.1报警设计185.2.2DHT11温湿度传感器设计185.2.3蓝牙设计216组装与调试257 总结28参考文献29谢 辞30附 录32附录132附录234附录337附录442附录543附录644II1前言1.1课题研究的背景及发展概况温湿度在人类生活中受到密切的关注,室内温湿度不宜过高或者过低,人体散热功能、呼吸道等也会受到一定的影响,从而影响到了人类的生存舒适感。这两者不仅影响到人的体感温度,在生产工业方面,特别是对于仓库来说,存储的物资是否安全的保存仓库内环境参数的影响。在一些对环境参数要去比较高的地方,比如在大中型仓库内环境的管理和监控等方面,仓库内的温湿度等环境参数是否适合仓库物资的存储条件决定了仓库物资是否能否完好的保存。因此,仓库的温湿度成为了现代存储仓库物资的必要因素指标。温湿度对仓库内防止发霉而变质、防止潮湿、防止火灾等引起的安全隐患有着必不可少的作用,所以仓库监控管理的重点就是要高效率的监控仓库内的温度及湿度等参数,以便及时发现仓库里的温湿度是否达标,减少不必要的损失及安全隐患。然而,传统的仓库管理需要人工进入闷热、呛人的仓库内,利用温度计、湿度计、湿度纸等较为简单的测量工具来不断测量仓库内的温湿度,而对仓库进行升、降温时,由于不同的环境,参数也会存在许多大大小小的误差。这样不但达不到实时监控的效果、精度不高,而且需要大量的操作人员需要花费大量的时间和精力。本文介绍了一种以STM32单片机为核心处理器,主要用于每时每刻测量和记录仓库内的温湿度参数情况,当仓库温湿度超出存储条件的设定范围值时,系统将启蜂鸣器报警装置发出报警现象,达到对仓库温湿度的监控和预警的目标。此外,还可以通过连接手机端蓝牙APP对仓库的检测到的温湿度进行远程监视及查询,实现了远程监控温湿度的实时值,且当温湿度不在设定的存储条件范围时,会在手机端发出报警提示,减小了不必要的安全隐患。1.2本设计的目的、意义及应达到的技术要求本设计的目的是为了解决每时每刻的监测温度和湿度和不需要在现场而是远距离监控仓库内的温湿度。仓库的环境参数情况直接影响了仓库所存放的物品的使用保质期的长短和运行的可靠性。由此得知,仓库环境的温度和湿度参数的检测与调控,温度和湿度对仓库环境的安全可靠性来说是非常关键的,合适稳定的储存环境对货物的质量保证尤为重要。最近几年来,由于国内科学和信息技术的普及和飞速发展,性能高、精度高的设备也越来越多,各种行业对仓库所存放的物品要求非常的严格,从而仓库需要更加适合及稳定的温湿度。测量温度和湿度的常用传统方法是基于人的劳动力,使用人工的方式来测量及记录仓库温湿度。这种方式不但效率不高,而且不能实现每时每刻对仓库存储环境参数温度和湿度进行检测,如果环境参数温湿度不稳定甚至超过仓库存储物品所需的适宜值,可能会导致仓库存储物品的质量损毁,严重的情况下将仓库存储的物品报废,会给制造商带来无法弥补的损失。现在中国可以实现远程操控仓库环境的温湿度系统还比较少见,但是国外流行的多功能的仓库远程控制系统的价格极高,这不符合我国仓库管理行业的发展状况。一般传统的温湿度测量需要大量的人工劳动力到仓库内进行测量和管理,众所周知,仓库的环境是闷热的、呛人的,人工一般是利用普通温度计、湿度计、湿度纸等较为简单传统的测量工具来不断测量仓库内的温湿度,而人工测量不可能每时每刻都对温湿度进行准确的测量,比如对仓库进行升、降温时,在不同的环境下测量,参数也会受到环境的变化存在着许多大大小小的误差。这样不但耗费的人工精力大,还达不到实时监测到精确的温湿度参数的效果,有时候达不到绝对的安全隐患。本设计主要研究一套低成本、高效率的仓库温湿度监控设计,满足仓库的现在发展的需求。本设计实现的技术要求如下:1、设计基于STM32F407ZGT6微机的仓库温湿度监控系统,检测仓库里的温度和湿度的状况;2、将监测到的温湿度数值并通过蓝牙传输到手机端;3、对于温度、湿度的范围可按照所需的要求进行编程创建设置;4、结合手机端的蓝牙传输的数据对系统进行检测检测及控制,实现智能监控和报警的功能。1.3设计目标1、完成仓库温湿度的监控系统整体设计;2、完成监控系统各个模块的选项和搭建;3、通过编写程序创建设定仓库温湿度的范围; 4、系统采集到的温湿度可以通过蓝牙传输到移动客户端。2系统设计本系统设计基于STM32的温湿度监控系统,主要由STM32F40ZGT6开发板(单片机系统、电源模块、蜂鸣器报警电路)、温湿度传感器模块电路、蓝牙传输模块等组合而成。通过软件编译程序设置仓库的温湿度安全存储的范围值,蜂鸣器报警电路在安全范围内则不启动报警,不在安全范围内则启动报警。通过软件、硬件技术的结合,自动检测的精确度和可靠性有了更好的保障,给仓库工作人员提供了一套智能监控系统,不仅降低了人工劳动力和成本,而且使仓库温湿度得到了精度高的实时监测,仓库存储的物品质量有了更好的保障,降低了物品的损坏以及报废的几率,从而使得仓库管理行业工作效率更高,更加有保障。本设计系统非常的具有现实使用价值和意义。2.1硬件电路方案设计硬件电路主要以单片机STM32F407为监控系统主控制器,其核心为CORTEX M4,通过温湿度传感器检测到的温湿度通蓝牙模块传输到移动客户端,在检测温湿度之前先通过程序编写创建设置仓库内规定要求温湿度的安全范围,当采集到的温湿度值超出所编程创建输入的范围值时,系统则会通过启动蜂鸣器报警,实现监控仓库安全参数的效果。系统框架如下图2.1所示。图2.1 系统整体框架 仓库温湿度监控系统设计由以下几个部分组成:1、STM32F407开发板包含:(1)STM32F207ZGT6最小系统模块;(2)蜂鸣器报警模块;(3)电源模块;2、温湿度传感器模块;3、蓝牙模块。2.2软件编程方案设计Keil是由基于51系列的编程编译系统,它容纳微机C语言。在功能和构造上有很明显的优点。C语言编程数据类型丰富、结构完整、简单易用。在本次设计中,通过编程c程序来控制整个系统的运行,因为分模块写程序的话比较简单并清晰,因此,把整个温湿度监控系统分为几个模块变编写程序,其中包括系统的main程序、检测温湿度数据模块的程序、蜂鸣器报警程序、蓝牙模块连接移动客户端的程序等。3 硬件电路各模块选择方案3.1STM32F407单片机模块在本设计中STM32F407主核板,在电路中,主要使用了以CORTEX M4为核心的STM32407ZGT6作为最小系统,还有蜂鸣器报警模块、嵌入式Flash存储器、按键输入模块等。STM32系列单片机有着性能高、成本低、功耗低等特点,它是一种集成电路芯片,它将CPU、Flash、I/口、定/计时器、中断等基本模块集合在一起成为一个微型系统。在本设计中的主控制器选择了单片机芯片。单片机的种类多种多样,详细如下表3.1所示,对它们进行对比举例分析。表3.1 单片机详细对比表种类描述STM32单片机是STC公司生产的芯片,具有低功耗、高性能、功能强大、低成本的特点,外部资源充足,满足了绝大多数设备的设计需求。并且具有 32 位CPU,处理速度快、出错率低。STC单片机STC公司的单片机主要是基于8051内核,是新一代增强型单片机,指令代码完全兼容传统8051,速度快812倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强。PIC单片机是MICROCHIP公司的产品,其突出的特点是体积小,功耗低,精简指令集,抗干扰性好,可靠性高,功能全,有较强的模拟接口,代码保密性好,大部分芯片有其兼容的FLASH程序存储器的芯片。ATMEL单片机(51单片机)ATMEL公司的8位单片机有AT89、AT90两个系列, AT89系列是8位Flash单片机,与8051系列单片机相兼容,静态时钟模式; AT90系列单片机是增强RISC结构、全静态工作方式、内载在线可编程Flash的单片机,也叫AVR单片机。HOLTEK单片机台湾盛扬半导体的单片机,价格便宜,种类较多,但抗干扰较差,适用于消费类产品。松翰单片机(SONIX)台湾松翰公司生产的单片机,大多为8位机,有一部分与PIC 8位单片机兼容,价格便宜,系统时钟分频可选项较多,有PMW ADC内振内部杂讯滤波。缺点是RAM空间过小,优点是抗干扰较好。对比以上这几种单片机可知在本设计中STM32F407ZGT6芯片成为解决方案的首选,选择STM32作为主控制器可以高效的解决所需功能。芯片的外观如下图3.1 所示。图3.1 开发板外观图3.2温湿度传感器模块本设计中通过温湿度传感器用来检测仓库温湿度参数。通过对比两种方案来选择,第一种是通过DS18B20温度传感器和HS1101电容式湿度传感器合并起来去采集温湿度的数据,第二种是直接有一个DHT11温湿度传感器来采集温湿度的数据。具体分析如下:DS18B20温度传感器和HS1101电容式湿度传感器的测量范围及测量具体如表3.1、表3.2:表3.2 DS18B20温度传感器特性描述测量范围-55125,-1085特点体积小,硬件开销低,抗干扰能力强,误差小最高精度可达0.0625表3.3 HS1101电容式湿度传感器特性描述测量范围0%100%RH特点误差较小由上述的温湿传感器和湿度传感器可以满足本设计的要求,但若分别采用温度和湿度传感器分别对温度的数值和湿度的数值进行记录采集的话,不但用起来不方便,增加了累赘,在硬件电路上会增加了一个模块的电路,软件上的编程量也会增加很多,复杂了很多,增加了编程的负担,影响编译和调试的效率。故不适合本设计的应用。DHT11温湿度传感器的特点如表3.4:表3.4 HT11温湿度传感器测量范围温度:050湿度:2090RH精度温度:2湿度:5RH特点响应快、抗扰能力强、性价比高DHT11温湿度传感器测量范围和精度虽然没有单独的DS18B20温度传感器和HS1101电容式湿度传感器的好,但是本设计适用于仓库环境的温湿度的测量和记录,0-50%和20-90%RH已经达到了测量的要求,所以符合本次毕业设计的要求。综上所述,单独分开两个传感器虽然精度更精确,但是用起来复杂,编程也麻烦。DHT11虽然精度测量不是很高。本设计为仓库环境的温湿度范围DHT11却也能满足所需要求,且简便易行,可靠稳定,成本较低,具有超高的性价比。故选取了DHT11作为本次温湿度传感器的温湿度测量模块。3.3报警模块在单片机应用的设计上,很多方案会用蜂鸣器作为报警装作,因为它的报警作用效果是较好的,性价比较高。当遇到温湿度超出范围的时候,将启动蜂鸣器,还可以增加一个发光二极管起到视线的预警,这样就构成一个相对完整的报警装置。本设计采用的是STM32F407增强型核心板,它板子自带蜂鸣器,用起来很方便,只要给它一个驱动,就可以发出声音实现报警的效果,所以本设计采用了蜂鸣器作为报警模块。3.4蓝牙模块本设计蓝牙模块采用蓝牙串口模块ATK-HC05,通过蓝牙连接移动客户端来显示温湿度传感器采集到的温度和湿度。ATK-HC05是功能强大的主要和辅助集成蓝牙串行端口模块,可以与各种智能终端结合使用,包括计算机、蓝牙主机、移动电话、PDA和PSP 模块支持广泛的波特率范围,使用起来非常灵活方便。它兼容了5V和3.3V单片机系统,恰好符合了本设计的要求。ATK-HC05模块的外观是比较小巧的,这也给我们的设计节省了空间。ATK-HC05的特点和电气功能信息如下表3.5、表3.6所示:表3.5 ATK-HC05特点项目说明接口特性TTL,兼容3.3V/5V单片机系统支持波特率4800、9600(默认)、19200、38400、57600、115200、230400、460800、921600、1382400其他特性主从一体,指令切换,默认为从机。带状态指示灯,带配对状态输出。通信距离10M(空旷地)工作温度-25度至75度 表3.6 ATK-HC05电气功能信息项目说明工作电压DC3.3V5.0V工作电流 配对中:3040mA;配对完毕未通信:18mA;通信中:1520mAVoh3.3VVCC=3.3V 3.7VVCC=5.0VVol0.4V(Max)Vih2.4V(Min)Vil0.4V(Max)4硬件电路设计4.1STM32主板电路本设计采用核心Cortex-M4的单片机STM32F407ZGT6作为系统主板,主要包括:STM32F407ZGT6最小系统电路(MCU、电源电路、复位电路、时钟源电路)、蜂鸣器报警电路、Flash存储器电路、按键电路。4.1.1MCU图4.1 STM32F407芯片原理图4.1.2电源电路本设计的电源采用3.3V输入,电路中的电容则是滤波电路,如图4.2所示。图4.2 电源电路原理图4.2蜂鸣器报警电路 本设计中的报警电路用到开发板自带的蜂鸣器,通过初始化通用I/O口,本设计选用PF6为此蜂鸣器的I/O口,初始化以及温湿度在安全范围时PF6为低电平,蜂鸣器不发出声音,当温湿度不在安全范围时电平拉高,此时三极管驱动蜂鸣器,使蜂鸣器发出声音启到报警的作用,如图4.3 所示。图4.3 蜂鸣器报警电路远原理图4.3温湿度传感器电路本设计采用的是DHT11作为温湿度传感器电路,它的电路结构很简单,原理图如下图所示。从原理图中可以看出其引脚,VCC接板子的3.3V电源,GND接板子的DND地端,因为DHT11温湿度传感器是复合传感器,已经标准了数字信号。他采集温度和湿度合并在一起,只需要单总线接口来完成,DATA作为唯一的数据传输线,接通用I/O口,本设计接的是PG9。如下图4.4所示。图4.4 DHT11 电路原理图1、 DHT11引脚引脚排列如下图4.5所示。图4.5 DHT11引脚图DHT硬件电路连接说明如表4.1:表4.1 DHT11引脚说明引脚1:(VDD)正电源输入引脚,供电电压为 35.5V,这里把电源引脚接入系统的总电源 5V。引脚2:(DOUT)数据输出引脚, 由于采用单总线,这里直接输出引脚到单片机。的输入引脚。引脚3:(NC)空脚,这里把该引脚悬空。引脚4:(VDD)接地端, 这里接入电源负极。2、电气功能信息:DHT11的相关电气功能信息说明如下表4.2所示: 图4.2 DHT11的电气功能信息参数 条件Mintypmax单位供电 DC 3 5 5.5 V供电电流 测量 0.5 2.5mA平均0.21mA待机100150uA采样周期 秒1次它的外观图如下:图4.6 DHT11温湿度传感器外观图4.5 蓝牙模块电路模块通过VCC、GND、TXD、RXD连接到单片机,这里面VCC是用来连接电源供电的,GND连接地端,STM32串口的TXD引脚接到蓝牙模块的RXD引脚、STM32串口的RXD引脚接到蓝牙模块的TXD引脚,引脚如下图4.7所示:图4.8 引脚外观图从上面的外观图可以看出模块具体引脚,详细的功能及连接说明如下表4.3:表4.3 TK-HC05 模块引脚功能说明序号名称说明1VCC电源(3.3V5.0V)2GND地3TXD模块串口发送引脚,接单片机的TXD4RXD模块串口接收引脚,接单片机的RXD5KEY用于进入AT状态:高电平有效(如果悬空则默认为低电平)6LED配对状态输出:配对成功时输出高电平;没有配对时则输出低电平。除了这些引脚外,该蓝牙模块还有一个状态指示灯(STA),在使用过程中有三种的状态,详细如表4.4:表4.4 ATK-HC05状态描述状态KEY引脚电平说明描述AT状态模块上电时,将KEY设置为高电平时(接电源VCC)指示灯STA的状态则是慢闪,1秒亮1次,波特率稳定在38400。配对状态HEY悬空或者是接地GND指示灯STA的状态是快闪,1秒钟亮两次配对成功HEY悬空或者是接地GND指示灯STA则出现双闪,即一次闪两下,两秒闪一次。注:在配对状态时,如果突然把KEY设置为高电平,模块也会进入AT状态,但是指示灯STA仍然保持快闪的状态。图 4.9 ATK-HC05模块与主控制器连接示意图5软件设计5.1软件总体流程图本设计系统运作的流程如下图5.1所示,首先先将STM32的功能引脚、温湿度传感器模块DHT11进行初始化,以保证后续驱动能够顺利完成。驱动完成之后,进入主循环。在主循环中,只要是不断的接收到温湿度传感器检测到的数据,从按键模块输入参数安全范围的山下限,进一步对检测到的数据进行判断是否安全。图5.1 软件设计流程图5.2模块软件设计5.2.1报警设计 本设计的报警电路是通过初始化蜂鸣器为低电平,当温湿度传感器采集到的温度、湿度的数值在创建设置的范围里时,仍然为低电平,但是只要有任何一个数值超过上限或者下限的时候,这是通过直流电压来驱动蜂鸣器,则蜂鸣器工作启用报警系统。5.2.2DHT11温湿度传感器设计 DHT11的DATA用于该模块与单片机STM32F407ZGT6之间通讯传输和更新数据,在这里采用的是唯一一个总线的数据传输,一次通讯传输数据的时间大概在4ms左右,这个数据包括了温度的小数和整数、湿度的小数和整数还有最后一个检验的部分一共五个部分,详细数据传输的格式在下面说明,当前小数部分用于以后扩展,现读出为零。通讯传输的数据一共为40bit,具体如下:8bit湿度整数8bit湿度小数8bi温度整数8bit温度小数8bit校验和用户MCU发第一次起始信号,此时DHT11从低电平切换为高电平,然后就等待MCU的起始信号结束,结束后DHT11就马上发送它的响应信号,传输出40位的二进制数据,并获取到了一次触动信号,用户可以选择需要读取部分数据.在从机端,DHT11接收到了起始信号并且触动获取一次完整的40bit数据,倘若没有接收到来自主机发送的起始信号, DHT11将不会主动去获取数据,这时温湿度的数据则显示错误,没有获取到数据,切换为低电平即低速模式。它的通信过程如下图5.2、5.3所示:图5.2 DHT11通信过程时序图1图5.3 DHT11通信过程时序图2通过上面的通讯工程1和2的时序图可知,大概过程如下:1、在总线休闲的时候是呈现高电平的状态;2、如果总线主机拉为低电平,然后等待DHT11的回应;3、当DHT11检测到主机信号后,等待主机的信号结束;4、然后低电平的80us作为响应信号发送;5、主机发送的信号后,将会延时20-30us以读取DHT11的响应信号,主机发送信号后,可以切换到输入模式或者高电平模式,总线通过上拉电阻拉高。复位时的程序代码如下:复位后将等待DHT11的回应,代码如下:响应阶段总线为低电平,这时DHT11表明发送了回应信号,发送信号结束后第二次把总线拉为高电平大概80us,准备发送下一次的数据,每一位数据都需要经过50us的延迟,低电平的时间空隙开始检测信号,当感应到到高电平时则读读到的数据位为1,低电平时为0。具体如下图5.3、5.4所示。图5.4 读取到“1”时序图图5.5 读取到“0”时序图程序代码设计如下:5.2.3蓝牙设计本设计该模块是可以将模块通过USB转TTL连接电脑的串口,配置模块的名字、波特率、从机/主机等参数。VCC接3.3V、GND接GND、TXD接RXD、RXD接TXD, KEY接电源3.3V/5V时(VCC),此时蓝牙模块HC05的指示灯STA呈现一个慢闪的状态,大概是一秒钟亮一次,这时候就表明模块已经成功变成了AT状态,而且这个时候的波特率稳定在38400。先通过蓝牙串口调试助手输入需要配置的AT指令给蓝牙模块测试和配置是否正常。AT指令配置如下表5.1:表5.1 AT配置指令集指令名称指令响应参数测试指令ATOK无模块复位(重启)AT+RESETOK无设置/查询设备名称AT+NAME?1、 +NAME:OK成功2、 FAIL失败默认名称:“HC-05”Param:蓝牙设备名称AT+NAME=OK获取模块蓝牙地址AT+ADDR?+ADDR:OKParam:模块蓝牙地址设置/查询配对码AT+PSWD?+ PSWD : OK默认名称:“1234”Param:配对码AT+PSWD=OK设置/查询模块角色AT+ ROLE?+ ROLE:OKParam:参数取值如下:0从角色(Slave)1主角色(Master)2回环角色(Slave-Loop)默认值: 0AT+ROLE=OK该模块默认配置的名字为HC-05,通过发送“AT+NAME=WP6”,把模块的名称修改为WP6,还有其他指令配置及查询,详情如下图5.5所示。图5.6 AT配置调试图也可以通过烧入程序对模块进行初始化,修改模块的名字、波特率等,如下图所示:从图中可以看出,蓝牙模块被命名为“WP6”,在从机模式下,此时的波特率为9600bps,有1个停止位,没有校验位。图5.7 蓝牙配对视图配置好的模块就可以将模块与蓝牙主机设备连接,此时将KEY断开,配对成功后,通过串口调试助手和手机端的蓝牙串口助手即可以执行接收和发送数据的操作。6组装与调试本系统的组装与调试整体如下:第一步,将DHT11连接单片机,再用USB转TTL连接单片机的串口,通过串口通信先测试DHT11是否能正确的获取到温湿度值,代码如下图所示:经过不断的调试与测试,成功获取到温湿度的数值,结果如下图6.1所示:图6.1 串口测试的温湿度值图第二步,把蓝牙HC05模块连接到单片机,此时需将KEY接到高电平,要用于模块的初始化,可以进入AT状态,这时候就可以通过代码发指令修改蓝牙模块的参数和名字,如下图所示:经过多次调试,手机端的蓝牙串口助手正确的接收到温湿度的实时值,具体如下图6.2所示。图6.2 蓝牙接收的温湿度值图 本设计的总体电路是单片机与DHT11、HC05连接在一起实现了温湿度检测的整体系统设计,通过DHT11读取到仓库的温度和湿度,存储到单片机,HC05调用获取到的温湿度数值,手机通过连接HC05蓝牙模块,调试蓝牙串口助手即可以看到温湿度的实时值。7 总结毕业设计是大学最后一个作业环节,它结合了我们大学所学的专业知识,不仅仅是理论部分,最重要是锻炼了自己动手操作的能力,让我们把所学的知识应用的实际当中去。本设计是基于Cortex-M4内核的仓库温湿度监控系统,主要以STM42407为主板,包含了STM最小系统、电源模块、报警模块等,外增加了温湿度传感器、蓝牙模块形成了该监控系统。一套完成的电路通过由以上模块设计而成,整个系统通过与软件Keil5编写程序来完成。系统将温湿度传感器检测到温度和湿度的数值发送到单片机,然后通过UARST发送到蓝牙手机。结束了这个设计回顾整个过程是比较曲折的,首先是在硬件电路设计上,由于之前的基础不太扎实,导致需要学习的东西比较多,但是也学习到了很多东西,老师和同学们们都给了我很多资料和思路,经过几个月的学习奋斗,最后才完成了这个设计的电路系统。除此之外,软件用Keil5编程序,结束后还要经过多次的运行与调试,并不断的完善,最后比较理想的实现了本次设计的目标。经过本次设计,我学会了如何去学会一些新的知识并应用到实际当中去,除了这方面,还让我跟同学、老师的关系更近了一步,同学们之间相互帮忙,相互鼓励,有一些不懂的地方大家一起讨论学习,一起进步,这样的日子可能以后也很少了吧。总之,在以后的日子里要脚踏实地学习,活到老学到老。参考文献1陈权昌,李兴富.单片机原理与应用M.广州:华南理工大学出版社,2007.82 孙浩文.基于单片机的温湿度采集系统设计J.机电工程.2015.3 郑莉,董渊,张瑞丰.C+语言程序设计(第 3 版).北京:清华出版社.2004.4 杨志忠.数字电子技术M.北京:高等教育出版社.2003.125 徐江梅.单片机实用技术M.北京:机械工业出版社.2006.126 李庆亮.C 语言程序设计实用教程M.北京:机械工业出版社.2005.37 胡宴如.模拟电子技术M.北京:高等教育出版社.2008.68 张小明.探究基于单片机的温度控制系J.电子制作.2015.9 王静,刘俐.单片机应用技术(C 语言版).北京:电子工业出版社,2012.810 高峰.单片微型计算机原理与接口技术(第 2 版).北京:科学出版社.2007.11 康维新.传感器与检测技术.M北京:中国轻工业出版社.2009.12吴瑕.智能温度报警器的研究与设计.D天津:天津大学.2009.13罗寿欢.基于单片机的大棚温湿度控制器设计J.数字通信世界,2020(02):195.14盛强.基于AVR单片机和nRF24L01的温湿度检测装置设计J.工业控制计算机,2019,32(12):153-154.15王子亮.基于单片机的温湿度监控系统设计研究J.现代盐化工,2019,46(06):72-73.16薛晶晶,井航,雷文礼,杨延宁.基于单片机的粮库温湿度控制系统的设计J.电子世界,2019(16):122-123+126.17姚刚,司维超,顾佼佼,董庆超.基于单片机的温湿度实时监控系统设计与实现J.计算机时代,2019(08):29-32+36.18汪琪,杨洪涛.基于单片机的室内环境监测与净化系统J.科技视界,2019(20):18-19+28.19严学阳,杨笔锋,张杰,刘语嫣.基于STM32的手持环境监测系统设计J.微型机与应用,2017,36(05):88-90+94.20祖一康,徐妙婧.基于STM32的温湿度采集系统设计J.黄冈师范学院学报,2015,35(06):60-63.谢 辞时光飞逝,为时几个月的毕业设计即将结束了,这也意味者我在北京理工大学珠海学院的大学生涯也即将结束。来不及感叹,在学校这四年来的努力与付出,有汗水当然也有很多的收获。在做毕设设计的这段时间,对于自身的能力有了很大的提高,在这之前,可能对于单片机原理、数字电子电路和模拟电子电路等专业课只有一些相对比较理论的理解,但是经过这几个月,我学会了将这些学到的知识如何应用。所有的这些都离不来老师和同学们的帮助,在这里我向他们表示更感谢。首先,我非常感谢我的毕业设计的指导老师潘颖老师。潘颖老师是一位很亲切、可爱的老师,在大三学习微机原理的时候就认识了这位老师,她讲课很清晰,课后也很负责作业的批改和指导,于是我选择了这位老师作为我的毕业设计的指导老师。毫不例外,从选题、开题报告、毕业设计作品的设计、论文的撰写、修改她都给予了我很多的指导和监督,老师一路来都很细心的帮我严格把关,分析设计是否合理,并在我遇到难题的时候给我开拓思路,时刻都鼓励着我,让我有信心的完成了这次毕业设计和论文。其次,我要感谢我的几个给予我帮助的师兄师姐,给我提供了设计的思路和资料等等,也教会我怎样去查询学习资料,如何自学,让我在大学期间更顺利的完成了课内知识外还学习了一些自己比较感兴趣的知识。也感谢我们信息学院的辅导员蒋辉霞老师,在大学期间跟我们开了很多次班级会议、专业会议等,一次次的指引、监督着我们顺利完成学业,也给了一些心理的疏导。还有我们的班级导师姚远考试,让我们信息工程2班有了很大的凝聚力,大家都计较团结。 接下来,感谢我的室友们,大一刚入学的时候,从遥远的家乡来到这个陌生的城市,由于水土不服身体不舒服,是你们照顾了我,安慰我,我们之前亲如姐妹,虽然我们之前也可能有过摩擦,但是在大学里确实最好的一家人。我们相互陪伴了四年,一起吃饭,一起上课,一起出去外面玩,转眼间我们就要毕业了,以后大家各奔东西,但愿我们都顺顺利利,平平安安,前程似锦!最重要是要感谢我的父母家人,他们是我在求学路上最坚强的后盾,他们对我无私的爱与照顾是我人生不断前进的动力。感谢他们对我的包容和支持,无论在什么时候,遇到什么困难、不开心的事,他们都会给我很暖心的安慰和关心。我将在日后的学习和工作生活中把感恩之心化作动力,回报社会。最后,感谢所有帮助过我、陪伴着我的伙伴们,谢谢你们一路来的关心与支持,没有你们,可能就没有现在这么乐观我。时光荏苒,初心不变。在以后的日子里,我会不断努力提升自己,不辜负你们给予我的帮助和关心。在此向北京理工大学珠海学院的全体老师表示由衷的谢意,感谢老师们四年来对我的辛勤栽培! 附 录附录1主程序#include stm32f4xx_it.h#include misc.h#include stm32f4xx_gpio.h#include dht11.h#include usart3.h#include dht11.h#include beep.h#include delay.h#include led.h#include hc05.h#include usart.h#include string.hu8 temp_min=15;u8 temp_max=40;u8 humi_min=25;u8 humi_max=90;int main(void) delay_init(168);LED_Init();BEEP_Init(); delay_ms(50);u8 buf5=0;u8 reclen;usart3_init(9600);delay_ms(1000); while(HC05_Init() delay_ms(100); HC05_Set_Cmd(AT+NAME=WP6); /HC05_Set_Cmd(AT+UART=9600,0,0);DHT11_Init();while(1)if(DHT11_Read_Data(buf)=0) u3_printf(Temperature:%d,Humidity:%drn,buf2,buf0);else/printf(dht11 read data errorrn);if(USART3_RX_STA&0X8000)reclen=USART3_RX_STA&0X7FFF;USART3_RX_BUFreclen=0;USART3_RX_STA=0; if (buf2temp_max)|(buf0humi_max)PFout(7)=0; else PFout(7)=1;delay_ms(6000);附录2DHT11温湿度传感器子程序#include dht11.h#include delay.hvoid DHT11_Rst(void) DHT11_IO_OUT(); DHT11_DQ_OUT=0; delay_ms(20); DHT11_DQ_OUT=1; delay_us(30); 8 DHT11_Check(void) u8 retry=0;DHT11_IO_IN(); while (DHT11_DQ_IN&retry=100)return 1;else retry=0; while (!DHT11_DQ_IN&retry=100)return 1; return 0;u8 DHT11_Read_Bit(void) u8 retry=0;while(DHT11_DQ_IN&retry100) retry+;delay_us(1);retry=0;while(!DHT11_DQ_IN&retry100)retry+;delay_us(1);delay_us(40);if(DHT11_DQ_IN)return 1;else return 0; u8 DHT11_Read_Byte(void) u8 i,dat; dat=0;for (i=0;i8;i+) dat=1; dat|=DHT11_Read_Bit(); return dat;u8 DHT11_Read_Data(u8 *buffer) u8 *buf=buffer;u8 i;DHT11_Rst();if(DHT11_Check()=0)for(i=0;i5;i+) bufi=DHT11_Read_Byte();if(buf0+buf1+buf2+buf3)=buf4)return 0;else return 1;return 0; u8 DHT11_Init(void)GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOG, &GPIO_InitStructure); DHT11_Rst();return DHT11_Check();附录3HC05蓝牙子程序#include delay.h#include usart.h#include usart3.h#include hc05.h#include led.h #include string.h#include math.h#include dht11.hu8 HC05_Init(void)u8 retry=10,t;u8 temp=1;GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF|RCC_AHB1Periph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOC, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOF, &GPIO_InitStructure); GPIO_SetBits(GPIOF,GPIO_Pin_6); while(retry-)HC05_KEY=1; delay_ms(10); u3_printf(ATrn); HC05_KEY=0 for(t=0;t10;t+) if(USART3_RX_STA&0X8000)break;delay_ms(5);if(USART3_RX_STA&0X8000) temp=USART3_RX_STA&0X7FFF;USART3_RX_STA=0; if(temp=4&USART3_RX_BUF0=O&USART3_RX_BUF1=K)temp=0;break;if(retry=0)temp=1; return temp; u8 HC05_Get_Role(void) u8 retry=0X0F;u8 temp,t;while(retry-)HC05_KEY=1; delay_ms(10);u3_printf(AT+ROLE?rn);for(t=0;t20;t+)delay_ms(10);if(USART3_RX_STA&0X8000)break;HC05_KEY=0; if(USART3_RX_STA&0X8000) temp=USART3_RX_STA&0X7FFF; USART3_RX_STA=0; if(temp=13&USART3_RX_BUF0=+) temp=USART3_RX_BUF6-0;break;if(retry=0)temp=0XFF;return temp; u8 HC05_Set_Cmd(u8* atstr) u8 retry=0X0F;u8 temp,t;while(retry-)HC05_KEY=1; delay_ms(10);u3_printf(%srn,atstr);HC05_KEY=0;for(t=0;t20;t+)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕业论文


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!