一种基于STM32的温湿度检测系统
2020-12-09陈泳屹
◆陈泳屹
(郑州大学软件学院)
在追求生产质量的过程中,我们愈发关注在生产活动中相关外界因素对生产活动的干扰,温度和湿度就是极为常见却又极易对我们的生产活动造成巨大影响的两种外界因素。于是我们在各种各样的生产环境下对温湿度都有着较高的要求,防止对我们的生产活动产生负面影响从而造成经济损失。然而,在一些特殊的检测环境下,我们就需要相应的检测装置来适配,从而实现更为方便、更为贴合生产实际要求的高效率检测。于是我设计了一种基于STM32的温湿度检测系统,以便能够适应更好的生产生活的需要。
1 系统概述
本装置依托于无线传输、温湿度检测、自动报警等功能,应用于生产活动环境下的温湿度检测,能够在一定的距离下进行相关的控制操作。是集温湿度信息采集、危险情况报警以及无线接收信息于一身的温湿度检测系统。该系统采用的是STM32F1系列芯片,DHT11系列温湿度传感器、HC-SR501热释电人体红外感应模块、74HC595数码管以及HC-05蓝牙通信模块等。
2 系统功能
该系统分为两种工作模式:人工工作模式和无线工作模式。两种工作模式可以实现有人和无人两种情况下对温湿度检测系统的操作,系统工作流程如图1所示。
2.1 人工工作模式
人工工作模式下,使用者可以通过装置上的按键来操纵装置功能。当安装在本装置上的热释电人体红外感应模块检测到有人在0~3米范围内时,便会开启人工模式,实时温度和湿度会显示在4位数码管上。当装置实时检测的温度或者湿度数值达到我们所设置的阈值就会产生报警,直到实时的温湿度数值都降到我们所设置的阈值以下后才会自动关闭报警。
2.2 无线工作模式
在无线工作模式下,操作者可利用移动设备上的蓝牙功能与该装置的HC-05蓝牙模块相连接,并通过发送特定信号便能够实时获取温度和湿度相应的数值;发送“温度”就可以实时获取温度信息,发送“湿度”就可以实时获取湿度信息。当装置实时检测的温度或者湿度数值达到我们所设置的阈值就会触发报警,直到实时的温湿度数值都降到我们所设置的阈值以下后才会自动关闭报警。
图1 系统工作流程图
3 系统硬件组成
3.1 最小系统
该装置主要采用了STM32F103ZET6芯片作为主控,这款芯片隶属于意法半导体公司旗下的 ARM Cortex-M3系列微控制器,拥有72MHz频率的CPU和具有高达1MB的FLASH。拥有一流的外设和低功耗、低压操作实现高性能,同时还以可接受的价格、利用简单的架构和简便易用的工具实现了高集成度。
3.2 温湿度传感器
该装置的温湿度传感器采用的是DHT11芯片,这是一款有已校准数字信号输出的温湿度复合型传感器,它包括一个电阻式感湿元件和一个NTC测温元件,并且与一个高性能的8位单片机相连接,具有响应快、抗干扰能力强、性价比极高等优点。其精度湿度为±单片机相,温度±温度,量程湿度20%~90%RH,温度0~50度。该芯片具有4个引脚分别为VCC、DATA、NC、GND,与微处理器的硬件连线如图2所示。
图2 温湿度传感器引脚连接图
3.3 74HC595四位数码管
该装置采用的74HC595四位数码管为共阳极型,一共有3个引脚,分别为RCLK、DIO、SCLK。采用两片74HC595位移缓存器级联的方式来进行信号的输入。其中SCLK是上升沿写入数据,RCLK是上升沿数据锁存显示,DIO是数据输入。我们通过四位数码管能够在前两位显示温度的数值,在后两位显示湿度的数值。
3.4 HC-SR501人体红外感应器
HC-SR501热释电人体红外感应模块的加入是为了确保在人工工作模式下能够不受意外的外力作用按键导致错误的操作,只有当人靠近装置至0~3米时才会开启相应的人工工作模式。HC-SR501热释电人体红外传感器具有被动式红外探头,加上菲涅尔透镜能够在较大的探测角度中灵敏地捕捉人体红外线的存在,其具有 3个引脚分别是VCC,DATA,GND。
3.5 HC-05蓝牙通信模块
蓝牙通信作为该装置的无线通信方式,具有传输稳定,传输效率高等特点。使用 AT指令可以对HC-05蓝牙模块进行相应的初始化工作。首先配置蓝牙模块的相应模式,我们通过USB-TTL模块将蓝牙模块与 PC进行连接并进行初始化调试,设置其为从机模式(AT+ROLE=0),设置相应的蓝牙密码(AT+PSWD=牙密码(,设)和波特率(AT+UART=115200,1,0),将蓝牙模块设置为任意连接模式(AT+CMODE=1),HC-05蓝牙模块与MCU连接如图3所示。
3.6 报警模块
报警模块由LED灯与蜂鸣器组成。当DHT11温湿度传感器模块检测到的温度或湿度超过初始设定的阈值时,就会引发蜂鸣器报警以及LED灯的闪烁,直到检测到的温湿度低于所设定的阈值后,才会取消蜂鸣器报警及闪烁。
图3 HC-05蓝牙引脚连接图
4 设计验证
用以STM32作为核心搭建起相应的实物进行设计验证,将系统初始化并上电运行,电源指示灯亮起,各项传感器模块正常工作,我们也能够接收到实时的温湿度信息,如图4所示,有人靠近装置时会被红外传感器检测到并在四位数码管上显示相应的温湿度数值信息,如图5所示。这时提高室内温度,发现当温度超过我们所预先设定的阈值(29。)时,便会触发相应的报警。
图4 温湿度测试采集结果
图5 实物测试图
5 结语
本文设计构思一种基于STM32的温湿度检测系统,可以通过4位数码管以及蓝牙模块的通信来获取当前的温湿度信息。实物验证表明,该设计构思具备可行性,能够有效地提取环境温湿度并判断报警,数据可靠性高,能够应用于大部分生产生活场景。