首页 > 分享 > 基于STM32的自动养花系统

基于STM32的自动养花系统

一、本文将具体说明基于STM32的自动养花系统设计开发详情和流程,该系统可实现以下这些功能:

        本系统采用器件核心为STM32F103C8T6最小核心板。搭有Water Sensor水位传感器、土壤湿度传感器、光敏电阻、jw二氧化碳传感器、水泵、存储器模块等

系统可实现的功能:

        可实时检测植物的生长环境,检测土壤的湿度、空气中的二氧化碳、光照强度,并在OLED屏幕上展现。设有湿度、二氧化碳浓度、光照强度等阈值,当检测到的数据异常,则执行相应的操作,如:当土壤湿度过低,则打开水泵进行浇水,二氧化碳浓度过高则打开通风口,进行减低二氧化碳浓度处理;光照强度过低则进行补光。系统对于给植物浇花的水箱设有水位传感器实时检测含水量,过低则进行抽水补充,且设有阈值存储器,可实时的调整阈值范围,适应各种植物的养护。

        系统还搭有联网功能,使用的是机智云app云平台,可通过手机远程实时监测植物的环境参数,并可远程打开养护操作如:补光、抽水等功能。

植物养护系统(阉割版)

设计方向:系统含有两个操作模式,自动模式和手动模式。

自动模式:系统自动检测各种环境参量,参数异常则自动执行对应操作功能。

养花系统自动检测模式

手动模式:可人为在单片机通过按键查看各种环境参数,并执行对应的操作功能,每一功能模块为单独成立。

界面美化:为了美化操作界面,本系统对oled的界面显示进行了优化,每个功能进行单独分类,并通过按键选择对应的功能,减少操作冗杂。

 界面美化显示

 二、代码部分展示

Water Sensor水位传感器

检测水箱是否有水:

#include "water.h"

#include "delay.h"

#define WA GPIO_Pin_11

void Water_GPIO_Config(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE);

GPIO_InitStructure.GPIO_Pin = WA;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOB, &GPIO_InitStructure);

}

int Water_state(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin_x)

{

Delay_ms(10);

if( GPIO_ReadInputDataBit(GPIOx, GPIO_Pin_x) == 0)

{

return 1;

}

else

{

return 0;

}

}

if( Water_state(GPIOB, GPIO_Pin_11)== 0)

{

printf("rn有水");

}

else

printf("rn无水");

界面美化:

void Select_Show(void)

{

u8 key,num=0;

OLED_Clear(0x00);

while(1)

{

Wifi_date();

if(num<7)

{

Admin_show();

}

if(num>=7)

{

num=1;

}

key=key_scan();

if(key==1)

{

num++;

}

if(key==3)

{

OLED_Clear(0x00);

Smart_Greenhouse();

}

if(num==1)

{

OLED_Clear(0x00);

while(1)

{

Wifi_date();

Oled_ShowPic(0,32,64,64,(u8 *)pic4);

key=key_scan();

if(key==1)

{

num++;

break;

}

if(key==2)

{

Weather_Show();

}

if(key==3)

{

num=0;

OLED_Clear(0x00);

break;

}

}

}

if(num==2)

{

OLED_Clear(0x00);

while(1)

{

Wifi_date();

Oled_ShowPic(0,32,64,64,(u8 *)pic10);

key=key_scan();

if(key==1)

{

num++;

break;

}

if(key==2)

{

Soil_Show();

}

if(key==3)

{

num=0;

OLED_Clear(0x00);

break;

}

}

}

if(num==3)

{

OLED_Clear(0x00);

while(1)

{

Wifi_date();

Oled_ShowPic(0,32,64,64,(u8 *)pic15);

key=key_scan();

if(key==1)

{

num++;

break;

}

if(key==2)

{

Light_Show();

}

if(key==3)

{

num=0;

OLED_Clear(0x00);

break;

}

}

}

if(num==4)

{

OLED_Clear(0x00);

while(1)

{

Wifi_date();

Oled_ShowPic(0,32,64,64,(u8 *)pic18);

key=key_scan();

if(key==1)

{

num++;

break;

}

if(key==2)

{

C02_Show();

}

if(key==3)

{

num=0;

OLED_Clear(0x00);

break;

}

}

}

if(num==5)

{

OLED_Clear(0x00);

while(1)

{

Wifi_date();

Oled_ShowPic(0,32,64,64,(u8 *)pic24);

key=key_scan();

if(key==1)

{

num++;

break;

}

if(key==2)

{

Set_Show();

}

if(key==3)

{

num=0;

OLED_Clear(0x00);

break;

}

}

}

if(num==6)

{

OLED_Clear(0x00);

while(1)

{

Wifi_date();

Oled_ShowPic(0,32,64,64,(u8 *)pic28);

key=key_scan();

if(key==1)

{

num++;

break;

}

if(key ==2)

{

Wifi_Show();

}

if(key==3)

{

num=0;

OLED_Clear(0x00);

break;

}

}

}

}

}

如想获取整个代码的同学,可添加本人QQ1972218606。

本人可接单片机系统设计,学生价,有兴趣的可联系本人。

如本文章所设计的系统,淘宝上设计做出实物至少要8百左右,本人则需要一半的价格便可,如果只需要代码则更便宜,可自行上淘宝查看对比,欢迎有兴趣的朋友联系。

相关知识

18、基于STM32的自动浇花系统
基于STM32单片机的鲜花售卖机系统设计
基于STM32的智能花盆浇水系统设计
基于STM32的花卉大棚环境监测系统设计
基于STM32的土壤湿度检测自动浇水系统proteus仿真设计(仿真+程序+设计报告+讲解视频)
基于STM32的智能室内植物养护系统设计
基于STM32的智能家用空气质量监测系统设计
基于STM32和云平台的花卉养护系统设计(微信小程序)(209)
基于stm32的智能灌溉系统
基于STM32的植物浇水系统开发

网址: 基于STM32的自动养花系统 https://m.huajiangbk.com/newsview519624.html

所属分类:花卉
上一篇: 花卉温室控制系统设计(论文).d
下一篇: 江苏省农业农村厅 工作交流 保护