stm32毕设 STM32的环境质量监测系统(源码+原理图+论文)

这篇具有很好参考价值的文章主要介绍了stm32毕设 STM32的环境质量监测系统(源码+原理图+论文)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


0 前言

🔥
这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 毕业设计 基于STM32的环境质量监测系统(源码+原理图+论文)

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:3分

🧿 项目分享:

https://gitee.com/sinonfin/sharing文章来源地址https://www.toymoban.com/news/detail-446218.html

stm32毕设 STM32的环境质量监测系统(源码+原理图+论文)

1 设计架构

本系统主要由单片机系统、液晶显示、温湿度采集模块、PM2.5采集模块和甲醛模块。采用单片机作为主控芯片,将采集到的温湿度和PM2.5,甲醛浓度显示到LCD1602液晶上,来实现当前环境的采集。

stm32毕设 STM32的环境质量监测系统(源码+原理图+论文)

功能设计

主要功能: 使用STM32为主控制器,可采集当前环境下的温湿度、甲醛、PM2.5值,当采集值超过预设阀值时,蜂鸣器自动报警。采集到的温湿度、甲醛、PM2.5会显示在LCD1602显示屏上,且自动上传至上位机(手机),可以在手机查收采集到的各种参数。可通过三个按键任意设置报警阀值。

  • 1.使用STM32F103C8T6单片机做主控制器。

  • 2.使用LCD1602显示采集到的温湿度、甲醛、PM2.5值。

  • 3.使用ESP8266上次至手机,采集数据实时上传到手机上。

  • 4.使用DHT11采集当前环境温湿度。

  • 5.使用ZE08-CH2O 采集甲醛值。

  • 6.使用GP2Y1014AU粉尘传感器采集当前环境PM2.5值。

  • 7.三个按键可任意设置报警阀值,当采集值超过了报警阀值后,蜂鸣器会自动报警。

2 原理图

stm32毕设 STM32的环境质量监测系统(源码+原理图+论文)

3 软件设计

整体流程框图是描述整个系统运行过程的流程图。通过框图可以看出主程序是如何对各个子程序的调用来实现整个系统功能的。根据系统概述的分析,画出系统软件流程图如图

stm32毕设 STM32的环境质量监测系统(源码+原理图+论文)

温度采集模块是本系统的核心模块之一,根据传感器的通信协议规定,DHT11不会主动采集环境温湿度,只有单片机通过I/O口发出激发信号,主动驱动传感器,传感器才会工作,这时,单片机将数据线的控制权交给传感器,由传感器完成数据采集,模数转换,数据发送的任务,而单片机通过对I/O口高低电平的不断检测,来解析出正确的数字信息[15]。根据以上流程,设计DHT11温湿度采集软件流程图如图

stm32毕设 STM32的环境质量监测系统(源码+原理图+论文)

篇幅有限,其他流程不在这里过度复述。。

4 实现效果

正面

stm32毕设 STM32的环境质量监测系统(源码+原理图+论文)

反面

stm32毕设 STM32的环境质量监测系统(源码+原理图+论文)

5 相关代码

