单片机智能农业温度大鹏

#include<public.h>
#include<lcd1602.h>
#include<ds18b20.h>
#include<DAT.h>
#include<XPT2046.h>
sbit k1=P3^3;
sbit k2=P2^1;
sbit k3=P2^2;
sbit beep=P1^1;
sbit led1=P3^5;
sbit led2=P3^0;
sbit led3=P3^4;
sbit moto=P1^0;
u1 a,c;
u1 mode,flag;
u1 miao,num1;
u2 guangzhao;
u2 guangzhaoH=1600;
char temph=20,templ=5;
char humih=80,humil=20;
u1 code num[10]="0123456789";
u1 temp,humi,tempvalue;
u1 code str1[]="T:";  //温度
u1 code str2[]="H:";  //湿度
u1 code str3[]="Error";  
u1 code str4[]="Success    "; 
u1 code str5[]="%RH";
u1 code str6[]="TempH:";	  //设定温度上限显示
u1 code str7[]="TempL:";	  //设定温度下限显示
u1 code str8[]="HumiH:";	   //设定湿度上限显示
u1 code str9[]="HumiL:";
u1 code str10[]="G:";
u1 code str11[]="GuangZH:";	   //设定湿度上限显示
u1 code str13[]="lux";
u1 code sy1[]="ICCS         ";
u1 code sy2[]="1058";
u1 ds18b20_read_temp()
{
	u1 b;
	ds18b20_reset(); //复位
	 ds18b20_check();	
	 ds18b20_write_byte(0xcc);//写入地址
	 ds18b20_write_byte(0x44); //开始转化命令
	 delay10us(100);
	 ds18b20_reset();//复位
	 ds18b20_check();
	 ds18b20_write_byte(0xcc);//写入地址
	 ds18b20_write_byte(0xbe);//写入存储器命令
	 a=ds18b20_read_byte();//读取温度低字节
	 b=ds18b20_read_byte();
	b<<=4;
	c=b&0x80;
	b+=(a&0xf0)>>4;
	a=a&0x0f;
	return b;
}

