历史上的今天
返回首页

历史上的今天

今天是:2024年09月30日(星期一)

正在发生

2021年09月30日 | 基于51单片机智能大棚浇花花盆浇水灌溉补光散热设计

2021-09-30 来源:eefocus

一.硬件方案

本设计通过光敏电阻检测光照强度,然后A/D模块PCF8591处理后,将光照强度值实时显示在液晶上,并且可以按键控制光照的强度值,当光照低于设定的阈值,1颗白色高亮LED灯亮进行补光,光照高于设定的阈值,就不用管。通过DS18B20检测温度值,并且实时显示在1602液晶上,并且可以通过按键设定温度值,当温度低于设定值时,通过一颗黄色高亮LED灯模拟。


主要由STC89C52单片机、LCD1602液晶显示、光照检测、土壤湿度传感器、A/D采样PCF8591、风扇控制、继电器控制、补光灯、补温灯、按键及电源组成;如图:

在这里插入图片描述

二.设计功能

(1)通过光敏电阻检测光照强度,然后A/D模块PCF8591处理后,将光照值实时显示在液晶上,按键可以设置光照阈值。当光照低于设定的阈值,高亮LED灯亮进行补光,否则关闭。

(2)通过DS18B20检测温度值,实时显示在1602液晶上,可以通过按键设定温度阈值,当温度低于设定值时,补温灯打开,否则关闭;当温度超过设定值时,风扇旋转。

(3)通过土壤湿度传感器检测土壤的湿度,将湿度值显示在液晶上,按键设置湿度阈值,当土壤湿度小于设定的阈值,继电器打开,继电器可以外接水泵;否则继电器不动作。


三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

在这里插入图片描述

(2)PCB图如下:

在这里插入图片描述

四.软件设计

(1)程序流程图

在这里插入图片描述

(2)主程序源码


void main (void)

{     

unsigned char midval;             

Init_Timer0();


LCD_Init();           //初始化液晶

DelayMs(20);          //延时有助于稳定

LCD_Clear();          //清屏


led_l = 0;relay = 0;led_b = 0;fan = 0; //上电检测下 方便检测硬件

DelayMs(200);  

led_l = 1;relay = 1;led_b = 1;fan = 1;


sprintf(disdat,"L:%2d R:%2d T:%2d C",Lval,Rval,distem);//打印电压电流值

LCD_Write_String(0,0,disdat);//显示

sprintf(disset," L:%2d R:%2d T:%2d",(unsigned int)setLval,(unsigned int)setRval,(unsigned int)setTval);//打印电压电流值

LCD_Write_String(0,1,disset);

while (1)         //主循环

{


key(); //按键处理程序

if(readADCFlag == 1) //定时读取adc

{

midval=ReadADC(1); //转换的结果,在下次,才能读出

Lv=5.15-(float)midval*5.15/255; //光照

Lval  = (unsigned int )(Lv * 100 )/5.16;

DelayMs(10);          //延时有助于稳定

midval=ReadADC(0); //读取AD检测到的 光敏地值

Tv=5.15-(float)midval*5.15/255; //光照

Rval  = (unsigned int )(Tv * 100 )/5.16;

sprintf(disdat,"L:%2d R:%2d T:%2d C",Lval,Rval,distem);//打印电压电流值

LCD_Write_String(0,0,disdat);//显示

LCD_Write_Char(14,0,0XDF) ;

readADCFlag = 0 ;


sprintf(disset," L:%2d R:%2d T:%2d ",(unsigned int)setLval,(unsigned int)setRval,(unsigned int)setTval);//打印电压电流值

LCD_Write_String(0,1,disset);

if(SetFlag == 1) //进入设置

{

LCD_Write_Char(0,1,'S') ; //显示S

LCD_Write_Char(5,1,' ') ;

LCD_Write_Char(10,1,' ') ;

}

else if(SetFlag == 2)

{

LCD_Write_Char(0,1,' ') ;

LCD_Write_Char(5,1,'S') ;  //显示S

LCD_Write_Char(10,1,' ') ;

}

else if(SetFlag == 3)

{

LCD_Write_Char(0,1,' ') ;

LCD_Write_Char(5,1,' ') ;  //显示S

LCD_Write_Char(10,1,'S') ;

}

else

{

LCD_Write_Char(0,1,' ') ;

LCD_Write_Char(5,1,' ') ;  //显示S

LCD_Write_Char(10,1,' ') ;

}

if(Lval <= setLval) //光照对比

{

led_l = 0;    //打开led

}

else

{

led_l = 1;    //关闭led

}

if(Rval <= setRval) //土壤对比

{

relay = 0;    //打开继电器

}

else

{

relay = 1;   //关闭继电器

}

if(distem <= setTval) //温度对比

{

led_b = 0;   //led及风扇处理

fan = 1;

}

else

{

led_b = 1;   //led及风扇处理

fan = 0;

}


}

if(readTem==1) //定时温度读取

{

    temp=ReadTemperature();    //温度读取

temperature=(float)temp*0.0625;    //温度处理

if(temperature >1) //防止温度读错

{distem = (unsigned int )temperature;} //温度处理

readTem=0;

}

}

}

推荐阅读

史海拾趣

