基于STM32单片机的智能鱼缸的设计

一、任务简介

       本次以STM32F103单片机为核心,设计了一款智能鱼缸,能够实现智能温控,智能换水,智能供氧,智能喂食等功能。利用单片机作为主控制器,使用Keil软件进行程序开发,除STM32F103C8T6最小系统外,系统还包含温度传感、水位传感、浑浊度传感等部分。

二、总体设计

       本文设计的智能鱼缸主要是在日常家庭中使用,成为一般家庭养鱼,改善生活品质的选择。此次设计的要求是完成对鱼缸中水质的自动检测控制,水位的自动检测控制,温度的自动检测控制以及对鱼缸内鱼类的自动喂食供氧功能。因此,智能控制的对象即为鱼缸内的水质,水温,水中含氧量以及鱼缸中的食物。但在实际操作过程中,温度和水质的检测较为容易,但是水中含氧量和鱼缸中食物数量的检测较为复杂。因此,在设计过程中,将智能鱼缸需要完成的功能设定为定时喂食,定时供氧,以及恒温控制,水质检测。

 三、硬件设计

      本设计的硬件部分主要是由STM32芯片进行控制处理,通过温度传感器DS18B20、浊度传感器TSW-30、以及用作水位检测的湿度传感器收集外部数据,将数据传输给STM32芯片,由芯片做出判断,控制继电器的开关,来控制外部的喂食、供氧、加热等设备的工作。

1、STM32F103C8T6介绍

      STM32F103C8T6是一款由意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,硬件采用LQFP48封装,属于ST公司微控制器中的STM32系列。实物如图2.2所示。

2、 DS18B20温度传感器

        DS18B20是美国DALLAS半导体公司推出的一种智能温度传感器,它能够直接读出被测温度。而且DS18B20可使系统结构简单化,具有更高的可靠性。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。

 3、浊度传感器

       浊度传感器模块的组成如图2.7所示。该模块通过 3Pin XH-2.54 接头与浊度传感器进行连接。调节 10K 蓝色电位器的旋钮可以对数字量输出触发阈值进行调节。

 

 

4、水位传感器

       土壤湿度传感器有两个裸露的叉形探针,其电阻根据土壤中的水分含量而变化。该阻力与水分含量成反比。土壤中的水分越少,电阻越高。传感器根据电阻产生输出电压,以此可以确定水分含量。当水分含量超过阈值时,将输出低电平,否则输出高电平。该传感器还具有两个LED通电后,电源LED指示灯将点亮。当输出变为低电平时,状态LED将点亮。

 三、软件设计

1、软件框图

 2、代码展示

#include "stm32f10x.h"
#include "bsp.h"

extern int t1count;
extern int t2count;

int main()
{
	
	int T1=1000,T1_last,flag1,flag2;
	u16 adcx1,v10,v11,v12,v13,v14;
	float volt1,adcy1;
	int temp_target=30;
	int temp,t1,t2,t3;
	u8 tem,h1,h2;
	BSP_Init();
	OLED_Init(); 
	OLED_Clear(); 
	TIM_Cmd(TIM2, DISABLE);
	
	while(1)
	{ 
if(humi<humi_target)
		{
		  PBout(1)=0;
		}
		else 
		{
			PBout(1)=1;
		}

	    adcx1=Get_Adc_Average(ADC_Channel_3,20);
		adcy1=adcx1;
		volt1=adcy1/4096*3.3;
		v10=volt1*1000;
		v11=volt1;
		v12=v10%1000/100;
		v13=v10%100/10;
		v14=v10%10;
		OLED_ShowString(4,3,"hh:",8);
		OLED_ShowNum(41,3,v11,1,8);
		OLED_ShowString(47,3,".",8);
		OLED_ShowNum(54,3,v12,1,8);
		OLED_ShowNum(61,3,v13,1,8);
		OLED_ShowNum(68,3,v14,1,8);
		OLED_ShowString(76,3,"v",8);

temp=DS18B20_Get_Temp();
		t1=temp/100;
		t2=temp%100/10;
		t3=temp%10;
		OLED_ShowString(4,1,"Turb:",8);
		OLED_ShowNum(41,1,t1,1,8);
		OLED_ShowNum(48,1,t2,1,8);
		OLED_ShowString(54,1,".",8);
		OLED_ShowNum(59,1,t3,1,8);
	    OLED_ShowString(66,1,"C",8);

OLED_ShowString(4,5,"High:",8);
		OLED_ShowString(64,5,"Low:",8);
		if(PBin(3)==1)
		{
		  OLED_ShowNum(43,5,1,1,8);
		}
		else
		{ 
		   OLED_ShowNum(43,5,0,1,8);
		}
		
		
		if(PBin(4)==1)
		{
		  OLED_ShowNum(104,5,1,1,8);
		}
		else
		{ 
		   OLED_ShowNum(104,5,0,1,8);
		}
if(t1count==999)  
	 {
	  t1count=0;                          
		TIM_SetCompare1(TIM4,10000);
		delay_ms(1000);
		TIM_SetCompare1(TIM4,1);
		delay_ms(1000);
	 }
	 
	 OLED_ShowNum(10,7,t1count,3,8);
	
	}
}