u1 DAT_read_date(u1 *temp,u1 *humi)
{
	u1 buf[5];
	u1 i;
   	DAT_rest();
	if(DAT_check()==0)
	{
		for(i=0;i<5;i++)
		{	
			buf[i]=DAT_read_byte();
		}
		if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])
		{
			*humi=buf[0];
			*temp=buf[2];	
		}
	}
	else return 1;
	return 0;
}
void sound()
{
	u1 i=50;
	while(i--)
	{
		beep=!beep;
		delay1ms(2);
		
	}
}
void key_scan()
{
	if(k1==0)
	{
		delay1ms(10);
		if(k1==0)
		{
			mode++;
			if(mode==6)mode=0;
			LCD1602_write_com(0x01);
		}
		while(!k1);
	}
	if(mode==1)
	{
		if(k2==0)
		{
			delay1ms(10);
			if(k2==0)
			{
				temph++;
				if(temph>=80)temph=80;
			}
			while(!k2);
		}
		if(k3==0)
		{
			delay1ms(10);
			if(k3==0)
			{
				temph--;
				if(temph<=0)temph=0;	
			}
			while(!k3);
		}
	}
	if(mode==2)
	{
		if(k2==0)
		{
			delay1ms(10);
			if(k2==0)
			{
				templ++;
				if(templ>=80)templ=80;
			}
			while(!k2);
		}
		if(k3==0)
		{
			delay1ms(10);
			if(k3==0)
			{
				templ--;
				if(templ<=0)templ=0;	
			}
			while(!k3);
		}	
	}
   
	if(mode==4)
	{
		if(k2==0)
		{
			delay1ms(10);
			if(k2==0)
			{
				humil++;
				if(humil>=80)humil=80;
			}
			while(!k2);
		}
		if(k3==0)
		{
			delay1ms(10);
			if(k3==0)
			{
				humil--;
				if(humil<=0)humil=0;	
			}
			while(!k3);
		}	
	}
	if(mode==5)
	{
		if(k2==0)
		{
			delay1ms(10);
			if(k2==0)
			{
				guangzhaoH++;
				if(guangzhaoH>=2300)guangzhaoH=2300;
			}
			while(!k2);
		}
		if(k3==0)
		{
			delay1ms(10);
			if(k3==0)
			{
				guangzhaoH--;
				if(guangzhaoH<=0)guangzhaoH=0;	
			}
			while(!k3);
		}	
	}
	
}
void lcd1602_inti_display()
{
	u1 i;
	LCD1602_write_com(0x80);
	for(i=0;i<2;i++)
	{
		LCD1602_write_dat(str1[i]);	
	}
	LCD1602_write_com(0xc0);
	for(i=0;i<2;i++)
	{
		LCD1602_write_dat(str2[i]);	
	}
	LCD1602_write_com(0xc8);
	for(i=0;i<2;i++)
	{
		LCD1602_write_dat(str10[i]);	
	}

}
void baojinpros()
{
	
	if((tempvalue>=temph)||(humi>=humih))
	{
		sound();
		moto=1;
	}
	if(guangzhao<1200)
	{
		sound();	
	}
	if(guangzhao<1100)
	{
		led1=0;
		led2=0;
		led3=0;

	}
	else if(guangzhao<1300)
	{
		led1=0;
		led2=0;
		led3=1;
	}
	else if(guangzhao<1800)
	{
		led1=0;
		led2=1;
		led3=1;
	}
	else
	{
		led1=1;
		led2=1;
		led3=1;	
	}
	if((tempvalue<=templ)||(humi<=humil))
	{
		moto=0;
	}
   if((tempvalue>templ)&&(tempvalue<temph)&&(humi>humil)&&(humi<humih))
	{
		moto=0;
	}

}
void time_inti()
{
	TMOD|=0X01;
	TH0=0XFC;
	TL0=0X18;
	ET0=1;
	EA=1;
	TR0=1;
}
void main()
{
	u2 i=0;
	led1=1;
	led2=1;
	led3=1;
	moto=0;
	LCD1602_inti();
   	time_inti();
	while(miao<=3)
	{
		LCD1602_write_com(0x1c);
		for(i=0;i<13;i++)
		{
			LCD1602_write_com(0x80+i);
			LCD1602_write_dat(sy1[i]);
		}
		for(i=0;i<4;i++)
		{
			LCD1602_write_com(0x80+0x40+i);
			LCD1602_write_dat(sy2[i]);
		}
		delay1ms(300);
	}
	LCD1602_inti();
	while(DAT_inti())
	{
		for(i=0;i<5;i++)
		{
		   	LCD1602_write_com(0x80+i);
			LCD1602_write_dat(str3[i]);
		}
	}
	LCD1602_write_com(0x01);
	i=0;

	while(1)
	{
		
		i++;
		key_scan();
		baojinpros();
		if(i==11)
		{
			i=0;
			data_pros();
		}
		delay10us(100);	
	}
}
void time_inti0() interrupt 1
{
	static u2 i;
	TH0=0XFC;
	TL0=0X18;
	i++;
	if(i==1000)
	{
		i=0;
		miao++;
		num1++;
		if(num1==2)
		{
		 	num1=0;
			flag=1;
		}
		if(miao>=3)
		{
			miao=4;
		}
	}

}
• 9 月 20 日 8:00 竞赛正式开始。
• 参赛者必须是有正式学籍的全日制在校本、专科学生,应携带能够证明参赛者学生身份的有
效证件(如学生证)随时备查。每队严格限制 2 人。
• 参赛队必须在指定的竞赛场进行独立设计和制作,不得携带电子存储设备和手机等上网通讯
设备,不得以任何方式与他人交流,包括教师在内的非参赛队员必须回避,对违纪参赛队取
消参赛资格,按零分计算。
• 9 月 20 日 12:00 竞赛结束,离开现场,12:50 评委按照抽签顺序评测,每组出一名同学现场
演示,签字确认结果。(每个测评组 2 名专家组成)
• 作品评测过程中,只做功能演示,不与裁判员交流,裁判员以作品实际功能演示结果作为依
据。评测过程中,如遇故障,参赛队员可在一分钟内调整,每超时一分钟扣 5 分,超过 3 分
钟则评测结束。
智能农业大棚控制系统(A 平台)
一、任务
设计并制作智能农业大棚控制系统。开机后,屏幕第一行显示“ICCS”,第
二行显示“抽签号后 4 位数”(如 1085),并自下而上滚动,3 秒后停止滚动。画
出系统各组件连接图,并简要说明,画出键盘图并标注各键功能。画出全部程序流
程图。
二、基本功能要求
(1)以 12864 点阵屏作为显示终端,显示大棚温湿度(单位摄氏度、相对湿
度)、光照(单位 lux)信息;显示补光灯、鼓风机(电机模拟)工作状态(开启或
关闭)。其中大棚温湿度来自于温湿度传感器、光照来自于光敏电阻或其他传感器、
补光灯为高亮 LED 输出。
(2)温湿度数据、光照数据每隔 2 秒动态刷新;采用合理方式调整温湿度、
光照信号变化,以产生可见动态效果。
(3)当大棚温湿度高于某限定值,语音模块报警(报警内容:温湿度超
限),同时鼓风机(电机模拟)工作 5 秒并关闭;当光照低于某限定值,语音模块报
警(报警内容:光照亮度偏低),补光灯亮起,高于某限定值,补光灯灭。
三、发挥要求
(1)当补光灯亮起后,具有自动调节亮度功能,分为三档“弱、中、强”,根 据不同光照强度切换对应档位。
(2)设计键盘输入,设置室温、湿、光照限定值报警功能,并实现声、光报
警。
(3)设计 RFID 射频 IC 卡功能,可以设置卡的级别:管理卡,用户卡。刷
“管理卡”,屏幕显示管理卡,同时可以制作用户卡;刷“用户卡”,屏幕显示用户
卡。
(4)刷“用户卡”,按下功能按键,实现历史数据查询功能,可以记录 30 秒数
据(共 15 次),通过翻页等可实现数据历史查询。
无偿分享,可交流QQ1494728092
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于单片机智能农业设备设计是一个涉及多个领域的重要项目,包括机械工程、电子工程、计算机科学和农业科学。以下是对这种设备设计的一种基本介绍: 1. 设备类型:根据农业需求,设备可能包括灌溉系统、喷药系统、种植机器人、土壤监测器等。 2. 核心部件:单片机会作为控制核心,负责收集、处理并反馈各种传感器数据,以及控制执行机构。传感器负责监测环境参数(如温度、湿度、土壤湿度、光照等),而执行机构可能包括水泵、喷头、机械臂等。 3. 无线通信:为了将设备连接到互联网,可能需要使用无线通信技术,如蓝牙、Wi-Fi或4G/5G蜂窝网络,这样就能将数据传输到云端服务器,便于远程监控和调整设备设置。 4. 人工智能和机器学习:在智能农业中,机器学习和人工智能的应用可以帮助优化作物生长条件。例如,通过分析历史和实时数据,系统可以预测灌溉需求,调整喷药时间,甚至学习如何种植特定的作物。 5. 用户界面:用户界面应该直观且易于使用,这样非专业人士也能方便地调整设备设置,查看农场状况。 6. 设计考虑:安全性是设计中的重要因素。所有执行机构都应受到单片机的安全控制,以防止误操作。此外,设备应考虑到耐用性和易于维护。 这种设备的优点包括提高农业生产效率,节省人力,实时监控农场环境,以及优化作物生长条件。然而,这种设备的设计和制造也涉及到一些挑战,如成本控制、数据安全和隐私保护等问题。 总的来说,基于单片机智能农业设备设计是一个涉及多个领域,具有重要应用价值的项目。在设计和实施过程中,需要综合考虑技术、经济、社会和环境因素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值