基于STM32单片机智能浇花系统/大鹏灌溉/土壤湿度控制系统/自动灌溉/ 手机显示控制/环境监测/远程监测

⭐项目概述

设计了一个基于STM32单片机智能浇花系统,该系统集成了多种环境传感器,包括土壤湿度、温度、光照强度和水位/雨水传感器,实现对环境参数的实时监测。通过OLED显示模块,系统能够直观展示环境数据,而ESP8266WiFi模块的加入则实现了数据的远程传输和监控,极大提升了管理者与系统的互动效率。在硬件设计部分,论文详细阐述了系统架构的搭建、传感器的选择及电路的实现。软件设计方面,重点讨论了基于STM32的程序开发、数据处理逻辑以及用户界面设计,确保了系统的高效率和易用性。

⭐实物图


⭐主要功能:

    1.监测土壤湿度、温度、光照强度和雨水/液位
    2.按键调节土壤湿度、温度、光强阈值
    3.当土壤湿度低时,自动启动水泵加水
    4.当温度高时,自动启动水泵加水
    5.当光照暗时,自动开启补光灯
    6.任何数据超过阈值,进行声光报警
    7.显示屏显示各参数数据和阈值
    8.wifi模块将当前数据温度、湿度、光照和雨水/水位到手机app显示
    9.分自动和手动两种模式,手动模式下可以通过手机控制灯光和水泵

⭐系统框图:

⭐系统原理图

⭐系统PCB板

⭐部分代码

    delay_init();             //延时函数初始化      
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);/
    LED_BEEP_Init();
    KEY_Init();
    Relay_Init();
    TIM2_Int_Init(72-1,1000-1);//定时1ms   72,000,000Hz/1,000Hz=72,000=72*1000
    uart_init(115200);         //串口1初始化为115200
    uart2_init(9600);
    OLED_Init();
    OLED_ColorTurn(0);//0正常显示,1 反色显示
    OLED_DisplayTurn(0);//0正常显示 1 屏幕翻转显示
    Adc_Init();
    userInit();
    gizwitsInit();
    gizwitsSetMode(2);

⭐数据显示代码

//信息显示
				OLED_ShowChinese(0,0,0,16,1);
				OLED_ShowChinese(16,0,1,16,1);
				OLED_ShowString(32,0,":",16,1);
				OLED_ShowChinese(56,0,30,16,1);
				OLED_ShowChinese(0,16,2,16,1);
				OLED_ShowChinese(16,16,3,16,1);
				OLED_ShowString(32,16,":",16,1);
				OLED_ShowString(56,16,"Lux",16,1);
				OLED_ShowChinese(0,32,4,16,1);
				OLED_ShowChinese(16,32,5,16,1);
				OLED_ShowString(32,32,":",16,1);
				OLED_ShowString(56,32,"%",16,1);
				OLED_ShowChinese(0,48,6,16,1);
				OLED_ShowChinese(16,48,7,16,1);
				OLED_ShowString(32,48,":",16,1);

⭐ 自动/手动模式代码

//自动或手动
		if(GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_5))
			{
				OLED_ShowString(96,48,"Man ",16,1);
			}
		else
			{
				OLED_ShowString(96,48,"Auto",16,1);
				//温度、土壤湿度低于阈值,打开水泵
				if(humidity<humii||temperature>tempp)
				{
					GPIO_ResetBits(GPIOB,GPIO_Pin_9);
					GPIO_SetBits(GPIOA,GPIO_Pin_8);
					GPIO_ResetBits(GPIOA,GPIO_Pin_12);
				}
				else
				{
					GPIO_SetBits(GPIOB,GPIO_Pin_9);
					GPIO_ResetBits(GPIOA,GPIO_Pin_8);
					GPIO_SetBits(GPIOA,GPIO_Pin_12);
				}
				//光照强度低于阈值,打开日光灯
				if(lux<luxx)
				{

					GPIO_ResetBits(GPIOB,GPIO_Pin_8);
					GPIO_SetBits(GPIOA,GPIO_Pin_8);
					GPIO_ResetBits(GPIOA,GPIO_Pin_12);
				}
				else
				{
					GPIO_SetBits(GPIOB,GPIO_Pin_8);
					GPIO_ResetBits(GPIOA,GPIO_Pin_8);
					GPIO_SetBits(GPIOA,GPIO_Pin_12);
				}
			}

⭐资料获取

我用夸克网盘分享了「系统资料.zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/7f35e46a7018
提取码:EM5r 

  • 26
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值