基于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
热门推荐
重塑未来:60岁退休了可以找什么工作?揭秘中老年新职业机遇
郑州名胜古迹大揭秘:探寻千年古都的辉煌与韵味
《失落沙洲》:一首唱出内心失落的治愈之歌
项目经理这样进行项目汇报,让人眼前一亮
国产8米大轴承珠滚子精度突破,仅1微米误差引发产业变革
舌苔黄厚腻,是阴虚还是湿热?中医调理全攻略
在Matlab中,如何提取机器学习的模型参数
光线传媒股价大跌近15%,市值一天蒸发超148亿元
租的房子找不到房主本人如何办理暂住证
《黑神话:悟空》热度炸裂背后的神秘角色
教育部:指导职业学校积极设置养老服务相关专业
杭州燃气怎么开通?开通燃气服务需要哪些必要步骤?
隋朝:一个被误解的盛世王朝
U20亚洲杯国青队两连胜提前出线 这批年轻人如何做到异军突起?
草莓的神奇功效,你不可不知!
我国OK镜行业前景分析:近视防控带来旺盛需求,市场渗透率提升空间大
随身WiFi通过USB连接路由器共享网络 扩展网络覆盖范围
iGEM竞赛选题攻略:如何选择一个优秀的项目主题
2025年福利彩票春节休市公告及兑奖提醒
当心!一些高考志愿填报服务有“套路”
眼睛看物出现重影的原因是什么?这种症状可能预示着哪些疾病?
甲流凶猛,半夜急诊宝宝,七成呕吐!别慌,儿消化医生来教应对攻略……
八字桃花怎么看吉凶
从自由到职场:重返工作后的心路历程与自我价值的再发现
蓝牙耳机连接手机配对找不到
1250kva变压器10kv电缆选型指南
连接器的基础知识
宝宝不吃奶粉怎么办?揭秘原因,轻松应对!
超外差架构:无线通信的稳健之选
高性能与低功耗兼顾:选购笔记本必备指南