毕业设计 远程智能浇花灌溉系统 - stm32 单片机 嵌入式 物联网

article/2025/9/20 2:01:04

文章目录

  • 0 前言
  • 1 简介
  • 2 主要器件
  • 3 实现效果
  • 4 设计原理
  • 5 部分关键代码
  • 5 最后


0 前言

🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是

🚩 基于stm32的远程智控制浇花灌溉系统

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:3分
  • 工作量:3分
  • 创新点:4分

1 简介

通过wifi模块,结合云服务,实现远程控制浇花。这对于经常需要出差,但有偏爱花草的人来说,比较便利。

2 主要器件

  • STM32RBT6
  • WiFi模块
  • 温湿度传感器
  • 电机驱动

3 实现效果

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 设计原理

系统框架
在这里插入图片描述

实现原理

本系统硬件主要部件由STM32单片机,WiFi模块,传感器,电机驱动四部分组成。
其中STM32是整套系统的主控制器,负责整个系统的工作。
WiFi模块内部烧录好能够连接云端的SDK,这样能够保证系统正常的连接到云端,顺利的将数据上传到云,并且WiFi模块能够接受远程设备推送来的消息,然后将其传给STM32,从而使整套系统可以与云端对话。
传感器是本套系统的触觉系统,能够感知花瓶土壤表面的温湿度信息。
电机驱动是本套系统的执行部分,负责完成远程的控制命令。
将这几部分结合到一起就实现了一个简单的智能系统。
在这里插入图片描述

工作过程

  1. 系统定时3S上传一次温度和湿度信息到云端,通过远程手机客户端便可以查看花瓶当前的温湿度情况。
  2. 系统可以随时接手远程(手机客户端)发送来的控制命令,并且执行相应的命令。
  3. 结合云端的阈值报警功能,可以设置湿度低于某一值之后通过邮件或者短信等形式告知用户,然后用户在决策要不要浇花,如果需要就可以打开手机客户端,立刻给心爱的花草浇水了。

主要原理图

在这里插入图片描述

5 部分关键代码

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{static uint32_t eventTimeCount; //定时事件计数器static uint32_t motorTimeCount;//监控事件计数器static char ledState;          //LED灯状态翻转//tim1负责定时上传事件if(htim->Instance == htim1.Instance){eventTimeCount++;if(eventTimeCount >3000){eventTimeCount = 0;eventIsRun = 1; //开始执行相应任务}}//tim2负责浇水时间管理和液晶屏时间显示if(htim->Instance == htim2.Instance){motorTimeCount++;if(motorTimeCount >1000){motorTimeCount =0;//翻转LED灯状态ledState = ~ledState;if(ledState)HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_SET);elseHAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_RESET);if(flowerFlag)//是否有浇水命令,若有命令,启动浇水{start_flower();flowerCnt++;}if(flowerCnt > 4)//浇水时间到{stop_flower();flowerCnt = 0;flowerFlag = 0;}updateTimeCnt++;if(updateTimeCnt>10)//超时,则更新液晶屏时间{updateLcdIsRun = 1;updateTimeCnt=0;}}   }
}
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "key.h"
#include "spi.h"
#include "malloc.h"  
#include "DCConfig.h"
#include "text.h"	
#if (COMMUNICATION_MODE==0)
#include "common.h" 
#elif (COMMUNICATION_MODE==1)
#include "bc26.h"
#endif
#include "usart2.h"	#if (CODE_TYPE==2)
#include "dht11.h"
#include "soil.h"
#include "light.h"#endif
#if (CODE_TYPE==3)
#include "fire.h"   //Fire
#include "mq_25.h" //MQ25
#include "mq_135.h"
#include "pm25.h"
#endifint main(void){ 
//	u8 key,fontok=0; 	  delay_init();	    	 //延时函数初始化NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级	  uart_init(115200);	 	//串口初始化为9600	USART2_Init(115200);  //初始化串口2波特率为115200  ,WIFI模块SPI2_Init();		   	//初始化SPILCD_Init();				//初始化液晶 LED_Init();         	//LED初始化	 KEY_Init();				//按键初始化	  													    #if (CODE_TYPE==2)DHT11_GPIO_Config();Adc_Init_Light();Adc_Init_Soil();#elif (CODE_TYPE==3)Adc_Init_Fire();Adc_Init_MQ25();Adc_Init_MQ135();Adc_Init_PM25();#elif (CODE_TYPE==4)#endif   //初始化空气质量检测传感器mem_init();				//初始化内存池	  Lcd_Clear(WHITE);	 LCD_ShowString(5,20,128,16,16,"System Success!");delay_ms(1500);	Lcd_Clear(WHITE);//清屏	       #if (COMMUNICATION_MODE==0)atk_8266_test();		//进入ATK_ESP8266测试#elif (COMMUNICATION_MODE==1)Set_up_NBiot();#endif
}

5 最后


http://chatgpt.dhexx.cn/article/bsXoMQEW.shtml

相关文章

基于51单片机的智能浇花系统(可做毕设)

基于51单片机的智能浇花系统(可做毕设) 一、系统介绍二、仿真展示三、实物展示四、仿真过程五、代码1、ADC08322、LCD16023、按键4、水泵5、温湿度6、定时器7、main.c 五、完整工程 对LCD1602原理和操作掌握不好的可以看这篇: 快速掌握——LC…

毕设--自动浇花系统的设计

目录 毕设--自动浇花系统的设计1、作品实物图2、PCB原理图3、元器件清单4、土壤温湿度采集与显示5、硬件电路设计6、程序源码7、资料获取 毕设–自动浇花系统的设计 注:本毕设资源可在微信公众号:“Kevin的学习站” 中获取! 1、作品实物图 2、…

