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

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


0 前言

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

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

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

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

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

🧿 项目分享:

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

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

1 设计架构

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

物联网毕业设计 基于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的环境质量监测系统(源码+原理图+论文)

3 软件设计

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

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

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

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

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

4 实现效果

正面

物联网毕业设计 基于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的环境质量监测系统(源码+原理图+论文)

🧿 项目分享:

https://gitee.com/sinonfin/sharing

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

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

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

相关文章

  • [毕业设计] 基于单片机的智能快递柜设计与实现 - stm32 物联网

    Hi,大家好,这里是丹成学长,今天向大家介绍一个 单片机项目 基于单片机的智能快递柜设计与实现 大家可用于 课程设计 或 毕业设计 单片机-嵌入式毕设选题大全及项目分享: https://blog.csdn.net/m0_71572576/article/details/125409052 一般来说,传统快递服务方式是人对人,即快递员进

    2024年01月16日
    浏览(95)
  • 毕业设计 - 基于STM32的智能路灯设计与实现 - 物联网 嵌入式 单片机

    Hi,大家好,今天向大家介绍一个 单片机项目 基于STM32的智能路灯设计与实现 大家可用于 课程设计 或 毕业设计 🔥 项目分享与指导: https://gitee.com/sinonfin/sharing 每当夜幕降临,城市中各种各样、色彩缤纷的路灯亮起,为城市披上了一层绚丽的外衣。但在这绚丽的外表下则隐

    2024年02月05日
    浏览(59)
  • 【毕业设计】基于STM32的智能路灯设计与实现 - 物联网 嵌入式 单片机

    Hi,大家好,这里是丹成学长,今天向大家介绍一个 单片机项目 基于STM32的智能路灯设计与实现 大家可用于 课程设计 或 毕业设计 单片机-嵌入式毕设选题大全及项目分享: https://blog.csdn.net/m0_71572576/article/details/125409052 每当夜幕降临,城市中各种各样、色彩缤纷的路灯亮起,

    2024年01月16日
    浏览(69)
  • 【毕业设计】基于单片机的智能温控农业大棚系统 - 物联网 stm32

    Hi,大家好,这里是丹成学长,今天向大家介绍一个 单片机项目 基于单片机的智能温控农业大棚系统 大家可用于 课程设计 或 毕业设计 单片机-嵌入式毕设选题大全及项目分享: https://blog.csdn.net/m0_71572576/article/details/125409052 近年来我国的温室控制取得了 长足的进步, 首先在

    2024年02月02日
    浏览(65)
  • 【毕业设计】基于单片机的智能感应垃圾桶设计与实现 - 物联网 stm32 嵌入式

    Hi,大家好,这里是丹成学长,今天向大家介绍一个 单片机项目 基于单片机的智能感应垃圾桶设计与实现 大家可用于 课程设计 或 毕业设计 单片机-嵌入式毕设选题大全及项目分享: https://blog.csdn.net/m0_71572576/article/details/125409052 学长设计的系统主要使用 STC89C52 单片机为基础设

    2024年01月17日
    浏览(146)
  • 【毕业设计】基于超声波智能跟随小车 - 单片机 物联网 stm32 c51

    自动跟随小车系统由两部分组成:跟随小车和移动目标携带装置。 工作原理:跟随小车系统通过无线通信模块发送寻找信号,同时超声波接收器开始计时,如果移动目标接收到无线寻找信号,则立即发送超声波信号。这样小车的三角超声波接收器陆续收到超声波信号,CPU通过

    2023年04月08日
    浏览(69)
  • 【毕业设计】基于RFID的门禁系统 - 单片机 物联网 嵌入式 stm32

    Hi,大家好,这里是丹成学长,今天向大家介绍一个 如何使用RFID技术构建一个单片机门禁系统 基于RFID的门禁系统 大家可用于 课程设计 或 毕业设计 单片机-嵌入式毕设选题大全及项目分享: https://blog.csdn.net/m0_71572576/article/details/125409052 本篇博客,学长先向大家介绍射频识别

    2024年02月03日
    浏览(53)
  • 毕业设计 基于STM32与wifi的天气预报网时钟系统 - 物联网 单片机

    文章目录 0 前言 1 设计内容 2 软件设计 3 关键代码 4 最后 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及

    2024年02月06日
    浏览(83)
  • 嵌入式linux物联网毕业设计项目智能语音识别基于stm32mp157开发板

    stm32mp157开发板FS-MP1A是华清远见自主研发的一款高品质、高性价比的Linux+单片机二合一的嵌入式教学级开发板。开发板搭载ST的STM32MP157高性能微处理器,集成2个Cortex-A7核和1个Cortex-M4 核,A7核上可以跑Linux操作系统,M4核上可以跑FreeRTOS、RT-Thread等实时操作系统。开发板搭配仿真

    2024年02月02日
    浏览(82)
  • 【毕业设计】基于单片机的智能鱼缸系统设计与实现 - 嵌入式 物联网 stm32 51单片机 智能鱼缸

    Hi,大家好,今天向大家介绍一个 单片机项目, 大家可用于 课程设计 或 毕业设计 基于单片机的智能鱼缸系统设计与实现 🔥 项目分享与指导: https://gitee.com/sinonfin/sharing 近年以来,随着我国综合实力飞速飙升,人们对物质和精神生活质量的要求也不断提升,各式各样的智能

    2024年02月04日
    浏览(90)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包