在这里插入图片描述

一.系统概述

鱼塘水质检测系统实现了对水质的实时监控、报警处理以及远程管理,充分利用STM32单片机的高效控制能力和无线通信功能,提升了系统的智能化水平和操作的便利性,主要功能包括:

  1. 环境参数采集

    • 以STM32单片机作为核心控制单元,实时采集鱼塘中的环境参数,如温度、浑浊度和液位信息。
    • 设计了数据显示功能,将采集的参数信息直观地显示在本地监控设备上。
  2. 参数设置与报警功能

    • 提供用户友好的按键界面,允许用户自定义各项参数的阈值。
    • 当监测参数低于设定的阈值时,系统会触发蜂鸣器发出警报,并自动控制加水泵运作以保持水质安全。
  3. 远程数据管理

    • 集成了无线通信模块,将实时采集的数据上传至服务器。
    • 监控平台能够通过访问服务器数据,实现对鱼塘水质的远程监控与管理。

在这里插入图片描述

二.电路设计

电路设计采用Altium Designer,主要组件包括:

  1. 系统主控:以STM32F103C8T6单片机作为系统的核心控制器,最小系统电路构成了设计的基础。

  2. 温度检测:利用DS18B20温度传感器进行温度监测,数据通过单总线接口与单片机进行通信。

  3. 阈值设置:配备独立按键供用户设定阈值,其中一个端口接地,另一端连接至单片机的GPIO接口。

  4. 报警系统:集成有源蜂鸣器作为报警装置,采用NPN三极管驱动蜂鸣器,确保在需要时能够发出警报。

  5. 水位检测:使用铜制电阻式水位传感器,传感器的模拟输出端与单片机的模拟输入端相连,用于实时监测水位情况。

  6. 数据显示:通过0.96寸OLED12864显示屏将数据可视化,采用IIC总线连接至单片机,便于信息的传递和显示。

  7. 水质PH值检测:使用玻璃型PH传感器监测水质的PH值,其模拟输出端也连接至单片机的模拟输入端。

  8. 继电器控制:通过继电器的输出引脚连接至单片机的GPIO,以实现对相关设备的控制。
    在这里插入图片描述

三.程序设计

#include “sys.h”
#include “delay.h”
#include “adc2.h”
#include “math.h”
#include “adc.h”
#include “key.h”
#include “OLED_I2C.h”
#include “Control_Report_To_Police.h”

int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init(); //延时函数初始化
Usart1_Init(9600);
TIM4_Init(300,7200);
while(DS18B20_Init()){}
OLED_Init();
OLED_CLS();
Adc_Init_ch0();
Adc2_Init();
KEY1_Init();
Beep_init();
Led0_init();
OLED_ShowCN(32,2,0);
OLED_ShowCN(32+16,2,1);
OLED_ShowCN(32+32,2,2);
OLED_ShowCN(32+32+16,2,3);
OLED_CLS();
OLED_ShowCN(0,0,10);
OLED_ShowCN(0+16,0,11);
OLED_ShowCN(0,2,35);
OLED_ShowCN(0+16,2,36);
OLED_ShowCN(0,4,37);
OLED_ShowCN(0+16,4,38);
OLED_ShowCN(16+16,4,39);
ALi_ESP8266_GPIO_Init();
MQTT_Buff_Init();
AliIoT_Parameter_Init();
while(1)
{
OLED_Display_Cotrol(); //显示控制函数
}
}

四.资料内容

在这里插入图片描述

24-32-14

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