当前位置:网站首页>B001 - 基于STM32的智能生态鱼缸
B001 - 基于STM32的智能生态鱼缸
2022-08-01 17:33:00 【小小工程员】
摘要
本项目结合软件和硬件于一体,使用STM32F103系列单片机作为控制系统,对环境要素中的空气温湿度,光照强度,以及水温度进行采集与控制而设计的一款智能鱼缸检测控制系统,该系统能够精准采集当前鱼缸环境信息并将环境信息显示到LCD屏幕上以供实时查看,使用户能够实时了解到当前鱼缸的情况,并且用户还可以通过GSM短信实时查看和控制鱼缸的水泵循环系统以及LED照明系统。本项目设计成本较低,但是能够实时采集鱼缸环境信息,做到根据环境信息智能控制鱼缸生态环境,不需要花费用户太多时间,却能够做到养殖与观景两不误,非常适合家用观赏鱼养殖,实现实用与观赏价值的统一。
效果
1:所选鱼缸
2:改造,做线路。由于注重于模拟功能,没有过多注重外观设计,故显得略微杂乱。
效果


原理图

流程图

完成功能

- 光照强度检测
- 环境温湿度检测
- 鱼缸水温检测
- GSM与手机通信
- LCD显示参数信息
- LED做补光照明
- 三合一水泵控制
资料涵盖:
- 源程序
- 参考论文
- 原理图
- 多项参考资料
- 可加讲解
代码片段
/******************************************************************************* * 文件名称:基于STM32的智能生态鱼缸 * 实验目的:1. * 2. * 程序说明:完整程序Q:2772272579;@: [email protected] * 日期版本: *******************************************************************************/
/* Includes ------------------------------------------------------------------*/
#include "main.h"
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
/** * @说明 主函数 * @参数 None * @返回值 None */
int main(void)
{
u8 i=0;
int ret=0;
Relay_Init();
LED_Init();
LED_Control(ON);
Delay_ms(1000);
LED_Control(OFF);
Proc_Init();
USART2_Init();
Delay_ms(1000);//上电等待 1 秒是串口屏模块正常工作的前提,如果没有足够的等待时间模块有可能无法正常的接收指令而导致系统出错。
printf("CLR(LCD_ColorStructure.LCD_BackColor);DIR(3);SBC(LCD_ColorStructure.LCD_SBCColor);\r\n");
USART2_CheckBusy();
printf("DCV32(124,8,'初始化界面 ',%d);\r\n",LCD_ColorStructure.LCD_TextColor);
USART2_CheckBusy();
printf("DCV32(12,40,'制作人:*** ',%d);\r\n",LCD_ColorStructure.LCD_TextColor);
USART2_CheckBusy();
printf("DCV32(12,72,'正在检测DHT11接口:',%d);\r\n",LCD_ColorStructure.LCD_TextColor);
USART2_CheckBusy();
if(DHT11_Init() == 1)
{
printf("DCV32(300,72,'失败',%d);\r\n",1);
USART2_CheckBusy();
}
else
{
printf("DCV32(300,72,'成功',%d);\r\n",2);
USART2_CheckBusy();
}
USART3_Init();
Delay_ms(1000);//上电等待 1 秒是串口屏模块正常工作的前提,如果没有足够的等待时间模块有可能无法正常的接收指令而导致系统出错。
printf("DCV32(12,200,'GSM配置:',%d);\r\n",LCD_ColorStructure.LCD_TextColor);
USART2_CheckBusy();
for(i = 0;i < STABLE_TIMES;i++)//等待GSM网络稳定
{
delay_20ms(100);
ret = check_status(); //初始化配置
if(ret==1)
{
break;
}
}
if(ret == 1)
{
printf("DCV32(140,200,'通信成功 ',%d);\r\n",2);
USART2_CheckBusy();
Delay_ms(200);
ret = config_format();//配置
if(ret == 1)
{
printf("DCV32(140,200,'配置成功 ',%d);\r\n",2);
USART2_CheckBusy();
LCD_DefShow.state_gsm=0;
Delay_ms(500);
}
else
{
printf("DCV32(140,200,'配置失败 ',%d);\r\n",1);
USART2_CheckBusy();
LCD_DefShow.state_gsm=1;
Delay_ms(500);
}
}
else
{
printf("DCV32(140,200,'通信失败 ',%d);\r\n",1);
USART2_CheckBusy();
LCD_DefShow.state_gsm=1;
Delay_ms(500);
}
CLR_Buf();//清空串口数组,准备接收 GSM信息
printf("CLR(LCD_ColorStructure.LCD_BackColor);DIR(3);SBC(LCD_ColorStructure.LCD_SBCColor);\r\n");
USART2_CheckBusy();
ADC1_Init();
TIM4_Init();
ds18b20_init_x();
ds18b20_startchange();
while(1){
if(TIM4_FlagStatus.Flag_200MS == SET){
TIM4_FlagStatus.Flag_200MS = RESET;
if(LCD_DefShow.state_MD == 0)
LED_Control(REVERSE);
else
LED_Control(OFF);
Proc_200Ms();
}
if(find_string_flag == 1)
{
Delay_ms(1000);//延时一点,让串口把数据接收完成
if(Find((u8 *)"+CMTI"))//说明接收到了短信
{
ret = read_message();
if(ret == 1)
{
SIM800_CmdHandle();
}
CLR_Buf();
}
CLR_Buf();
}
LCD_Display();
}
}
边栏推荐
- 存储日报-数据湖架构权威指南(使用 Iceberg 和 MinIO)
- 04 flink cluster construction
- 2022年SQL经典面试题总结(带解析)
- 块级元素、行内元素、行内块元素
- How can become a good architect necessary skills: painting for all the people praise the system architecture diagram?What is the secret?Quick to open this article and have a look!.
- md5sum源码 可多平台编译
- hcip第九天
- [供应链·案例篇]石油和天然气行业的数字化转型用例
- 理财产品的月年化收益率怎么算?
- 金仓数据库KingbaseES安全指南--6.9. Ident身份验证
猜你喜欢

