基于51单片机esp8266 WIFI大棚温湿度光照带co2 LCD12864显示设计

摘  要

      随着社会经济的不断发展,现代农业生产离不开环境控制。本文在对国内外大棚智能控制进行深入分析的基础上,针对大棚智能化控制存在的诸多因子,将智能传感器监测和单片机控制相结合,提出了基于单片机的温度和湿度、光敏电阻,Co2检测控制系统设计方案。

本系统采用层次化、模块化设计,整个系统由数据采集系统、单片机控制系统、键盘设置系统、显示系统组成。系统以单片机为核心,以温度、湿度传感器、光敏电阻,Co2作为测量元件,通过单片机与智能传感器相连,采集存储智能传感器的测量数据。在单片机系统中,还要实现程序的扩展存储、数据的实时显示、超限蜂鸣器报警和数据辅助存储功能。

一、硬件方案

本设计采用51单片机+按键+12864液晶显示+DHT11温湿度传感器,CO2传感器,光敏电阻等设计而成。

二、设计功能

1.本设计基于STC89C52(STC89C51与AT89S52、AT89C52通用)单片机;

2.LCD12864液晶显示屏实时显示温湿度、光照强度和C02当前的值;

3.采用按键来设置温湿度、光照强度加C02的上下限值,也就是报警值;

4.设计有ESP8266 无线WIFI模块,手机APP监控温湿度、光照强度加C02的的参数

三、成品实物图

基于51单片机esp8266 WIFI大棚温湿度光照带co2 LCD12864显示设计_第1张图片
 

 四、原理图

基于51单片机esp8266 WIFI大棚温湿度光照带co2 LCD12864显示设计_第2张图片

五、PCB图

基于51单片机esp8266 WIFI大棚温湿度光照带co2 LCD12864显示设计_第3张图片

六、程序源码

基于51单片机esp8266 WIFI大棚温湿度光照带co2 LCD12864显示设计_第4张图片

 部分代码

void main ()
{
	 
	unsigned int t_cut=0;
	
	set_w_num_H = ISP_READ(0x2c00)*256+ISP_READ(0x2c01);
	set_w_num_L = ISP_READ(0x2c02)*256+ISP_READ(0x2c03);
	set_s_num_H = ISP_READ(0x2c04)*256+ISP_READ(0x2c05);
	set_s_num_L = ISP_READ(0x2c06)*256+ISP_READ(0x2c07);
	set_g_num_H = ISP_READ(0x2c08)*256+ISP_READ(0x2c09);
	set_g_num_L = ISP_READ(0x2c0a)*256+ISP_READ(0x2c0b);
	
    set_T_Shidu_num_L = ISP_READ(0x2c10)*256+ISP_READ(0x2c11);
	set_T_Shidu_num_H = ISP_READ(0x2c12)*256+ISP_READ(0x2c13);
	
	
	Uart_Init();											//波特率发生器 
	Delay(500);
	ESP8266_Set("AT+CWMODE=2"); 							//设置路由器模式1 station,模式2 AP,模式3 station+AP混合模式   设置前wifi的波特率设置成9600
	Delay(500);
	ESP8266_Set("AT+RST"); 									//重新启动wifi模块            
    Delay(500);
	ESP8266_Set("AT+CWSAP=\"wifi\",\"12345678\",11,4");  	//AT+CWSAP="wifi_yuan","12345678",11,4  设置模块SSID:WIFI, PWD:密码 及安全类型加密模式(WPA2-PSK) 
	Delay(500);
	ESP8266_Set("AT+CIPMUX=1");								//开启多连接模式,允许多个各客户端接入 
	Delay(500);
	ESP8266_Set("AT+CIPSERVER=1,5000");  					//启动TCP/IP 实现基于网络//控制 	ESP8266_Set("AT+CIPSERVER=1,5000");  
	Delay(500);
	ESP8266_Set("AT+CIPSTO=0"); 							//永远不超时
	Delay(500);
   	LCDInit();	//lcd12864初始化
	
	//Lcd_ShowSring(1,1,"温室大棚监控");
	
    Lcd_ShowSring(1,0,"环境温度:");
	Lcd_ShowSring(2,0,"环境湿度:");
	Lcd_ShowSring(3,0,"二氧化碳:");
	Lcd_ShowSring(4,0,"光照监测:");	
	while(1){

			   scant();	  //按键扫描
			  if(Set_mode==0){	 //模式
				  
			      RH();
			      Lcd_Display2data(2,5,U8RH_data_H);   //显示湿度
				  Lcd_WriteDate('%');	
				  Lcd_Display2data(1,5,U8T_data_H);  //显示温度
				  Lcd_WriteDate('C');
				 // Delay(2000);
//-----------------------------------------------------------------------------------------------
				  //采集光度
                t_cut++;
				  if(t_cut==1){
				  humidty= ADC0832(0);
		          humidty=255-humidty;
				  humidty=humidty/2.55;		 //转换成100
		          Lcd_Display3data(3,5,light);		 //显示光度					  
				  }
				   if(t_cut==2){
					   t_cut=0;
				    light=ADC0832(1);
					light=light/2.55;   
					   
				   }

				  
				   Lcd_Display3data(4,5,humidty);		 //显示光度  
				  campare_wendu();	//比较 报警
				  ctrl();		   //控制继电器

			  }			
//-----------------------------------------------------------------------------------------
			  
			  
			  
				xm0=U8RH_data_H/10;//存放十位数据		  湿度
  		        xm1=U8RH_data_H%10;  //存放个位数据	
			  
				table[24]=ta[xm0];
		  		table[25]=ta[xm1];
			  table[26]=' ';
//				table[24]='A';
//		  		table[25]='G';
			  
				xm0=U8T_data_H/10;//存放十位数据
		  		xm1=U8T_data_H%10;  //存放个位数据
			  
				table[9]=ta[xm0];
		  		table[10]=ta[xm1]; 
			  

资料包括:

基于51单片机esp8266 WIFI大棚温湿度光照带co2 LCD12864显示设计_第5张图片

需要完整的资料可以加入我的纷传圈子。

纷传 点击用微信打开即可,过程有点繁琐请见谅。

你可能感兴趣的:(51单片机,51单片机,嵌入式硬件,单片机)