单片机设计_智能农业大棚环境监测系统(STM32 OLED ESP8266 DHT11 光敏 土壤湿度)

想要更多项目私wo!!!

一、电路设计

       智能农业大棚环境监测系统。可以测量空气的温湿度,土壤的温湿度,光照强度,等等通过OLED 屏幕显示,然ESP8266-01SWiFi模块连接手机,APP可以远程控制并监测。
        1,温度高时风扇散热
        2,湿度高时候报警
        3,土壤湿度低进行浇水
        4,光照不同补光不同

二、运行结果

 

单片机设计_智能农业大棚环境监测系统(STM32 OLED ESP8266 DHT11 光敏 土壤湿度)_第1张图片

 

单片机设计_智能农业大棚环境监测系统(STM32 OLED ESP8266 DHT11 光敏 土壤湿度)_第2张图片

 

三、部分代码

#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"	 
#include "timer.h"
#include "usart3.h"
#include "dht11.h"
#include "OLED_I2C.h"
#include "gizwits_product.h" 
#include "time2.h"
#include "mq_2.h"
#include "string.h"
 
/* 用户区当前设备状态结构体*/
dataPoint_t currentDataPoint;
extern u8 beep_flag;

//协议初始化
void Gizwits_Init(void)
{	
	TIM3_Int_Init(9,7199);//1MS系统定时
  usart3_init(9600);
	memset((uint8_t*)¤tDataPoint, 0, sizeof(dataPoint_t));//设备状态结构体初始化
	gizwitsInit();//缓冲区初始化
}
u8 temperature =0 ,humidity =0;//温湿度数据
u8 buf1[10]={0};
u8 buf2[10]={0};
u8 buf3[10]={0};
u8 buf4[10]={0};
u8 buf5[10]={0};
 int main(void)
 {	 
	u8 light = 0 ,tu =0;
	SystemInit();              //系统初始化
	delay_init();	    	  //延时函数初始化	  
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
	TIM2_Int_Init(2000,7200); //初始化定时器
	DHT11_Init();           //初始化温湿度模块
	LED_Init();		  		//初始化与LED连接的硬件接口 
	MQ2_adc_Init();         //初始化烟雾气体模块
  OLED_Init(); 	        //OLED初始化      	 
	Gizwits_Init();         //WIFI协议初始化	 
	show();                 //显示主界面

	while(1)
	{


	    if(DHT11_Read_Data(&temperature,&humidity) == 0)
		{

			sprintf((char *)buf1,"%d",temperature);
			sprintf((char *)buf2,"%d",humidity);
			OLED_ShowStr(32,2,buf1,2);
			OLED_ShowStr(98,2,buf2,2);
		}
		
		light=Light_Show();
		if(light)  
		{
			sprintf((char *)buf3,"%d",light);
			OLED_ShowStr(32,4,buf3,2);
		}

     tu =MQ2_Show();
		if(tu)  
		{
			sprintf((char *)buf5,"%d ",tu);
			OLED_ShowStr(32,6,buf5,2);
		}
		
		
	}
}
 

你可能感兴趣的:(STM32,单片机,stm32,嵌入式硬件,c语言)