Unity ui点击事件只响应最上层ui的方式

吴恩达机器学习课后习题——kmeans

创造建材数字转型新视界,中建材如何多边赋能集团业务快速发展

JumpServer堡垒机部署

基于ORB-SLAM2的改进代码

hcip第九天

参观首钢园
![[Dark Horse Morning Post] Hu Jun's endorsement of Wukong's financial management is suspected of fraud, which is suspected to involve 39 billion yuan; Fuling mustard responded that mustard ate toenails](/img/d7/4671b5a74317a8f87ffd36be2b34e1.jpg)
[Dark Horse Morning Post] Hu Jun's endorsement of Wukong's financial management is suspected of fraud, which is suspected to involve 39 billion yuan; Fuling mustard responded that mustard ate toenails

统信软件、龙芯中科等四家企业共同发布《数字办公安全创新方案》

Vulnhub target drone: HARRYPOTTER_ NAGINI
随机推荐
力扣每日一题-第45天-697. 数组的度
素域和扩域
程序员架构修炼之道:如何设计“易理解”的系统架构?
Are online account opening commissions reliable? Is online account opening safe?
2022年SQL经典面试题总结(带解析)
SQL的substring_index()用法——MySQL字符串截取
个人日记
C # Excel helper classes
年化收益高的理财产品
C#Excel帮助类
Pytorch|GAN在手写数字集上的复现
2022年深圳市促进大健康产业集群高质量发展的若干措施
后台管理系统的权限思路
RecSys'22|CARCA:交叉注意力感知上下文和属性进行推荐
金仓数据库 OCCI迁移指南(2. 概述)
Winform的消息提示框帮助类
云商店携手快报税,解锁财务服务新体验!
2022 Strong Net Cup CTF---Strong Net Pioneer ASR wp
数字化采购管理系统开发:精细化采购业务流程管理,赋能企业实现“阳光采购”
DBPack SQL Tracing 功能及数据加密功能详解