【单片机毕业设计】【mcuclub-dz-661】基于单片机的大棚环境监测系统

一、基本介绍

项目名:基于单片机的大棚环境监测系统
项目编号:mcuclub-dz-661
单片机类型:STM32F103C8T6
具体功能:
1、通过SGP30测量CO2浓度,CO2浓度高于设置最大值进行风扇通风,并声光报警
2、通过光照检测模块5516测量光照强度,光照强度低于设置最小值进行补光
3、通过土壤环境模块检测当前土壤的温度、水分、PH、电导率、氮磷钾,检测到土壤的氮磷钾不在设置的范围之内,分别自动控制继电器控制氮磷钾水溶液打开
4、通过按键设置上下限值、手动控制氮磷钾水溶液、切换模式
5、通过显示屏OLED显示数据
6、通过蓝牙模块ECB02将测量数据发送到手机端,并可以控制风扇、补光、氮磷钾水溶液、切换模式

二、资料总览

实物资料

请添加图片描述

三、32单片机部分资料展示

1、实物图展示

单片机型号:STM32F103C8T6
供电接口:TYPE-C
板子类型:PCB集成板,厚度1.2,两层板(上下层覆铜接地)
器件类型:元器件基本上为插针式,个别降压芯片会使用贴片式。
请添加图片描述

2、原理图展示

软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构图
请添加图片描述

3、PCB图展示

由原理图导出,中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
请添加图片描述

四、系统框图

绘制软件:VISIO
请添加图片描述
此次设计是基于STM32F103C8T6单片机的大棚环境监测的设计,该设计主要可以分为三部分:输入、输出和中控。中控部分采用STM32F103C8T6单片机作为主控芯片,主要是对输入进行处理然后控制输出。输入由五部分组成:第一部分是CO2检测模块,通过该模块可以测量CO2浓度;第二部分是光照检测模块,通过该模块可以测量光照值;第三部分是土壤环境检测模块,通过该模块可以检测土壤中的温度、湿度、PH值、氮磷钾;第四部分是按键模块,通过按键可以设置各阈值;第五部分是供电电路,通过该模块给整个系统进行供电。输出由三部分组成,第一部分是显示模块,通过显示模块显示测量数据;第二部分是继电器模块,通过该模块控制风扇、补光、加水、加中和液、加营养液;第三部分是声光报警模块,当CO2浓度异常时进行声光报警提醒。除此之外蓝牙模块即作为输入也作为输出,将监测到的数据发送到手机端,手机端同时可远程控制继电器开关。

五、部分程序展示

软件版本:keil5
注意:逻辑程序和驱动程序分开,分布于main.c和其他.c文件

*******处理函数
*****/
void Manage_function(void)
{
	if(flag_display == 0)																			//测量界面
	{
		if(flag_mode == 0)                  										//如果处于自动模式
    {
			if(co2_value > co2_max)																//CO2大于设置最大值,通风继电器闭合,并声光报警提醒
      {
        RELAY_TF = 1;
        
				if(time_num % 2 == 0)
        {
          LED = ~LED;
          BEEP = ~BEEP;
        }
      }
      else																									//否则,通风继电器断开,关闭声光报警
      {
        RELAY_TF= 0;
        
				LED = 1;
        BEEP = 0;
      }	
			
			if(light_value < light_min)														//光照小于设置最小值,补光继电器闭合
      {
        RELAY_BG = 1;
      }
      else																									//否则,补光继电器断开
      {
        RELAY_BG = 0;
      }
			
			if(water_value < water_min*10)												//水分小于设置最小值,补水继电器闭合
			{
        RELAY_JS = 1;
      }
      else																									//否则,补水继电器断开
      {
        RELAY_JS = 0;
      }
			
			if(ph_value < ph_min || ph_value > ph_max)						//PH不在设置的区间内,中和液继电器闭合
			{
        RELAY_ZHY = 1;
      }
			else																									//否则,中和液继电器断开
			{
        RELAY_ZHY = 0;
      }
			
			if(nitrogen_value < nitrogen_min || phosphorus_value < phosphorus_min || potassium_value < potassium_min)				//氮磷钾含量小于设置最小值,营养液继电器闭合
      {
        RELAY_YYY = 1;
      }
      else																									//否则,营养液继电器断开
      {
        RELAY_YYY = 0;
      }
    }
    else                  																	//手动模式下,关闭声光报警
    {
      LED = 1;
      BEEP = 0;
    }
	}
	else																											//设置界面,关闭所有继电器及声光报警
	{
		LED = 1;
    BEEP = 0;
    RELAY_TF = 0;
    RELAY_BG = 0;		
		RELAY_JS = 0;
		RELAY_ZHY = 0;
		RELAY_YYY = 0;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值