您好, 访客   登录/注册

基于stm32蓝牙监测室内温湿度计的设计

来源:用户上传      作者:

  [摘 要]温度与湿度与人们的生活息息相关。在工农业生产、气象、环保、国防、科研等部门,经常需要对环境温度与湿度进行测量及控制。准确测量温湿度在生物制药、食品加工、造纸等行业更是至关重要的。传统的温度计是用水银柱来显示的,虽然结构简单、价格便宜,但是它的精确度不高,不易读数。传统湿度计采用干湿球显示法,不仅复杂而且测量精度不高。而采用stm32f4对温湿度进行测量控制,不仅具有控制方便,简单和灵活等优点,而且可以大幅度提高温度控制的技术指标。用TFTLCD数码管来显示温湿度的数值,看起来更加直观。本设计介绍了一种以stm32f4为主要控制器件,以DHT11为数字温度传感器的新型数字温湿度计,并且可以检测周围环境湿度,并且与人体适宜湿度相比较,若超出人体适宜湿度范围则会发出警报。本设计主要包括硬件电路的设计和系统软件的设计。
  [关键词]温湿度传感器;TFTLCD;stm32f4;DHT11;ATK-HC05;
  中图分类号:G63 文献标识码:A 文章编号:1009-914X(2019)04-0072-01
  一、系统设计方案及硬件设计
  1.1 系统设计方案
  本方案使用stm32f4作为控制核心,利用温湿度传感器DHT11作为温湿度测量元件,显示电路采用TFLCD模块显示,控制板块采用stm32f4开发板。
  1.2 系统硬件介绍
  1.2.1 stm32f4介绍
  ST(意法半导体)推出了以基于ARM®; Cortex?-M4为内核的STM32F4系列高性能微控制器,其采用了90 纳米的NVM 工艺和ART(自适应实时存储器加速,Adaptive Real-Time MemoryAccelerator?)。ART技术使得程序零等待执行,提升了程序执行的效率,将Cortext-M4的性能发挥到了极致,使得STM32 F4系列可达到210DMIPS@168MHz自适应实时加速器能够完全释放Cortex-M4 内核的性能;当CPU 工作于所有允许的频率(≤168MHz)时,在闪存中运行的程序,可以达到相当于零等待周期的性能STM32F4系列微控制器集成了单周期DSP指令和FPU(floating point unit,浮点单元),提升了计算能力,可以进行一些复杂的计算和控制。
  1.2.2报警电路
  蜂鸣器是一种一体化的电子通讯响应器。在本系统中,当显示数值超出设定值38~65范围时报警.
  1.2.3 DHT11数字传感器介绍
  DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该產品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为4针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。
  1.2.4 TFTLCD介绍
  TFT-LCD 即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD 与无源 TN-LCD、STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT-LCD 也被叫做真彩液晶显示器。 TFTLCD模块,该模块有如下特点:
  1,2.4’/2.8’/3.5’/4.3’/7’ 5 种大小的屏幕可选。
  2,320×240 的分辨率(3.5’分辨率为:320*480,4.3’和 7’分辨率为:800*480)。
  3,16 位真彩显示.
  4,自带触摸屏,可以用来作为控制输入。
  1.2.5ATK-HC05蓝牙传感器介绍
  ATK-HC05是一款高性能的主从一体蓝牙串口模块,可以同各种带蓝牙功能的电脑、蓝牙主机、手机、PDA、PSP等智能终端配对,该模块支持非常宽的波特率范围:4800~1382400,并且模块兼容5V或3.3V单片机系统,可以很方便与您的产品进行连接。使用非常灵活、方便。
  二、系统的软件设计
  系统程序主要包括主程序、TFTLCD模块控制程序、DHT11控制模块程序、蜂鸣器报警子程序、延时子程序、ATK-HC05蓝牙串口控制模块程序。
  2.1 系统软件主程序流程
  程序开始后,先对TFTLCD模块显示进行初始化,通过延时一秒等待DHT11温湿度传感器启动,并给ATK-HC05模块供电。DHT11温湿度传感器启动后,对其进行数据初始化后,进行温湿度信息的采集、转化、处理,将处理过后的的数据传给蓝牙模块,然后由蓝牙模块控制TFTLCD液晶显示器并显示数据,如果湿度的显示数值超出设定值38~65范围,就启动蜂鸣器报警模块.。DHT11温湿度传感器经过一次数据采集和处理后需返回一次延时程序重新初始化采集温湿度数据。
  2.2 DHT11数据采集流程
  DHT11 数字湿温度传感器采用单总线数据格式。即单个数据引脚端口完成输入输出双向传输。首先主机发送开始信号,即:拉低数据线,保持 t1(至少 18ms)时间,然后拉高数据线 t2 (20~40us)时间,然后读取 DHT11 的响应,正常的话,DHT11 会拉低数据线,保持 t3(40~50us)时间,作为响应信号,然后 DHT11 拉高数据线,保持 t4(40~50us)时间后,开始输出数据。
  2.3 TFTLCD数据显示流程
  首先对TFTLCD进行初始化显示,在程序中应先对显示器进行初始化,然后循环调用DHT11模块对采集的温度和湿度进行处理,然后利用蓝牙串口模块对TFTLCD的温湿度的显示进行控制。
  三、结论
  微型计算机在智能化电器发展中起着至关重要的作用,而单片机经济实用、开发简便,因而在工业控制、家电智能化等领域占据了广泛的市场。本次设计是基于stm32f4的室内湿度计设计,当超出人体适宜湿度38~65时蜂鸣器发出警报,基本实现了设计要求。但是在硬件软件方面仍然存在着不足。在硬件选择方面,由于采用湿度传感器DHT11,使电路链接更加方便,并且容易读数,简化了设计。但是由于湿度传感器DHT11的精度不够,只能显示个位而不能精确到小数位,从而存在精确度较差的缺陷。在软件编程方面,初次完成的程序十分复杂,在很多方面联系不上,我们在网上查找了很多的资料,也看了一些教学视频,来不断的完善程序。而且通过和同学、老师的交流讨论,我们学到了很多编程方面的技巧和思想,同时也精简了部分程序。虽然已经精简了部分程序,但仍然觉的程序比较复杂,还应该多多学习C语言的编程技巧。
  参考文献:
  [1]《ARM体系结构与编程》,杜春雷,清华大学出版社,2003-02-01 ;
  [2]《STM32嵌入式系统开发实战指南》,李志明,檀永,徐石明,丁孝华,桑林,机械工业出版社,2013-5 ;
转载注明来源:https://www.xzbu.com/1/view-15331544.htm