单片机毕业设计 自动浇花灌溉系统设计

文章目录 1 简介2 主要器件3 实现效果4 设计原理5 关键代码 1 简介 Hi,大家好,今天向大家介绍一个学长做的单片机项目 基于单片机的自动浇花灌溉系统设计 大家可用于 课程设计 或 毕业设计 选题指导,项目分享: https://gitee…

基于android智能浇花装置,一种基于WiFi通讯远程控制的智能浇花装置的制作方法...

本实用新型涉及自动浇水装置技术领域,具体涉及一种基于WiFi 通讯远程控制的智能浇花装置。 背景技术: 花卉作为一种极具观赏性的植物,在室内和室外广泛种植。上班族工作紧张,空闲时间较少,长期不在家时需要花草被照料。…

基于51单片机的自动浇花系统

目录 一、项目需求 二、仿真 三、程序 四、资料清单 资料下载地址:基于51单片机的自动浇花系统 一、项目需求 1、自动检测土壤湿度、温度、光照强度; 2、土壤湿度过低驱动水泵进行浇花; 3、LCD1602显示当前土壤湿度、温度、光照强度…

【IoT开发】基于机智云物联网的智能浇花教程

摘要:随着近年来物联网技术的发展,相关的技术已经广泛应用于人们的生产和生活中。文章针对长期无人在家时花卉植物的浇水问题,设计了一套基于物联网的智能浇花系统。系统采用STM32与51增强型单片机作为控制器,esp8266物联网模块作为通信设备,底层采用MQTT协议,连接到物联网云平…

条件概率的链式法则

条件概率 条件概率是指事件A在事件B发生的条件下发生的概率。条件概率表示为:P(A|B),读作“A在B发生的条件下发生的概率”。若只有两个事件A,B,那么, xx 事件发生时 yy 事件发生的概率: P(yy|x…

链式法则总结

链式法则(chain rule)微积分中求导法则,用于求复合函数的导数; 链式法则应用广泛,比如神经网络中的反向传播算法就是已链式法则为基础演变的;接下来先说说链式法则的概念然后通过链式法则的两种形式学习链式…

【深度学习数学基础之线性代数】研究使用链式法则进行反向传播的求导算法

链式法则 简单的说链式法则就是原本y对x求偏导,但是由于过程较为复杂,我们需要将函数进行拆分,通过链式进行分别求导,这样会使整个计算更为简单。 假设f k ( a b c ) f k(a bc)fk(abc) 通俗来说,链式法则表明&a…

微积分-链式法则

来看复合函数如何求导: 现实中要解决的问题,大多可以总结为这三种函数的组合 减法可以看做是加上某个函数的-1倍 除法可以转化为乘法 先来看加法 两个函数的和的导数,就是他们导数的和 两个函数sin(x)和 x 2 x…

求导——链式法则

参考文献:https://www.math.hmc.edu/calculus/tutorials/multichainrule/

【深入浅出】条件概率的链式法则:定义、公式与应用

前言 在概率论的研究中,条件概率是一种非常重要的概念。当多个随机事件发生时,我们有时需要考虑它们同时发生的概率。条件概率的链式法则就是一种用于计算多个随机事件同时发生的概率的方法。本文将会介绍条件概率的链式法则的定义、公式以及应用。 定…

深度学习基础6(微分,偏导,梯度,链式法则)

微积分 如下图所示,内接多边形的等长边越多,就越接近圆。 这个过程也被称为逼近法(method of exhaustion)。 事实上,逼近法就是**积分(integral calculus)**的起源 微积分的另一支&#xff0c…

浅谈神经网络之链式法则与反向传播算法

反向传播是训练神经网络最重要的算法,可以这么说,没有反向传播算法就没有深度学习的今天。但是反向传播算法涉及一大堆数据公式概念。所以我们了解导数计算过程以及要介绍的新的复合函数多层求导计算过程。 链式法则 简单的说链式法则就是原本y对x求偏…

链式法则-梯度更新公式推导(手写笔记)

虽然以前学过导数、偏导、梯度之类的相关知识,但时间久远导致总感觉晕晕乎乎的,于是自己推导一下具有一个隐藏层的神经网络的梯度反向传播公式,希望对大家有帮助。 笔记中指出了为什么会存在梯度消失以及梯度爆炸现象。 梯度消失 主要是由…

微积分拾遗——链式法则

链式法则(chain rule)微积分中求导法则,用于求复合函数的导数; 链式法则应用广泛,比如神经网络中的反向传播算法就是已链式法则为基础演变的;接下来先说说链式法则的概念然后通过链式法则的两种形式学习链式…

概率论 中的 链式法则

2个事件同时发生的概率: P(a, b) P(a | b) * P(b) 其中:P(a, b)表示 a和b事件同时发生的概率, P(a | b)是一个条件概率,表示在b事件发生的条件下,a发生的概率 3个事件的概率链式调用: P(a, b, c) P(a …

链式法则---微积分链式法则和概率链式法则

本篇介绍了微积分链式法则和概率链式法则。 一、概率链式法则 这里首先给出概率链式法则的公式:N个事件的概率链式法则如下, P(X1, X2, ... Xn) P(X1 | X2, X3 ... Xn) * P(X2 | X3, X4 ... Xn) ... P(Xn-1 | Xn) * P(Xn)。 概率链式法则的作用特别…

链式法则(chain rule)

链式法则 链式法则:两个函数组合起来的复合函数,导数等于里面函数代入外函数值的导乘以里面函数之导数; Quotient Rule Chain rule 代码实现