#include<stm32.h>   //头文件
#include<intrins.h>
#include<stdio.h>
#include<math.h>    //Keil library
sbit DATA=P2^4;     //数据
sbit SCK=P2^3;     //时钟
#define TEMP_ML   0x03     //000   0001   1 温度命令
#define HUMI_ML   0x05     //000   0010   1 湿度命令
unsigned char error;    //全局错误变量
unsigned char ack;     //全局错误变量
//float temp_zi;       //全局应答变量
//float humi_zi;       //全局应答变量
unsigned char temp_h; //全局应答变量
unsigned char temp_LL; //全局应答变量
unsigned char humi_h; 
unsigned char temp_LL
#define uchar unsigned char //定义一下方便使用
#define unit unsigned int
#define ulong unsigned long
unsigned int recs=0;//接收次数
uchar TempBuffer[5];uchar humibuffer[4];
const unsigned char SHUO[15]=0123456789.%RH”;
int xts_zi=0;//温度值
int xtg_zi=0;//温度个位值
int xtd_zi=0;//温度点值
int xss_zi=0;//湿度值
int xsg_zi=0;//湿度个位值
int xsd_zi=0;//湿度点值
sbit soud=P1^4;//声音
//基本驱动程序
//系统初始化
Void start(void)     //启动
{
DATA=1; SCK=0;          //数据为1,SCK=0
_nop_();
SCK=1;                 //第一个脉冲
DATA=0;               //数据跌落
_nop_();
SCK=0;               //完成一个脉冲
_nop_(); _nop_();   _nop_();
SCK=1;              //再一个脉冲
_nop_();
 DATA=1;           //数据变为1
_nop_();
SCK=0;             //变为该脉冲
}
Void sht_rest(void)    //复位
{
unsigned char I;
DATA=1;SCK=0;               //数据为1时钟为0
for(i=0;i<9;i++//9个脉冲为复位
{SCK=1;
SCK=0;
}
Start();                  //启动
}
char write(unsigned char value)//写一个字节  返回应答信号
{ 
Unsigned char I;
ack=0;
for(i=0x80;i>0;i/=2)           //释放数据总线
{if(i&value)DATA=1;           //写入值
Else DATA=0;
SCK=1;                     //上升沿写入
_nop_(); _nop_();   _nop_();   //延时
SCK=0;
}DATA=1;                  //释放数据总线
SCK=1;
return ack;                 //error=1表示没有应答
}
char read()//读一个字节返回应答信号
{
Unsigned char I,val=0;
temp_LL=0;
temp_h=0;
DATA=1;                //释放数据总线
for(i=0x80;i>0;i/=2//位移8位
{SCK=1;                 //上升沿读入
if(DATA)val=(val|i)        //确定值
SCK=0;
}
DATA=0;                //读应答信号应答为1,应答为0通过CPU下拉为应答
SCK=1;9个脉冲
_nop_(); _nop_();   _nop_();   //pulswith approx.5us
SCK=0;
DATA=1;                 //释放数据总线
temp_h=val;
val=0;
//低8位
DATA=1;                 //释放数据总线
for(i=0x80;i>0;i/=2)        //位移8位
{SCK=1;                   //上升沿读入
if(DATA)val=(val|i)        //确定值
SCK=0;
}
DATA=1;//0;              //不需要应答 通过CPU下拉为应答
SCK=1;9个脉冲
_nop_(); _nop_();   _nop_();   //pulswith approx.5us
SCK=0;
DATA=1;                   //释放数据总线
temp_LL=val
return val;
}
//测量温度或者是湿度,返回校验值
text_a(unsigned char ml)
{
unsigned int I;
start();                     //启动
write(ml);                  //写入测温度
if(ack==1{
sht_rest();                 //复位
write(ml);                  //写入测温度
}
//DATA=1;// 释放数据总线
For(i=0;i<65535;i++)if(DATA==0)break;
read();//度温度
}
text_jishuan_temp()
{
float aa=0,bb=0,temp zi;
int abcd=0;
aa=(float)temp_h*256+(float)temp_LL;
temp_zi=0.01*aa-40;
if  (temp_zi<0)
{
temp_zi= -temp_zi;
}
temp_zi= temp_zi*10;
abcd=(int) temp_zi;
xts_zi=abcd/100;
abcd=abcd%100;
xtg_zi=abcd/10;
abcd=abcd%10;
xtd_zi=abcd/1;
}
text_jishuan_humi()
{
float aa=0,bb=0,humi_zi;
int abcd=0;
aa=(float)temp_h*256+(float)temp_LL;
baa*aa*2.8/1000000;
aa=0.0405*aa;
aa=aa-4-bb;
humi_zi= humi_zi*10;
abcd=(int)humi_zi;
xss_zi=abcd/100;
abcd=abcd%100;
xsg_zi=abcd/10;
abcd=abcd%10;
xsd_zi=abcd/1;
}
text_jishuan_temp11()
{
error=0;
ack=0;
sht_rest();          //复位
text_a(TEMP_ML);
text_jishuan_temp();
text_a(HUMI_ML);
text_jishuan_humi();
}
unsigned int wendu,shidu;
void delay_n10us(unit n)      //延时n个10us@12M晶振
{
uint i;
for(i=n;i>0;i--)
{
_nop_(); _nop_();   _nop_();  _nop_(); _nop_();   _nop_();
}

6 最后

资料分享,包含内容

stm32毕设 STM32的环境质量监测系统(源码+原理图+论文)

🧿 项目分享:

https://gitee.com/sinonfin/sharing

到了这里,关于stm32毕设 STM32的环境质量监测系统(源码+原理图+论文)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 环境监测中的人工智能:提高数据质量与预测准确率的关键

    环境监测是现代社会中的一个重要领域,它涉及到对大气、水体、土壤、生物等环境因素的监测和分析,以支持政策制定、资源管理、环境保护等多方面的需求。随着大数据技术的发展,环境监测数据的规模和复杂性不断增加,这为环境监测提供了更多的信息和洞察力。然而

    2024年02月21日
    浏览(61)
  • 基于stm32环境监测系统

    设计流程图:(设计思路)      用应用光敏电阻传感器和温度传感器,实现LCD显示以及数码管的显示+PC机串口显示摄氏温度、湿度;到达可键盘设定的阈值时LED自动发光、蜂鸣器报警自动启动 等功能 。采用STM32L431RCT6、以及STM32F411单片机作为数据采集、处理、控制核心,系

    2024年02月07日
    浏览(44)
  • 基于STM32的物联网环境监测系统

    基于机智云物联网的环境监测系统 视频演示 摘 要:随着人民对美好生活的向往,人们对于环境的重视程度越来越强烈,环境对生活的影响已经成为一个热点问题。本设计以STM32单片机作为控制和数据处理的单元,使用AHT10、BH1750和BMP280传感器去监测周围的环境参数,在LCD屏完

    2024年02月07日
    浏览(63)
  • 【Proteus仿真】【STM32单片机】环境监测系统设计

    本项目使用Proteus8仿真STM32单片机控制器,使用LCD1602显示模块、蜂鸣器、按键模块、DHT11温湿度传感器、继电器加热祛湿加湿模块等。 主要功能: 系统运行后,LCD1602显示传感器检测的温度、湿度及有害气体浓度值;若按下K3键进入阈值设置模式,默认以温度下限开始位置闪烁

    2024年02月01日
    浏览(104)
  • 基于stm32的室外环境监测系统的设计和实现

    目 录 摘 要 Ⅰ Abstract Ⅱ 第1章 绪论 9 1.1 课题研究背景与意义 9 1.2 国内外研究现状 9 1.3 课题研究的主要内容 10 1.4 本文组织结构 10 第2章 系统关键技术介绍 12 2.1 无线传感器网络技术 12 2.2 WiFi通讯技术 13 2.3 单片机技术 13 2.4 物联网云平台 13 第3章 系统需求分析 15 3.1 系统需求

    2023年04月14日
    浏览(42)
  • 基于 STM32+4G模块+微信小程序的环境监测系统的设计

    最近在做毕业设计,接触到了许多之前没碰过的,在这里写一写,希望能帮上有需要的同学 一        系统整体设计 二        下位机设计 三        阿里云物联网平台 四        上位机设计 五        总结                 先来说一说整体的设计,主要分为上位

    2024年03月15日
    浏览(50)
  • 基于STM32的设计智慧超市管理系统(带收银系统+物联网环境监测)

    基于STM32+OneNet设计的智慧超市管理系统(2023升级版) 随着IoT技术的不断发展,智能无人超市也越来越受到人们的关注。智能无人超市是指在无人值守的情况下,通过物联网、大数据等技术手段实现自助选购、结算和配送的新型商场。当前设计了一种基于STM32的智慧超市管理设计

    2024年02月03日
    浏览(51)
  • 物联网毕设 -- 医院病人智能护理监测(LORA+STM32)

    目录 前言 一 连线图 1 原理图 2 PCB效果 3 实物效果 4 APP效果(本项目不适应) 5 功能概括 (1)护士端: (2)病人端: (3)云平台使用(阿里云)(本项目不适应) (4)演示视频 二 底层代码使用方式 1. 使用说明 2. 下载程序 三 APP使用方式(本项目不适应) 四 程序修改部

    2024年02月21日
    浏览(48)
  • 基于STM32+微信小程序设计的环境监测系统(腾讯云IOT)

    基于STM32设计的环境检测系统(腾讯云物联网+微信小程序实现) 随着人们生活水平的提高,人们对生活环境的求越来越高尤其是在家居环境有害气体污染已经引起了人们的注意,温度和湿度控制等。有关研究人员发现,天然气主要组成部分为甲烷气,而且还有少量的乙烷、丙烷

    2024年02月07日
    浏览(50)
  • 毕业设计 STM32单片机的智能家居环境监测控制系统

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月10日
    浏览(86)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包