四、原理图

五、说明书内容

第1章  绪 论

1.1 研究背景及意义

1.2 国内外的研究现状

1.2.1 国外研究进展

1.2.2 国内研究进展

1.3 主要研究内容及章节安排

第2章 智能鱼缸硬件设计

2.1 需求分析

2.2 总体设计方案

2.2.1 设计要求

2.2.2设计方案

2.2.3 硬件总体设计

2.3 STM32F103C8T6介绍

2.3.1 STM32F103C8T6的主要特性参数和优点

2.3.2 STM32F103C8T6单片机最小系统引脚及原理图

2.4DS18B20温度传感器

2.4.1 DS18B20的主要特性及优点

2.4.2 DS18B20工作原理介绍

2.4.2 DS18B20引脚介绍及原理图

2.5 浊度传感器

2.5.1浊度传感器模块介绍

2.5.2配套浊度传感器介绍

2.5.3浊度传感器原理图

2.6水位传感器

2.6.1土壤湿度传感器工作原理

2.6.2水位检测装置原理图

2.7 MG996R舵机

2.7.1 MG996R舵机产品参数及工作原理

2.7.2 PWM简介

2.8继电器

2.8.1 电磁式继电器的参数及优缺点

2.8.2 电磁式继电器的工作原理及引脚定义

2.9本章小结

第3章 智能鱼缸软件分析

3.1软件总体流程

3.2编程语言选择

3.3Keil介绍

3.4 STM32开发方式的介绍

第4章  实物演示

4.1实物温度调节功能

4.2实物浊度调节功能

4.3实物水位调节功能

4.4实物定时喂食供氧功能

第5章  总结与展望

参考文献

致  谢

附录1:原理图

附录2:主程序

 

 有问题,私聊。微信:lwfw123456789

基于STM32家庭鱼缸设计,可以运用STM32单片机的优势和功能来实现多种智能化控制和监测功能。 首先,可以通过技术传感器(如温度传感器、湿度传感器、水质传感器等)来实时监测鱼缸内的环境参数。这些传感器可以与STM32单片机相连接,通过其内部的模数转换器将模拟信号转换为数字信号,并且可以利用STM32单片机的ADC(模数转换器)来读取传感器数据。通过这些传感器,我们可以实时监测到鱼缸内水温、湿度和水质等参数,从而为鱼缸提供适宜的环境。 其次,我们可以利用STM32单片机的PWM(脉冲宽度调制)功能来控制鱼缸内的设备,如LED灯光、水泵等。通过调整PWM信号的占空比,可以实现对设备的精确控制。例如,根据环境参数设定的阈值,当鱼缸温度过高时,可以通过PWM控制水泵将冷水注入鱼缸,以降低水温;同时,通过PWM控制LED灯光的亮度,为鱼缸提供适宜的光照。 此外,还可以将STM32与网络模块和手机APP相连接,实现远程监控和控制功能。通过网络模块,我们可以将鱼缸内环境数据上传至云服务器,以便用户可以通过手机APP随时随地远程查看鱼缸的状态,包括温度、湿度和水质等参数。用户也可以通过手机APP远程控制鱼缸内的设备,如打开或关闭水泵、调节灯光等。 综上所述,基于STM32家庭鱼缸设计可以实现多种智能化控制和监测功能,能够为用户提供方便、安全和舒适的鱼缸环境。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

5132单片机设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值