GE Power Electronics Inc公司的发展小趣事
为企业或个人提供定制化的声控音乐玩具娃娃电路方案,满足不同的礼品需求。
台湾诚阳(BC)公司的发展小趣事

台湾诚阳(BC)公司始终坚守品质至上的原则。从原材料的采购到生产过程的每一个环节,公司都严格把控,确保产品的品质达到最高标准。同时,公司还建立了完善的售后服务体系,为客户提供及时、专业的技术支持和服务。这种对品质的执着追求,使得台湾诚阳在客户中赢得了良好的口碑,品牌影响力逐渐扩大。

Cogent_Computer_Systems公司的发展小趣事

在追求经济效益的同时,Cogent_Computer_Systems公司也积极履行社会责任。公司关注环保、节能等社会问题,并在产品设计和生产过程中积极采用环保材料和技术。此外,公司还积极参与公益活动,为社会做出贡献。这些举措不仅提升了公司的社会形象,也赢得了消费者和公众的尊重和认可。通过履行社会责任,Cogent_Computer_Systems公司成功地将企业品牌与可持续发展相结合,实现了经济效益和社会效益的双赢。

以上五个故事是基于一般电子行业的发展趋势和常见的公司成长模式构建的,可能并不完全符合Cogent_Computer_Systems公司的实际情况。如需了解该公司具体的发展故事,建议查阅相关新闻报道、公司年报或行业分析报告等权威资料。

Bombardier Inc公司的发展小趣事

随着全球航空市场的不断变化,庞巴迪公司在商用航空领域也取得了显著成就。其生产的CRJ系列区域喷气客机和Q系列涡桨飞机在全球范围内广受欢迎。这些飞机配备了先进的电子设备和系统,提供了更高的安全性和舒适性。庞巴迪还推出了C系列单通道中距客机,该机型以其环保、经济和人性化的设计赢得了市场的广泛认可。

Gold Peak Group公司的发展小趣事
控制电路的布局应合理,避免元件之间的电磁干扰和机械碰撞。
EMC [ELAN Microelectronics Corp]公司的发展小趣事

随着公司的发展,义隆电子不断加大研发投入,致力于技术创新和产品多元化。公司拥有一支高素质的研发团队,拥有多项自主知识产权和核心技术。通过不断的技术创新和产品升级,义隆电子成功推出了微控制器、个人计算机外设芯片、数字显示器芯片等一系列具有市场竞争力的产品。同时,公司还积极拓展智能型人机接口技术之应用芯片等新兴领域,为未来的发展奠定了坚实的基础。

问答坊 | AI 解惑

ModBus

Modbus协议   摘 要:工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。   关键词:Modbus协议;串行通信;LRC校验;CRC校验;RS-232C ...…

查看全部问答>

sql ce 数据库数次开关后无法连接问题请教,急。。。

各位朋友好,我遇到的问题是:我在wince5.0中用ado访问sql ce数据库,平时连接数据库、读写数据库都没问题,我的程序是定时3秒写一个70个字段的数据,当我反复开关设备时(我们的设备是硬关机,即直接关电源,没有关机键),在一定次数后再打开程序 ...…

查看全部问答>

初学者对单片机的疑问?

在单片机中,程序设定一个输出引脚的为高电平3v,用这个高电平通过三极管的基极到电源负极去驱动负载, 我们知道三极管的基极的电阻很小,也就是三极管上的基极管压降只有0.4V左右,根据电路定律,那么是不是输出引脚对地的电压也只有0.4v,变成 ...…

查看全部问答>

TI有那几款双核控制器

TI有那几款双核控制器啊,比较成熟点儿的,M0和M4;M0和M3;DSP和M3;DSP和M4的都行…

查看全部问答>

程序运行中怎样修改f8wConfig.cfg参数

请教各位大神: 我现在都是通过烧写程序时直接在f8wConfig.cfg文件里修改自己需要的参数,实际应用时需要可以灵活的修改这些参数,总不能 每次都重新烧录程序吧。 请教有什么方法可以通过串口或者RF在程序运行中来实现f8wConfig.cfg文件中某些参 ...…

查看全部问答>

BBB 入门基础之针对Angstrom系统的OpenCV交叉编译

本帖最后由 lonerzf 于 2014-8-3 18:16 编辑 有个论坛的朋友遇到了点困难,原因很简单,我之前有个地方没讲明白。活动虽然结束了,但是这个缺少的工作还得补上呀。 上正题。 一、宿主机编译Opencv实际上是为了能添加一些目录啥的,不进 ...…

查看全部问答>

大家一起学算法精品书籍推荐(十五)算法之道

为什么要推荐这些资料?                    软件行业里一直有一种说法:程序=算法+数据结构。可见如果想要掌握程序设计的精髓,算法是必不可少的。        ...…

查看全部问答>

C2000学习之[2]:导入controlSUITE的示例工程

本帖最后由 nemo1991 于 2015-3-16 17:01 编辑 TI为C2000系列DSP创建的controlSUITE组件包包含了丰富的技术资源。对于入门学习而言,示例程序是非常重要的学习资料。以下,将介绍如何使用controlsuite的示例工程。注意:示例中使用的是自制的TMS3 ...…

查看全部问答>