一、基本介绍
功能:
1、通过DHT11检测温湿度,当温度值不在设置的上下限,则进行加热或风扇降温,并蜂鸣器报警,当湿度值低于设置最小值,则启动喷雾器,并蜂鸣器报警
2、通过光敏电阻配合ADC0832检测光照,当光照值大于设置最大值,则启动遮阳网(步进电机正转)
3、通过通过DS1302获取时间,可通过按键设置补光时间,在补光时间内且光照低于设置最小值,则启动补光,直到时间结束
4、通过按键可设置各阈值
5、通过LCD1602显示温湿度、光照值、时间
6、通过GSM,可发送“温度过低,加热中”、“温度过高,降温中”、“湿度过低,加湿中”、“光照过低,补光中”、“光照过高,遮光中”
二、51实物图
单片机型号:STC89C52
板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。
供电接口:TYPE-C

三、仿真图

四、资料预览


五、原理图

软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图
六、PCB图
由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。

七、系统框图
本设计以STC89C52单片机为核心控制器,加上其他模块一起组成此次设计的整个系统,其中包括中控部分、输入部分和输出部分。中控部分采用了单片机控制器,其主要作用是获取输入部分的数据,经过内部处理,逻辑判断,最终控制输出部分。输入由五部分组成,第一部分是光照采集模块,通过光敏电阻测量光照强度;第二部分是温湿度检测模块,通过DHT11检测温湿度,当温度值不在设置的上下限,则进行加热或风扇降温,并蜂鸣器报警,当湿度值低于设置最小值,则启动喷雾器,并蜂鸣器报警;第三部分是时钟检测模块,通过通过DS1302获取时间,可通过按键设置补光时间,在补光时间内且光照低于设置最小值,则启动补光,直到时间结束;第四部分是按键模块,通过该模块可以切换界面、设置阈值、切换模式等;第五部分是供电模块,通过该模块可给整个系统进行供电。输出由五部分组成,第一部分是LCD显示模块,通过LCD1602显示温湿度、光照值、时间;第二部分是蜂鸣器报警模块,当温度值不在设置的上下限,则进行加热或风扇降温,并蜂鸣器报警,当湿度值低于设置最小值,则启动喷雾器,并蜂鸣器报警;第三部分是GSM通信模块,通过GSM,可发送“温度过低,加热中”、“温度过高,降温中”、“湿度过低,加湿中”、“光照过低,补光中”、“光照过高,遮光中”;第四部分是步进电机控制模块,通过该模块控制系统进行加热或风扇降温。第五部分是继电器控制模块,通过该模块控制系统对应功能的操作。具体系统框图如图3.1所示。

八、软件设计流程

九、部分程序展示
软件版本:keil5逻辑程序和驱动程序分开,分布于main.c和其他.c文件
/****
*******处理函数
*****/
if(temp_value > temp_max*10) //温度大于最大值启动风扇和蜂鸣器,关闭加热,同时发送短信“温度过高,降温中”
{
JR = 0;
FS = 1;
temp_high = 1;
temp_low = 0;
if(flag_temp_high == 0)
{
send_msg_chinese("6E295EA68FC79AD8FF0C964D6E294E2D");
flag_temp_high = 1;
flag_temp_low = 0;
}

被折叠的 条评论
为什么被折叠?



