基于STM32单片机的智能鱼缸系统设计
创作时间:
作者:
@小白创作中心
基于STM32单片机的智能鱼缸系统设计
引用
CSDN
1.
https://m.blog.csdn.net/2301_79003431/article/details/143055228
本文介绍了一种基于STM32单片机的智能鱼缸系统设计方案,该系统集成了温度监控、浑浊度监控、液位监控、定时喂食等多项功能。文章详细描述了系统的电路设计和程序实现,为硬件设计和嵌入式开发爱好者提供了一个实用的参考案例。
一.系统概述
智能鱼缸系统主要实现以下功能:
- 温度监控:
- 使用温度传感器实时监测鱼缸内的温度,数据通过OLED显示屏进行呈现;
- 当温度低于设定值时,系统会自动开启加热功能。
- 浑浊度监控:
- 通过透光率浑浊度传感器检测鱼缸水质的清澈程度,数据在OLED显示屏上显示;
- 当浑浊度超过设定阈值时,系统会启动换水装置进行清洁。
- 液位监控:
- 运用电阻式水位传感器检测鱼缸的水位高度;
- 当水位低于设定值时,系统自动启动加水功能。
- 定时喂食:
- 使用DS1302时钟芯片进行定时控制,并在OLED显示屏上显示当前时间;
- 到达预设时间后,系统自动进行喂食操作。
- WIFI远程控制:
- 使用ESP8266模块实现WIFI连接,将温度、液位、浑浊度数据上传至APP端;
- 用户可通过手机APP远程控制加热、加水和喂食操作。
- 按键设置与控制:
- 通过按键设定温度、液位、浑浊度的阈值;
- 按键也可用于手动控制加热、加水和喂食功能。
二.电路设计
电路设计采用Altium Designer进行绘制:
- 温度检测:
- 使用DS18B20温度传感器,并通过单总线与单片机通信。
- 数据显示:
- 采用0.96寸OLED12864显示屏,通过IIC总线与单片机连接。
- 时钟定时:
- 使用DS1302时钟芯片,通过SDA、SCK、DAT三个引脚与单片机连接。
- 按键控制:
- 独立按键用于设定阈值和控制系统功能,按键一端接地,另一端接单片机的GPIO口。
- 继电器控制:
- 通过继电器实现加热、加水和喂食功能,继电器的输出端与单片机的GPIO口连接。
- WIFI通信:
- 使用ESP8266-01S模块,将数据通过UART串口上传至服务器。
- 水位检测:
- 使用铜制水位感应板作为电阻式水位传感器,传感器的模拟输出端与单片机的模拟输入端连接。
- 浑浊度检测:
- 红外透光浑浊度传感器用于检测水质,通过模拟输出脚与单片机的模拟输入脚连接。
三.程序设计
#include "sys.h"
#include "delay.h"
#include "adc.h"
#include "math.h"
#include "key.h"
#include "OLED_I2C.h"
#include "Beep_Led_Relay.h"
#include "Control_Report_To_Police.h"
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init(); //延时函数初始化
Beep_init(); //PC15
Beep=0;//蜂鸣器初始化 系统上电后先让蜂鸣器停止叫
TIM4_Init(300,7200);
KEY_Init(); //PA11 PA12 PA15
OLED_Init(); //OLED初始化
Relay_init(); //PB8
Adc_Init1(); //PB0 水位检测
Adc_Init3(); //PA5 浑浊度检测
while(DHT11_Init()){} //PA12
DS1302_GPIO_Init_Write_Time(); //PA0 CLK PA1 DATA PA4 RST
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);
delay_ms(500);
OLED_CLS();
ALi_ESP8266_GPIO_Init();
MQTT_Buff_Init();
AliIoT_Parameter_Init();
// /*******显示汉字**********/
OLED_ShowCN(0,0,10);
OLED_ShowCN(0+16,0,11);
OLED_ShowCN(0,2,12);
OLED_ShowCN(0+16,2,13);
OLED_ShowCN(64,0,14);
OLED_ShowCN(64+16,0,15);
OLED_ShowCN(64,2,18);
OLED_ShowCN(64+16,2,19);
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}
四.资料内容
24-32-10
热门推荐
田永君院士团队再创奇迹:AM-III无定形碳材料超越金刚石
土茯苓鸡汤:冬季养生的暖心之选
冬季滋补,特色鸡汤家庭做法大公开
舌尖上的中国:各地特色鸡汤大揭秘
AI伴侣:情感计算的未来之路
尼山论坛热议:人类与AI情感关系的哲学思辨
伊莉莎效应:人类与AI的情感纠葛
《黑镜》&《她》:未来AI爱情故事
关于“救命药”硝酸甘油片的8个错误用法
莱州农村上梁,场面太热闹!讲究多,这些东西你见过吗?
得了高血压怎么办?一文详解防治要点
炎炎夏日,和家人一起开车自驾游有哪些注意事项?
Redis持久化机制选择:AOF还是RDB?
科普|揭开高血压的秘密:中西医综合治疗与预防全攻略
王阳明八字命理揭秘:心学与命运的交织
谢咏老师的八字命理分析秘籍:从基础到实战
夏日户外必备:被蜜蜂叮咬后的正确处理方法
中石油经研院发布2024年油气行业发展报告暨“十五五”展望
凌晨突发,北京一室内起火致1死4伤,又是因为……
八字身旺比劫旺,职场人际如何破?
八字比劫旺:你的命运如何破解?
山东磕头、广东送橘、陕北人扭秧歌……各地春节拜年习俗大盘点
Redis-dump-go:自动化管理Redis数据的新宠
Redis-dump:快速备份和恢复Redis数据库
Redis RDB持久化:高效备份与恢复策略
儿童文学经典推荐:《夏洛的网》——友谊与生命的赞歌
重新认识学生的自主阅读
亲子阅读的高级阶段:引导孩子进行深度思考与讨论
主张对华更强硬、不在乎乌克兰…特朗普竞选副手万斯的外交观点如何?
八段锦:助力戒色恢复的千年养生功法