温室大棚初步方案研究.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
温室大棚初步方案研究

温室大棚初步方案 主体功能:由89C51单片机,温湿度检测电路(DHT11),二氧化碳检测电路(MG811),光强检测电路( BH1750FVI),加湿器,电吹风,开窗机构,遮阳机构,,显示(1602)系统,控制电路组成。 当温度高于预定值或二氧化碳含量过大,单片机控制启动开窗机构,低于限定值,关闭,并用1602液晶显示温度(电吹风改善可以改变温度)。 当光强超过设定值,单片机启动遮阳机构,低于限定值,关闭。 当湿度低于限定值,启动加湿器。反之,关闭。 整体构架 中间顶部用一根轴连接两个四分之一半圆结构,以便开窗方便。 开窗机构方案1. 排齿开窗  排齿开窗的主要设备配件有减速电机、传动轴、齿条、齿轮、轴承座、连接件等。减速电机固定在温室骨架上,输出端 与传动轴相连。传动轴穿过轴承座,通过轴承座固定在温室骨架上,但可以转动。齿轮固定在传动轴上,齿条与齿轮咬合。 齿条的一端与通风窗边由连接件相连。当减速电机转动时,带动传动轴转动,传动轴带动齿轮转动,齿轮带动齿条移动,从 而实现窗户的启闭。 开窗机构方案2. 曲柄连杆开窗机构 将排齿开窗机构中的齿轮齿条换成曲柄连杆,采用舵机控制就是曲柄连杆开窗系统. 温湿度控制电路. //单片机时钟为11.0592M #include dht11.h #include reg52.h //请根据自己的dht11 接的IO 口来改动位定义 sbit dht11 = P2^0; //防止在与硬件通信时发生死循环的计数范围 #define NUMBER 20 #define SIZE 5 static unsigned char status; //存放五字节数据的数组 static unsigned char value_array[SIZE]; /*可在其他的文件引用温湿度值,实际是温度的整数的10 倍 如dht11 读回的温度是26,则temp_value = 260, 湿度同理*/ int temp_value, humi_value; static unsigned char ReadValue(void); extern void Delay_1ms(unsigned int ms) { unsigned int x, y; for(x = ms; x 0; x--) { for(y = 124; y 0; y--); } } static void Delay_10us(void) { unsigned char i; i--; i--; i--; i--; i--; i--; } /*读一个字节的数据*/ static unsigned char ReadValue(void) { unsigned char count, value = 0, i; status = OK; //设定标志为正常状态 for(i = 8; i 0; i--) { //高位在先 value = 1; count = 0; //每一位数据前会有一个50us 的低电平时间.等待50us 低电平结束 while(dht11 == 0 count++ NUMBER); if(count = NUMBER) { status = ERROR; //设定错误标志 return 0; //函数执行过程发生错误就退出函数 } //26-28us 的高电平表示该位是0,为70us 高电平表该位1 Delay_10us(); Delay_10us(); Delay_10us(); //延时30us 后检测数据线是否还是高电平 if(dht11 != 0) { //进入这里表示该位是1 value++; //等待剩余(约40us)的高电平结束 while(dht11 != 0 count++ NUMBER) { dht11 = 1; } if(count = NUMBER) { status = ERROR; //设定错误标志 return 0; } } } return (value); } //读一次的数据,共五字节 extern unsigned char ReadTempAndHumi(void) { unsigned char i = 0, check_value = 0,count = 0; EA = 0; dht11 = 0; //拉低数据线大于18ms 发送开始信号 Delay_1ms(20); //需大于18 毫秒 dht11 = 1; //释放数据线,用于检测低电平的应答信号 //延时20-40us,等待一段时间后检测应答信号,应答信号是从机拉低数据线80us Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); if(dht11

文档评论(0)

lifupingb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档