硬件开发_基于STM32单片机的家养绿植生长健康管理系统
一.系统概述
家养绿植生长健康管理系统具备以下功能:
-
主控及数据处理:系统采用STM32单片机作为主控,负责数据处理和外设的控制。
-
实时监测功能:实时监测土壤湿度,确保土壤水分保持在适宜范围内。同时,实时检测光照强度,确保植物获得足够的光照。
-
PH值监测:持续采集土壤的PH值,帮助用户了解土壤的酸碱性。
-
自动控制模式:根据检测到的数据进行自动调整;当土壤湿度过高时,系统将自动开启水泵进行排水;当光照不足时,系统根据设定的最低光照值自动开启补光灯。
-
手动控制功能:提供手动控制选项,用户可以通过按键自定义控制水泵模块、补光灯等三个外设。
-
数据显示与传输:通过OLED显示屏实时显示监测到的土壤湿度、光照强度和PH值等相关数据。同时,利用无线通信模块将采集的数据上传到小程序端,用户可以远程查看植物的生长情况和环境参数,并进行远程控制以启动补水和补光功能。
二.电路设计
电路图采用Altium Designer进行设计,主要包括以下内容:
-
核心控制单元:使用STM32F103C8T6单片机作为系统的主控,最小系统电路构成整个电路的核心。
-
温湿度检测:通过DHT11传感器进行温湿度检测,连接方式为通过one-wire总线与单片机的GPIO脚连接。
-
光强检测:采用光敏电阻模块进行光强检测,传感器的模拟输出端与单片机的模拟输入端相连。
-
水质PH值检测:使用玻璃型PH传感器测量水质的PH值,其模拟输出端与单片机的模拟输入端相接。
-
数据上传:通过ESP8266-01S将采集到的数据上传至上位机,利用UART串口与单片机进行通信。
-
阈值设定与手动控制:配置独立按键用于阈值设定和手动控制,按键一端接地,另一端连接至单片机的GPIO口。
-
温湿度调节及补液控制:通过继电器实现温度调节、湿度调节和补液控制,继电器的数据输出脚与单片机的GPIO脚连接。
三.程序设计
#include "sys.h"
#include "delay.h"
#include "adc2.h"
#include "math.h"#include "adc.h"
#include "key.h"
#include "OLED_I2C.h"
#include "Control_Report_To_Police.h"int main(void){ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级delay_init(); //延时函数初始化 Usart1_Init(115200); TIM4_Init(300,7200);Adc_Init();Adc2_Init();Adc_Init_ch0();KEY1_Init();OLED_Init();OLED_CLS(); //OLED清屏OLED_ShowCN(32,2,0); //小常硬件OLED_ShowCN(32+16,2,1);OLED_ShowCN(32+32,2,2);OLED_ShowCN(32+32+16,2,3);Relay_init();ALi_ESP8266_GPIO_Init();MQTT_Buff_Init();AliIoT_Parameter_Init();OLED_CLS();OLED_ShowCN(0,0,12); //小常硬件OLED_ShowCN(16,0,13);OLED_ShowCN(0,2,14);OLED_ShowCN(16,2,15);OLED_ShowCN(0,4,38);OLED_ShowCN(16,4,39);while(1){OLED_Display_Cotrol(); //显示控制函数}
}
四.资料内容
24-32-48