一、电路设计
智能农业大棚环境监测系统。可以测量空气的温湿度,土壤的温湿度,光照强度,等等通过OLED
屏幕显示,然ESP8266-01SWiFi模块连接手机,APP可以远程控制并监测。
1,温度高时风扇散热
2,湿度高时候报警
3,土壤湿度低进行浇水
4,光照不同补光不同
二、运行结果
三、部分代码
#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);
}
}
}