基于stm32的室内环境监测系统 9746字_基于stm32的室内环境监测系统设计

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

    毕 业 设 计 说 明 书

    课题名称

    基于STM32的室内环境监测系统

    院    系

    计算机与软件学院

    专    业

    嵌入式技术与应用

    班    级

    嵌设1913

    学    号

    1902423134

    学生姓名

    刘倚帆

    指导教师

    白顺科

    2022 年  5 月  7 日

    计算机与软件学院

    毕业设计论文诚信承诺

        

    我谨在此承诺本人所写的毕业论文《基于STM32的室内环境监测系统》由本人独立完成没有抄袭行为凡涉及其他作者的观点和材料均作了注释与说明若有不实后果由本人承担。

    承诺人签名

    2022年  5月 7日

    目录

    1 绪论...........................................................1

        1.1 背景和意义.............................................1

        1.2系统设计目标..................................1

    2 系统分析与设计.................................................2

    3 硬件设计 ......................................................3

        3.1硬件总体设计............................................3

        3.2硬件选型.................................................4

         3.2.1 STM32F103C8T6最小系统..................4

         3.2.2 DHT11模块................................4

         3.2.3 MQ-2模块.....................................5

         3.2.4 光敏电阻模块................................6

         3.2.5  0.96OLED模块.........................7

         3.2.6有源蜂鸣器模块.........................8

         3.2.7 继电器模块...................................9

         3.3 小结..............................................10

    4 软件设计.....................................................11

         4.1 软件总体设计..........................................11

         4.2 主程序设计............................................12

         4.3 温湿度监测设计........................................13

         4.4 烟雾监测设计..........................................15

         4.5 光照监测设计.........................................17

         4.6 屏幕显示设计.......................................18

    5 系统实现与测试............................................20

         5.1 系统的实现..................................21

         5.2 系统的测试.....................................21

    6 结论.......................................................23

    致谢...........................................................24

    参考文献................................................25

    摘要

    本课题旨在研究温湿度检测控制系统通过DHT11温湿度传感器检测环境温湿度将采集到的数据传给单片机进行处理单片机处理后当温湿度高于或者低于设定阀值后进行LED指示灯报警实现自动化温湿度控制系统。采用STM32F103C8T6最小系统作为主控芯片实现最小系统、温湿度传感器、LED灯指示电路、程序下载电路组成实现本次课题的硬件电路的设计与搭建。通过Keil5软件编写单片机程序设置温湿度的阀值采用Altium Designer设计绘制本次课题的原理图软硬件结合设计进行仿真实现本次课题的功能。本次课题使用到的技术KEIL软件编译程序、Altium Designer设计原理图并仿真、温湿度传感器的使用、数码管驱动方法、单片机最小系统。

    关键词环境监测光敏电阻模块STM32F103C8T6芯片DHT11模块 MQ-2模块

    Summary

    The purpose of this project is to study the temperature and humidity detection and control system: detect the ambient temperature and humidity through the DHT11 temperature and humidity sensor, transmit the collected data to the microcontroller for processing, and after the microcontroller is processed, when the temperature and humidity are higher or lower than the set threshold, the LED indicator alarm is carried out to realize the automatic temperature and humidity control system. The STM32F103C8T6 minimum system is used as the main control chip to realize the minimum system, temperature and humidity sensor, LED lamp indication circuit, and program download circuit to realize the design and construction of the hardware circuit of this project.Through Keil5 software, we write a microcontroller program, set the threshold of temperature and humidity, use Altium Designer design to draw the schematic of this project, combine software and hardware design, and simulate the functions of this project. The technologies used in this project are the KEIL software compiler, Altium Designer design schematics and simulations, the use of temperature and humidity sensors, the digital tube drive method, and the microcontroller minimum system.

    Keywords: Environmental Monitoring;Photoresistor Module; STM32F103C8T6 chip;DHT11 module; MQ-2 module

    1 绪论

    本作品功能主要是监测室内温度、湿度、光照情况、明火情况。在研究温湿度监测控制系统:通过温湿度传感器监测环境温湿度判断是否烟雾报警将采集到的数据传给单片机进行处理单片机处理后当温湿度高于或者低于设定阀值后进行LED指示灯报警实现自动化温湿度控制和烟雾监控系统。开发设计工具有STM32F103C8T6芯片、DHT11模块、MQ-2模块、光敏电阻模块、0.96OLED模块、有源蜂鸣器模块。 

    1.1 背景和意义

    目前因为环境温湿度不适所引发的疾病很多都是因为周围环境的变化温湿度差异变化大不容易控制因此造成人体各类病症急发在这种情况下就需要对环境温湿度的强力控制时时能够监测环境变化进行有效的控制实现环境温湿度的恒湿恒温满足人们日常的工作学习在这种现实的背景条件下就应该快速的设计出温湿度控制系统。因此本课题研究内容为测量室内温湿度变化光照和有害气体情况。

    1.2 系统设计目标

    本设计完成基于STM32的房间环境监测系统设计与实现将可直接放入普通的日常生活的房间里面以供使用利用多个传感器采集数据并且可以放置在多个房间里面同时使用通过无线通信传感器将数据发送到主系统上再通过屏幕直接显示多个传感器采集到的数据供人们观看。

    设计主要实现监测室内温度湿度、光照情况、烟雾情况的反馈硬件各个传感器不停地监测着室内环境的温度、湿度、烟雾浓度、光照情况并将监测到的各个情况显示在显示屏上以温度、湿度、烟雾浓度、是否有光照的值来排序显示。由温湿度传感器监测温湿度当超过预设值控制蜂鸣器报警。使用光敏传感器监测光线强度控制LED灯的开关。用火焰传感器监测当前环境是否有火焰蜂鸣器报警。用屏幕显示各项数据。

    2 系统分析与设计

    嵌入式系统是由软硬件相结合可以单独运作的器件其可以根据用户需求而定制的专用计算机系统优点包括功能多、可靠性高、成本低、体积小、功耗低等等。嵌入式系统大多数满足了用户的特定所需只需要打开电源给其供电就可以正常使用操作简单容易。随着技术的发展单片机的应用已经普及到了大小工程中目前市面上的单片机产品太多太多。

    我们日常生活的房间的温度湿度等随着这些指数的改变都会影响生活环境质量从来影响我们的健康。室内环境监测系统设计能够对人们居住的室内环境的温度、湿度、光照情况和安全度进行监测反馈能够更好的提高大家的生活质量和健康。图2.1为设计的硬件系统功能图。

     

    图2.1硬件系统功能图

    本设计还需要做以下准备1、熟悉使用Keil uVision5软件编译程序对建立工程文件、编译过程、报错提示、修改程序、下载程序必须清楚这样才能对单片机软件程序与代码改错有更深刻的理解与记忆。2、熟悉Altuim Designer仿真软件这款软件能够创造良好的硬件环境对于操作者而言必须熟悉掌握怎样调用元器件、元器件之间走线。3、温湿度传感器的使用必须熟悉掌握传感器的使用方法怎样读数据、怎样写数据、怎样将数据进行转换这些是程序代码设计时需要搞明白的问题。

    3 硬件设计

    为实现本作品功能所用的硬件选择有STM32F103C8T6芯片、DHT11模块、MQ-2模块、光敏电阻模块、0.96OLED模块、有源蜂鸣器模块。 以下为选用硬件材料的介绍。

    3.1 硬件总体设计

    本作品的架构为一个主控芯片作为整个系统的控制核心温度元器件和湿度元器件用来监测室内的空气温度和湿度烟雾元器件监测室内的有害情况是否有火灾等危险情况光敏监测元器件监测室内的光照情况判断是否有光照显示元器件用来显示反馈所有监测的具体情况报警和空调元器件是当监测情况有异常时会开启工作。室内环境监测系统设计能够对人们居住的室内环境的温度、湿度、光照情况和安全度进行监测反馈能够更好的提高大家的生活质量和健康。图3.1为本设计的整体硬件原理图。

     

    图3.1 硬件原理图

    3.2 硬件选型

    在设想定下后就需要具体选择合适的各种传感器去实现本作品的功能。本作品用到的硬件有STM32F103C8T6芯片、DHT11模块、MQ-2模块、光敏电阻模块、0.96OLED显示模块、有源蜂鸣器模块、继电器模块采购的渠道为淘宝店铺。以下是本设计选择的硬件型号细节和各部分原理图的介绍。

    3.2.1 STM32F103C8T6芯片

    在主控芯片的选择上首先设想使用32位的单片机控制之后又从众多32位单片机中选了ST公司的STM32F103C8T6芯片作为开发设计工具的芯片。这款芯片是STM32芯片中的基础款有64KB的存储大小37个GPIO,内置IIC、SPI、CAN通信方式是众多嵌入式学习者的第一选择也是现在网上可查资料较多的一款32位单片机芯片方便后面开发查找到相对应的资料。但芯片无法直接用来进行开发所以直接购买了基于此款芯片的最小系统可以直接拿来进行开发设计方便快捷图3.2为STM32F103C8T6芯片。

     

    图3.2 STM32F103C8T6芯片

    3.2.2 DHT11模块

    在温度元器件和湿度元器件的选择上没有选择两个传感器而是选择了一个DHT11温湿度数字传感器可以把温湿度合并在一个传感器上监测这是一款自带数据校准的单向数字信号输出的可同时监测温度和湿度的复合传感器它使用专门的数字模块采集技术和温湿度传感技术稳定性可靠、响应快抗扰的能力更强。具体的购买上选择的是DHT11的模块上面有三个引脚两边两个用于给传感器供电工作电压在3.3V-5V使用单片机3.3V引脚直接给它供电就行还有一个引脚用于通信。模块上还有带了一个LED灯上电后会亮更加方便我们观察传感器的使用情况图3.3为DHT11模块样图。

     

    图3.3 DHT11模块

    DHT11温湿度传感器DATA引脚与单片机PB5引脚相连VCC引脚和GND引脚与单片的3.3V引脚和GND引脚相连图3.4为DHT11的连接图。

     

    图3.4 DHT11连接图

    3.2.3 MQ-2模块

    在烟雾元器件的选择上选择了MQ-2烟雾传感器模块此款传感器使用的是气敏材料二氧化锡此材料的特性是在纯净空气中导电率较低所以在有烟雾或其他有害气体浓度过高时其导电性会有变化可以使用单片机去读取这个电压大小来反应有没有烟雾之类的。

    这个购买的也是模块它有四个引脚两个5V供电引脚可以用单片机5V引脚供电一个DO输出引脚这个引脚用来输出数字信号只有浓度高和低两种状态这个高和低的设定由模块上的一个电位器进行调节还有一个是AO输出引脚这个引脚用来输出模拟信号传感器此时输出的是一个电压值可以配合使用单片机的ADC功能读取这个电压值可以转换成具体的浓度数值0.1-0.3V表示相对无污染浓度电压最高可以到4V图3.5为MQ-2模块图。

     

    图3.5 MQ-2模块

    MQ-2烟雾传感器使用模拟输出AO引脚与单片机PA1引脚相连VCC引脚和GND引脚与单片的3.3V引脚和GND引脚相连图3.6为MQ-2连接图。

     

    图3.6 MQ-2连接图

    3.2.4 光敏电阻模块

    在光敏元器件的选择上选择了光敏电阻传感器模块。光敏电阻是一种特制的电阻器它会随着光照强度升高电阻值迅速降低。

    这个购买的也是模块和MQ-2模块类似它有四个引脚两个3.3-5V供电引脚可以用单片机3.3V引脚供电有一个DO输出引脚这个引脚用来输出数字信号也只能判断高和低两个状态由模块上的一个电位器进行调节高和低的设定还有一个是AO输出引脚这个引脚用来输出模拟信号传感器此时输出的是一个电压值可以配合使用单片机的ADC功能读取这个电压值可以转换成具体的光照情况数值判断是否有光照的情况如图3.7。

     

    图3.7 光敏电阻模块

    光敏传感器使用数字信号输出DO引脚与单片机PB6引脚相连VCC引脚和GND引脚与单片的3.3V引脚和GND引脚相连图3.5为光敏电阻传感器连接图。

     

    图3.8 光敏电阻传感器连接图

    3.2.5 0.96OLED显示模块

    显示元器件的选择上常见的有LCD和OLED两种最后选择了0.96寸的OLED显示屏。OLED是一种显示技术有自发光的特性不像LCD屏幕需要背光灯减少了硬件自身产生的功耗更适合有功耗要求的设计。096寸的OLED屏幕分辨率是128*64,与12864LCD分辨率相同但OLED的像素点更多显示的色彩更丰富。OLED屏幕通信方式有IIC和SPI两种方式。能购买的模块有4针脚和7针脚两款4针脚的只有使用IIC通信方式7针脚的两种方式都可以所以选用了7针脚的。

     

    图3.9  0.96OLED模块

    0.96OLED屏幕使用SPI通信方式D0引脚与PA4相连D1引脚与PA5相连RES引脚与PA6相连DC引脚与PA7相连VCC引脚和GND引脚与单片的3.3V引脚和GND引脚相连图3.10为0.96OLED连接图。

     

    图3.10  0.96OLED连接图

    3.2.6 有源蜂鸣器模块

    用于报警的元器件选择了5V低电平触发的有源蜂鸣器模块。此款传感器模块用S8550 PNP三极管驱动有三个引脚VCC接单片机3.3V或5V引脚GND接单片机GND引脚I/O引脚接单片机随便哪个GPIO控制引脚引脚给出一个低电平就可以让蜂鸣器鸣叫不像无源蜂鸣器光给一个直流信号是不工作的要外接一个2K的电阻才能驱动它图3.11为有源蜂鸣器模块图。

     

    图3.11 有源蜂鸣器模块

    有源蜂鸣器IO引脚与单片机PB12引脚相连VCC引脚和GND引脚与单片的3.3V引脚和GND引脚相连,单片机让PB12引脚输出一个低电平蜂鸣器就能工作如图3.12。

     

    图3.12 有源蜂鸣器连接图

    3.2.7 继电器模块

    最后一个作为空调的元器件基于实际无法真的外接一个空调所以选择使用一个5V的继电器模块让它模仿空调的工作模式。

    5V继电器模块有一个信号接收引脚IN由单片机的控制引脚控制、三个电源控制端来给别的硬件供电继电器是硬件设计中比较常用的器件可以把继电器当作开关单片机控制继电器继而控制与继电器相连的硬件开和关。继电器模块上的发光二极管有一个绿色的LED当继电器处于开启状态LED会亮当继电器处于断开状态LED熄灭这个可以表现为空调打开。图3.13为继电器模块图。

     

    图3.13 继电器模块

    继电器IN引脚与单片机PB11引脚相连VCC引脚和GND引脚与单片的3.3V引脚和GND引脚相连,继电器也是低电平触发和有源蜂鸣器工作方式一样单片机让PB11引脚输出一个低电平继电器就能工作如图3.14。

     

    图3.14 继电器连接图

    3.3 小结

    本章节说明了本设计系统中硬件需要提供的一些功能给了一张硬件系统功能图直观的可以看明白根据这些需求功能具体的选择了主控芯片STM32F103C8T6、温湿度传感器DHT11、烟雾传感器MQ-2、光敏监测的光敏电阻传感器、显示用的OLED屏幕、报警用的5V低电平触发的有源蜂鸣器、模仿空调工作的5V低电平触发的继电器。简要说了下它们各自的工作原理和选择这些元器件的原因。

    本章节给出了设计系统的总体原理图简要的说明了各传感器与STM32F103C8T6单片机相连的接口情况并给出了局部的接线示意图能更清晰的查看连接的细节。

    4  软件设计

    本设计的软件编写方面大框架上分为监测、显示、报警三个大部分监测部分软件要编写的功能有温度的监测、湿度的监测、烟雾的监测、光照的监测显示部分是要把监测到的温度、湿度的数值通过屏幕显示出来光照情况则是显示一大致的状态报警部分是在温度超过设定的阈值时进行报警并打开空调代表进行降温在烟雾也超过设定的浓度时进行报警。

    4.1 软件总体设计

    如下图4.1为软件功能框图。

         

     

    图4.1 软件功能框图

    本设计的软件要编写的功能有

    1.温度监测         6.湿度显示

    2.湿度监测         7.光照显示

    3.烟雾监测         8.温度超过阈值报警并打开空调

    4.光照监测         9.烟雾超过阈值报警

    5.温度显示

    这些功能是一个个单独的功能模块好了之后还需要在主程序中进行调用运行使单独的功能组合起来真正实现室内环境监测的系统设计。

    4.2 主程序设计

    主程序文件中主要是在将各个功能模块组合起来逻辑性地调用各个功能模块函数使系统合理的运行。

    要想各功能模块能够调用运行起来首先需要将各个传感器初始化一下这一步就是在把传感器一个个地打开打开后传感器才能工作。

    初始化过后开机界面显示是在让屏幕显示一些内容作为一个显示界面。

    主程序中在不停地调用监测温湿度、烟雾、光照的功能函数硬件各个传感器不停地监测着室内环境的温度、湿度、烟雾浓度、光照情况并将监测到的各个情况显示在显示屏上以温度、湿度、烟雾浓度、是否有光照的值来排序显示如图4.2所示。

     

    图4.2 主程序流程图

    4.3 温湿度监测设计

    温湿度监测功能函数在调用读取温湿度的函数读取成功后将读取到的温湿度显示出来之后判断温度是不是超过了40℃如果满足则打开继电器此时继电器模块上的绿色LED灯亮起模仿打开空调反之关闭继电器模块上的绿色LED灭模仿关闭空调如图4.3所示。

     

    图4.3 温湿度监测功能流程图

    传感器DHT11是单通道数字传感器它一下子会传输5个字节的数据数据是高位先出。在读取温湿度数据时先复位一下传感器然后监测传感器是否存在存在的话读取数据。

    这五个字节第一个字节是湿度的整数部分第二字节是湿度小数部分第三个字节是温度的整数部分第四字节是温度小数部分第五个字节是一个校验数据当前四个字节逻辑加的值等于第五个字节的值时说明读取的数据是正确的。才能将数据传回温湿度监测函数使用。下面代码段就是在判断数据的准确性其中buf[0]中的值是湿度的整数部分buf[1]中的值是湿度的小数部分buf[2]中的值是温度的整数部分buf[3]中的值是温度的小数部分buf[4]中的值是校验字节*sd是传回湿度的指针型变量*wd是传回温度的指针型变量。

    if(buf[0]+buf[1]+buf[2]+buf[3]==buf[4])

            {

                *sd=buf[0];

                *wd=buf[2];

                return 0;

            }

     

    图4.4 温湿度读取流程图

    继电器的开与关一行语句就可以实现下面的代码中就是在判断温度的阈值这里设定的阈值是40。大于40就让PB11输出低电平让继电器打开反之则让PB11输出高电平关闭继电器。GPIO_ResetBits和GPIO_SetBits两个函数是使用STM32固件库开发方式固件文件封装的一些对GPIO引脚进行控制的函数可以直接拿来调用GPIO_ResetBits是令规定的引脚输出低电平它的两个形参就是引脚的具体端口和引脚数GPIO_SetBits同理是让引脚输出高电平。

    if(wd>40)

    {

    GPIO_ResetBits(GPIOB,GPIO_Pin_11);//打开继电器

    }

    else

    {

    GPIO_SetBits(GPIOB,GPIO_Pin_11);//关闭继电器

    }

    4.4 烟雾监测设计

     

    图4.5 烟雾监测流程图

    烟雾传感器使用的是模拟输出模式单片机要读取数据要先开启ADC功能将模拟信号转换成数字信号。下面的代码是在为让读取的数据更加准确连续读取30次数据之后将这30个数据相加的总和除以30算出一个平均值这样的数据更加准确。

    这时得到的数据只是单片机引脚读取到的数字信号的一个值并不是直接的电压值所以还需要将这个数字数据转换成我们能理解的电压值从而进一步去判断室内环境的烟雾浓度大小是不是需要打开蜂鸣器报警。

    for(i=0;i<30;i++)

        {

            ADC_SoftwareStartConvCmd(ADC1,ENABLE);

      while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));

      adc_temp=adc_temp+ADC_GetConversionValue(ADC1);

            delay_ms(1);

        }

    下面的代码就是在判断当电压值大于2.5时去打开蜂鸣器反之关闭蜂鸣器。有源蜂鸣器的开与关和继电器一样一行语句就可以实现下面的代码中就是在判断电压的阈值这里设定的阈值是2.5。大于2.5说明烟雾浓度过高室内环境有危险不适合居住就让PB12输出低电平让蜂鸣器打开反之则让PB12输出高电平关闭蜂鸣器。GPIO_ResetBits和GPIO_SetBits两个函数是使用STM32固件库开发方式固件文件封装的一些对GPIO引脚进行控制的函数可以直接拿来调用GPIO_ResetBits是令规定的引脚输出低电平它的两个形参就是引脚的具体端口和引脚数GPIO_SetBits同理是让引脚输出高电平。

    if(dy>2.5)

    {

    GPIO_ResetBits(GPIOB,GPIO_Pin_12);

    }

    else

       GPIO_SetBits(GPIOB,GPIO_Pin_12);

    4.5 光照监测设计

     

    图4.6 光照监测流程图

    光敏电阻传感器使用的数字输出模式在读取光照强度时只要读取传感器控制引脚的电平状态就能知道有无光照。这里的光照监测只能监测光照大致的情况就有和无两种情况有光照的时候屏幕上显示内容OK反之显示内容NO。

    下面的代码就是在读取当前光敏传感器数字信号输出引脚的电平状态当电平状态为“0”低电平说明此时的室内环境光照充足当电平状态为“1”高电平说明此时的室内环境光照昏暗。光敏电阻传感器的电平状态读取语句和有源蜂鸣器继电器类似一行语句就可以实现 GPIO_ReadInputDataBit函数是使用STM32固件库开发方式固件文件封装的一些对GPIO引脚进行控制的函数可以直接拿来调用GPIO_ReadInputDataBit函数是用来读取引脚电平状态的它的两个形参就是引脚的具体端口和引脚数。其中RESET代表低电平。

    if( RESET==GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_6))

    {printf("OK\n");//有光照

    OLED_ShowString(60,4,stat1);}

        else

    {

    printf("NO\n");//无光照

    OLED_ShowString(60,4,stat2);

    }

    4.6 屏幕显示设计

    本设计中OLED屏幕上显示的内容有主程序一开始调用的开机界面显示内容函数。这个函数在屏幕上显示了三行内容“TEMP:”、“HUMI:”、“illum:”代表着温度、湿度、光照的监测分别在这三行上显示。OLED屏幕的显示过程就是先告诉屏幕你要在屏幕的哪里显示什么内容例如以下代码OLED_ShowString函数就是在显示字符串类型的内容这个函数有三个形参前两个是坐标第一个数代表列的坐标第二个数代表行的坐标。最后一个形参就是要显示的内容。

    OLED_ShowString(0,0,"TEMP:");

    OLED_ShowString(0,2,"HUMI:");

    OLED_ShowString(0,4,"illum:");

     

    图4.7 屏幕显示流程图

    在温湿度监测函数中也用到了OLED_ShowString函数显示监测到的温度和湿度。显示的位置与显示内容“TEMP:”、“HUMI:”的行的坐标一致列的坐标比其列的坐标大即在“TEMP:”、“HUMI:”后面显示。代码如下例如第一行代码显示的是湿度它显示的坐标是“602”而湿度HUMI:”显示的坐标是“02”行坐标都是2竖向的位置没有变化列坐检标变成了60大于2横向的位置向后移了即湿度的数值在“HUMI:”后面显示出来。

    OLED_ShowString(60,2,hum);

    OLED_ShowString(60,0,temp);

    还有一个显示的内容是光照的情况当有光照的时候在“illum:”内容的后面显示“OK”没有光照的时候显示“NO”。

    5 系统的实现与测试

    本系统制作选用的软件平台为Keil uVision5和Altium Designer,其中Keil uVision5注意安装的时候是以管理员身份运行示图5.1。

     

    图5.1 Keil uVision5安装图

    安装完成进行程序的编写和调试后将编写完成的程序进行编译和运行的测试根据错误和警告的提示修改程序到无程序语法错误。程序生成十六进制文件通过st-link下载到单片机运行整个系统并根据实际运行情况进行程序调试。

    Altium Designer的安装注意的是选择中文版如图5.2所示。

     

    图5.2 Altium Designer安装图

    5.1系统的实现

    将各个硬件组装到系统板上首先需要将各个传感器硬件的管脚通过杜邦线连接到主系统和子系统板上DHT11一共有三个管脚需要和系统板相连接主系统板接线主系统板上DHT11数据管脚连接PG11子系统板上DHT11数据管脚连接PB1其余两个管脚连接在系统板上的电源正极和负极上子系统板接线蜂鸣器也有三个管脚电源正负极和I/O管脚I/O管脚连接在主系统板上的PB8管脚由于主系统板上集成的NRF24L01无线模块的管脚所以直接将NRF24L01无线模块插在集成的管脚上子系统板上连接线需要八根具体连线为CE连接PB10CSN连接PB11SCK连接PB13MOSI连接PB15IRQ连接PB12MISO连接PB14电源正负极。所有器件连接好后如下图5.3所示

     

    图5.3硬件组装图

    5.2系统的测试

    上电测试由于屏幕需要刷新时间有适当的延迟时间才能正常显示出数值变化屏幕显示会随着传感器检测到的值得变化而变化显示实时的将数据直接显示出来方便我们查看至此系统设计完成。

     

    图5.4系统测试图

    如图5.4接电后能够正确的显示出室内环境的参数屏幕显示的三个数据依次为温度、湿度、是否有光照。

    表5.1 传感器测试表

    600

    800

    1000

    1200

    1400

    温度℃

    18

    23

    28

    29

    30

    湿度%

    67

    63

    59

    56

    56

    为了测试系统的准确性我选择对屏幕显示的数据进行一天内五个时间段的测试和记录记录图表如下表5.1从表中反应了五个时间段温度和湿度的实时变化情况。

    6 结论

    本设计说明介绍了设计的软硬件细节软件各部分的分析硬件选材和系统的测试等。软件设计完成的一些功能模块温湿度监测功能模块、烟雾监测功能模块、光照监测功能模块、屏幕显示功能模块和主程序中是如何调用这些功能模块完成整体系统运行的。每个功能模块都有一张功能流程图配合流程图说明了其功能的运行流程并选择了部分重要的代码段进行了分析讲解。

    从软件方面实现了本系统最初的想法。做到了实现监测室内温度湿度、光照情况、烟雾情况的反馈硬件各个传感器不停地监测着室内环境的温度、湿度、烟雾浓度、光照情况并将监测到的各个情况显示在显示屏上以温度、湿度、烟雾浓度、是否有光照的值来排序显示。由温湿度传感器监测温湿度当超过预设值控制蜂鸣器报警。使用光敏传感器监测光线强度控制LED灯的开关。用火焰传感器监测当前环境是否有火焰蜂鸣器报警用屏幕显示各项数据。本设计还有一些不完善的地方目前市场上的产品可以通过蓝牙、互联网连接但是由于我的知识储备量不足还无法做到将其完善。我在嵌入式这个专业的学习还是很短暂的还有很多需要我所学习的地方。

    致谢

    三年好长岁月交替要整整三年春秋。三年好短岁月倏逝转眼便人散杯空。在南工职大匆匆三载19年的我懵懂的踏入大学这扇门至此我执笔写下了这篇收尾的致谢。我将回忆在脑海里缓慢铺陈吉光片羽般的青春一旦落幕便要被长久封存。

        桃李不言下自成蹊。在这里我要感谢我遇到的老师们对我的耐心指导和帮助歌颂师德的诗词也都有了附丽。白顺科老师也是我的毕设指导老师他学识渊博、循循善诱对待学生平易近人激励着我们不断奋进有幸成为白老师的学生真的很幸运在此向您致以诚挚的感谢和至高的敬意

        平生知己感谢相逢平生逢知己方寸岂悠悠感谢大学期间一直帮助我、陪伴我每一程的同学和朋友们衷心的感谢嵌设1913班的同学们感谢海棠苑2栋306的小可爱们你们满足了我对同窗之情的所有渴望和想象我们途径对方最美好的年华见证彼此的成长分享对未来的规划和远大理想三年转瞬即逝我们即将各奔前程那些温馨的点滴都会凝结成青春里最宝贵的回忆。

        初见乍惊欢久处亦怦然。感谢我的男朋友他阳光、帅气、正直、善良是我遇见的特别的人感谢他一路以来的陪伴和包容感谢他对我无微不至的照顾对我迷茫时候的鼓励他就像一束光出现在我的大学时期是他的责任与担当给予我足够的安全感很幸运与他相识相知相恋。愿我们在未来的日子里携手前行用热爱抵御岁月漫长。

        以梦为马不负昭华。感谢一直不曾放弃的自己纵使现在还没有看到胜利的曙光但付出的都会留下足迹。会不断前行不负青春不负此生。

        我怀着沉重的心情作别这一程的风景。书上说天下没有不散的宴席但是书上还说人生何处不相逢不负相传不负盛世无愧自我无愧时代。寥寥数语难诉衷肠致谢词穷总之来日方长。祝各位一路顺风让我们顶峰相见

    参考文献

    [1]孙玉轩. 基于DDS和单片机技术的高频信号发生器设计[J]. 计算机产品与流通,2018(07):112+117.

    [2]王立彪,李超凡.一种基于51单片机的智能室内温控系统设计[J].中国科技信息,2020(11):88-89+13.

    [3]何流,谭文韬,张鹏琴,余建想.基于温度传感器的智能恒温空调系统设计[J].计算机产品与流通,2020(06):144.

    [4]李成浩,刘显明,章鹏,雷小华,陈伟民.温度传感器时间常数测试技术发展现状与分析[J].宇航计测技术,2020,40(02):1-7+13.

    [5]姜展翔,杨明冬,宋蓓莉,全本庆.用于光收发模块热性能测试温度传感器测量误差分析[J].现代机械,2020(02):36-40.

    [6]茅阳. 单片机技术在电气传动控制系统中的应用与研究[J]. 中国高新区,2018(01):24.

    [7]贾飞. 单片机技术课程中项目教学法的应用案例[J]. 张家口职业技术学院学报,2017,30(03):75-77.

    [8]刘婷. 传感器设计中应用单片机技术的分析[J]. 数码设计,2017,6(09):85.

    [9]黄海燕. SPOC教学模式在高职单片机技术课程教学中的实施探索[J]. 课程教育研究,2018(01):210-212.

    [10]张承畅,吴孟林,张华誉,罗元,何丰. 面向学生工程能力达成的“单片机技术”实验案例设计[J]. 实验技术与管理,2018,35(05):178-182.

    [11]黄海燕. 基于创客教学模式的高职生态课堂建设的实践研究——以单片机技术课程为例[J]. 佳木斯职业学院学报,2018(05):1-3.

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6