一、功能简介
项目名:基于单片机的土壤温湿度检测系统
项目编号:dz-1097
单片机类型:STM32F103C8T6
具体功能:
1、 通过防水式DS18B20检测当前土壤的温度;
2、通过土壤湿度检测模块检测当前的土壤湿度,检测到土壤湿度小于最小值自动打开灌溉,直到湿度大于最大值;
3、通过SGP30检测当前环境的CO2浓度;
4、通过按键可以设置土壤湿度阈值;
5、通过显示屏显示数据
6、通过WIFI模块将测量数据发送到手机端,并可以设置阈值、控制灌溉,查看历史数据,生成历史数据折线图
7、通过锂电池进行供电。
二、系统框图设计
绘制软件:VISIO
本设计以STM32F103C8T6单片机为核心控制器,结合多种传感器模块和执行模块构建基于单片机的土壤温湿度检测系统,系统包括中控部分、输入部分和输出部分。中控部分采用STM32F103C8T6单片机,其主要功能是获取输入数据并控制输出部分。输入部分由以下模块组成:第一部分是温度检测模块,通过该模块可以获取当前土壤的温度;第二部分是土壤湿度检测模块,通过该模块可以检测当前土壤的湿度;第三部分是CO₂浓度检测模块,通过该模块可以检测当前环境的CO₂浓度;第四部分是按键模块,通过该模块可以设置土壤湿度阈值;第五部分是供电模块,采用锂电池为整个系统提供稳定的电源支持。输出部分由以下模块组成:第一部分是继电器模块,当土壤湿度小于最小值时自动打开灌溉,直到湿度大于最大值;第二部分是显示屏模块,用于显示当前检测的土壤温度、湿度和CO₂浓度等数据;除此之外是WiFi模块,用于将测量数据发送到手机端,并接收手机端的设置指令和控制灌溉操作。系统框图如图3.1所示。
三、32实物图
单片机型号:STM32F103C8T6
板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。
供电接口:TYPE-C
四、原理图
软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图
五、PCB图
由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
六、部分程序展示
软件版本:keil5
逻辑程序和驱动程序分开,分布于main.c和其他.c文件
/********************************** 函数名:处理函数 传参值:无 返回值:无 **********************************/ void Manage_Function(void) { if(display_num == 0) //测量界面 { if(humi_value < humi_min) // 当湿度值小于设置最小值,则启动水泵加水,直到加到最大值 { RELAY_GG = 1; } if(RELAY_GG == 1) { if(humi_value > humi_max) { RELAY_GG = 0; } } }