基于嵌入式的智能水族箱

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于嵌入式的智能水族箱

在观赏鱼的养护过程中,人们需要时刻注意投放饲料,补充氧气,保持温度,监控水质。完成这些既繁琐而又需要养鱼专业知识,这让忙碌的人们往往无暇顾及。此外,当人们外出旅游的时候,鱼儿无人照料很容易发生意外。为了达到改善这一情况的目的,本文提出设计出一款基于嵌入式控制技术的智能鱼缸,解决人们养鱼难管理的烦恼,探索更加智能化的生活。

标签:智能化生活;嵌入式系统;单片机控制;乐趣养鱼;物联网

1 系统功能组成

随着传感器技术的发展,各种传感信息的获取已成为可能,结合成熟的计算机信息处理技术,可以实现水质参数监测的数据化、实时化,并参考水产养殖的专家数据,通过控制加热设备、水循环设备、增氧设备该系统的控制对象是鱼缸,包括一个中央控制模块,其功能是通过嵌入式网络控制技术与用户通信,用户通过触摸屏实现溶氧控制开关、灯光控制开关、充气控制开关、加热控制开关、PH 值控制开关的远程控制等。

2 系统硬件结构

本系统核心控制芯片采用STC89C51单片机,该芯片使用简单、方便、成本低。DS18b20 温度传感器:工作温度范围-55°到+125°,转换为4mA~20mA 的电流输出,利用温度传感器实时监测水温并控制加热棒对对水体加热,利用换水来降温。传感器采集到的模拟电流信号分别送入4 个12 位A/D,转换成对应的数字编码,串行输入到数据处理模块单片机STC89C51。

经编程处理后相关数据送显示器显示实测数值,键盘用于设置水质参数专家数据,当水质不达标时进行相应的调整,温度太低时自动启动加热设备,水含氧量过低时启动增氧设备,水浑浊时自动启动水循环设备,实现水质的自动调整;用户随时可以在手机端查看所有设备状态,或控制设备开关,调整参数范围实现实时监控;当水质自动调整出现异常时,系统通过短信向用户发出相应的警报,提供对异常状况的适应能力。

系统设计时需要注意的水质及环境参数有:水溶氧量、水温、光强度、水质浊度等参数[1],表1 显示控制系统对各项参数的处理内容。

2.2 软件设计

本系统采用Keil C51 集成环境开发软件部分,它兼容了C语言软件开发系统,为用户提供了丰富的库函数和功能强大的集成开发调试工具。软件流程分为主流程和串口流程,主流程用来采集传感器数据、控制执行机构、自动调整,串口流程中进行手机指令的接收判断。

1)系统初始化

首先对系统进行初始化编程,硬件方面包括定时器,中断控制字等。软件方面包括定时器初值设置,水位高低、水温高低等初值设定。

void init()

{ EA=0;Init_BH1750();//光强传感器初始化

Ds18b20Init();//温度传感器初始化LCD_Yugang_Init();//显示初始化Uart_Config();

Timer0_init();

EA=1;}

2)显示模块

根据实际情况处理8 位数码管显示,显示分为两种状态,一种是参数编辑状态,配合按键控制模块,对系统状态进行手动或自动设置;另一种是非参数编辑状态,显示系统运行信息、各种系统参数等,如系统时间。

void LcdDisplay_wendu(int temp)//温度显示函数

{ uchar *t2;t2=numtochar(temp);

write_cmd(0x93);

write_dat(*t2++);

write_dat(*t2++);

write_dat(’.’);

write_dat(*t2++);}

3)采样检测模块

借助各种传感器获取环境参数的变化情况和状态。环境参数主要包括系统时间、水质温度、水位高低、进排水和溶氧度状态,照明控制状态等。

Wen=Ds18b20ReadTemp();//采集温度

Guang=BH1750_gettemper();//采集光强度

Rong=getstate_rongyangliang();//采集溶氧量

Zhuo=getstate_zhuodu();//采集浊度S

huiwei=getstate_shuiwei();//检测水位

4)按键检测和控制

按键被按下即进入中断模式,检测按键操作并獲取按键编码,而控制模块和显示模块则根据不同的按键编码完成不同的操作控制或显示相应的信息。

5)输出控制程序

根据系统时钟和按键处理信息,结合当前所处工作状态,实现充氧、进/出水、照明和恒温控制等工作参数的取值。

6)中断服务子程序

主程序中各种信息和数据处理子程序,一是放在缓存中,二是放在中断服务子程序中完成,本系统利用定时器中断服务子程序,在工作方式1 下,通过T0 中断服务子程序实现,为控制系统提供控制时间[3]。

void Timer0_init()//时钟初始化

{ TMOD|=0x01;

TH0=(-50000)/256;

TL0=(-50000)%256;ET0=1;

TR0=1;}

参考文献

[1]杨冬英:基于单片机的智能鱼缸设计。山西电子技术,2017.12.05

[2]华从辉,罗继东等:智能生态鱼缸。中国新通信,2017.11.05

[3]冯雅莉,郝宁生:基于单片机的全自动智能鱼缸清洁器系统设计。韶关学院,2015.04.15

[4]石蕊,卢宇环,刘昊:基于自动化控制的鱼缸管理系统设计。信息通信,

2013.11.15

相关文档
最新文档