基于STM32单片机的智能鱼缸设计
引言
随着社会经济的迅速发展袁生活质量的提高袁人们对家庭休闲娱乐设施的需求也不断增加袁水族宠物行业也因此蓬勃发展遥据叶2021年中国宠物消费趋势研究报告曳中显示袁2020年在我国因养宠物的人数日益增多所拉动的宠物行业的规模已经在向3000亿元靠拢遥疫情带来的更多潜在养宠人及情感消费袁预计到2023年规模将达到4456亿元遥在大城市生活的居民和90后尧00后的年轻一代因不同的身份和个性等原因袁养殖的宠物种类由猫尧犬等常规宠物转移到养水族类宠物或异宠遥据统计袁2021年养殖宠物的类别结构中袁水族类宠物的占比达到了16%袁成为了非猫尧犬宠物中的第一选择袁而且有接近两成的宠物养殖者开始野智能养宠冶袁使用科技的力量养殖宠物遥智能宠物用品在两个方面受到主要的关注,一个是宠物用品的科技属性和便捷程度袁另一个就是最重要的安全性遥既能使宠物养殖者省时省力袁还能更好的照顾宠物遥
由于当前市场上常见的智能鱼缸的科技属性和便捷程度并不高袁为了能给观赏鱼养殖者提供一种便捷程度高尧自动化程度高尧成本低尧节能且高效的智能鱼缸遥本文选用A R M 公司的STM 32F103ZET6单片机作为主控制板设计了一款基于STM 32单片机控制的智能鱼缸[1-3]袁该智能鱼缸可以实现定时自动喂食尧根据预设温度自动调节水温尧根据水位自动换水袁并且还能提供外围娱乐氛围灯光尧换氧机
等遥用户可以使用手机蓝牙与鱼缸进行无线连接袁在A PP 上设置鱼缸的温度等所需参数尧远程进行喂食
和监控鱼缸内部的状态等袁并且可以选择所养殖的鱼种袁自动将鱼缸设置为最适宜该鱼种生存的环境遥该系统包含控制鱼缸测温和加热尧定时投食尧水位检测和自动加水尧室温检测尧水质的检测尧远程监控尧蓝牙通信七个子系统遥鱼缸为用户提供了三种操作模式袁分别为自动模式尧手动模式和远程模式[4-6]遥1
系统总体设计
智能鱼缸的核心处理器为STM 32F103ZET6单片机遥智能鱼缸的总体构造由图1可示遥该系统主要由九个模块组成袁由主控制模块渊STM 32单片机核心处理器冤为核心袁向外延申出继电器模块尧电源模块尧蓝牙通信模块尧定时喂食模块尧智能温控模块尧自动换水模块尧用户操作模块和其他执行单元组成袁该系统与鱼缸相结合袁组成智能鱼缸[7]遥智能鱼缸通过STM 32F103单片机与室温检测传感器尧
水温检测传感器尧水位检测传感器和光照度检测传感器相连遥其中主控制模块STM 32单片机的G PI O 接口与温度传感器尧水位传感器尧喂食模块使用的舵机尧蓝牙模块尧继电器尧矩阵键盘连接在一起遥继电器模块通过单片机与加热器尧氛围灯尧换氧机尧水泵连接遥单片机通过蓝牙模块与手机A PP 进行数据的传输和交换遥喂食时间采用单片机中的定时器袁当系统检测到定时器达到预设值时驱动舵机将基于STM 32单片机的智能鱼缸设计
勋袁康荣显袁王
玥袁张新宇袁刘小龙袁王晓童
渊赤峰学院物理与智能制造工程学院袁内蒙古
赤峰
024000冤
摘要院随着经济水平的迅速发展袁人们对家庭娱乐设施的需求越来越高袁休闲水族行业也正是在这
种需求下应运而生遥目前国内市场上常见智能鱼缸的功能性并不强袁自动程度较低袁控温模块尧加氧模块尧自动投喂和水位调节模块采用的是互相独立的组件袁不但使用时不方便袁而且成本比较高遥本文设计了一款可以根据需要自动调节水温袁自动加氧尧自动喂食和远程控制与管理的智能鱼缸袁在节省经济的同时降低了养殖难度遥
关键词院ST M 32曰智能鱼缸曰设计中图分类号院TP273文献标识码院A 文章编号院1673-260X 渊2022冤05-0010-05
收稿日期院2022-02-11V ol .38N o.5
M ay 2022
赤峰学院学报渊自然科学版冤J our nalofChi f eng U ni ver s i t y (N at ur alSci ence Edi t i on)第38卷第5期2022年5月
食物投放到鱼缸中遥2系统硬件设计2.1
主控制模块
智能鱼缸的主控制模块使用的是STM 32F103
ZET6单片机与转接控制板袁该单片机成本较低尧功耗不高尧资源丰富遥最高72M H z 的工作频率使其工作的速度非常快遥该单片机片内的Fl as h 存储为512K byt es 袁足以将鱼缸所需要的变量和参数存储在Fl as h 上遥单片机内部集成了多达8个定时器袁包含3个16位定时器袁两个看门狗定时器和系统时间定时器袁单片机根据时钟信号的频率一拍一拍地进行工作遥单片机具有2个I 2C 渊I nt er I nt egr at ed C i r cui t 冤总线接口袁3个U SA R T 渊U ni ver s al Syn 鄄chr onous A s ynchr onous R ecei ver /Tr ans m i t t er 冤接口和2个SPI 渊Ser i al Per i pher al I nt er f ace 冤总线接口遥单片机含有3个采集速度快尧精度高的的12位的高速数模转换电路遥具有引出I O 口106个袁采用2*27排针引出袁可以同时控制温度传感器尧投食结构尧加热器尧继电器模块尧换氧机等多个元件遥智能鱼缸主控制模块引脚使用情况及功能简介如表1所示遥
2.2电压模块设计
智能鱼缸使用220V 交流电供电遥因水泵尧换
氧机LED 灯带和传感器分别需要使用12V 和5V 的直流电供电袁故使用降低电压并转换电流的装置将220V 交流电转化为12V 直流电袁为水泵尧换氧机等装置供电遥并使用LM 2596S-A D J 可调稳压降压芯片将12V 直流电转化为5V 直流电遥
主控制模块的STM 32单片机采用3.3V 直流电源袁通过电压调整芯片将220V 交流电源调整到5V D C 后袁再使用降低电压稳压芯片降压后转化为
3.3V 直流电袁通过滤波后提供给单片机遥同时降低电压稳压芯片具有过流过载过压保护袁可以有效降低由于过流过载过压对于单片机的伤害遥2.3
温度传感器
室温检测和水温检测采用返回值为数字的D S18B 20传感器袁D S18B20温度传感器是一款常用的只有一条控制总线的数字温度传感器袁它的功能十分强大袁最低测试温度可以达到零下55摄氏度袁最高测试温度可以达到125摄氏度袁在足够日常生活的使用袁而且它的体积非常小巧尧抵抗外界干扰的能力也比较强袁测试温度的误差非常小遥D S18B 20连接到核心控制模块的的PA 6和PA 7引脚上袁在初始化
阶段时袁首先让Pi n_A 的时钟使能袁其次将PA 6和PA 7的引脚模式设置为输出模式袁为推挽输出模式遥初始化结束后袁通过D S18B 20的一条控制总线袁向传感器分别传输0xCC 尧0x44和0xBE 指令袁其中0xCC 这个指令执行的任务跳过R O M 曰0x44指令启动温度转换曰0xBE
指令为读取
图1智能鱼缸的总体构造图
引脚类型连接设备
功能
PA 9尧PA 10U SA R 蓝牙无线模块与手机进行数据通讯PA 6尧PA 7G PI O 温度传感器获取水温度PB5G PI O 投食结构控制投食机构投食PB6G PI O 加热器控制加热袁使鱼缸中
的水升温PB7G PI O 换氧机启动增氧泵PB8尧PB9G PI O 继电器模块打开鱼缸照明灯PA 2尧PA 3I 2C 显示器与显示屏进行连接袁
进行显示PB 10G PI O 水位传感器检测鱼缸中的水位
PB 11
G PI O
蜂鸣器
报警
表1
单片机上各引脚定义和功能介绍图2温控模块逻辑图
温度转换值遥它能输出数字信号的温度遥温度检测电路模块实现的功能是:当系统检测到缸中温度过低时袁驱动升温装置为缸中的水加热袁避免水温过低而导致缸中生物死亡袁当温度达到预定温度时袁关闭加热器遥其温控模块逻辑图如图2所示遥2.4
光照度传感器
光照传感器实现检测光照度功能的主要是依靠其内部的光敏电阻袁通过检测输入引脚模拟输入的电压袁由于光敏电阻的阻值会因光照度的变化而变化袁输出的电压会发生变化袁便可以检测光照度的变化情况遥因为光照度传感器的输出是电压袁电压并不是单片机能直接识别的数字量袁而是模拟量袁所以需要将光照度传感器的引脚连接到核心控制模块的A D 转换接口遥在初始化阶段袁首先将Pi n_A 的时钟使能袁将与光照度传感器与核心控制模块连接的PA 4引脚配置为模拟输入模式袁通过核心控制模块的数模转换渊A D C 冤来检测模拟输入的电压的变化遥由光照度传感器组成的水质检测模块实现的功能是:通过光照度传感器来感受水的浑浊成度袁当水质太差时袁发送信号驱动蜂鸣器进行报警遥光照度传感器逻辑图如图3所示遥
2.5水位传感器
水位传感器本装置采用非接触式的液体位传
感器袁它不需要和液体直接接触袁所以它不会受到水垢或其他杂物的影响袁而且不会受到腐蚀液体对传感器的伤害袁极大的延长了使用的时间袁适用容器外壁不是金属的容器检测水位遥采用输出为高电平和低电平的传感器袁当感应到有液体的时候袁传感器输出为高电平袁没有感应到液体时输出低电平遥水位检测电路模块实现的功能是:当水位传感器检测到缸中水位过低时袁驱动抽水泵进行加水功能袁驱动蜂鸣器进行报警遥并更新状态遥当水位传感
器检测到鱼缸中水位达到预设的最高水位时袁关闭加水泵遥水位检测逻辑图如图4所示遥
2.6显示器模块
显示器采用的是大小为2.8寸的TFT 液晶屏
显示屏温度遥该液晶屏通过I 2C 总线连接袁可以显示字符与文字袁完全满足温度显示尧水位显示尧室温显示尧鱼缸状态等要求遥2.7
开关模块
开关模块分为手动开关与电子锁袁手动开关控制整体的电源接通与关闭袁电子开关是通过手机的远程控制来决定系统是否开启袁还保留手动控制的方法打开电子开关遥当手动开关开启时袁电源接通袁电源开始对鱼缸正常供电袁在远程控制的电子开关打开的同时袁系统开始正常运行遥2.8
执行单元
执行单元由LED 灯带尧换氧机等外围元件组成遥他们通过继电器与核心控制模块相连接袁其中
继电器采用低电平触发的J Q C -3FF-S-Z 继电器袁在使用低电平触发的同时还具有光耦隔离袁抵抗外界的干扰的能力非常强袁而且驱动的能力比较强尧信号稳定袁输入的控制信号的电压范围是0-5V D C 袁可以负载250V 尧10A 的交流电或30V 尧10A 的直流电袁并且可通过指示灯判断开关的状态遥LED 使用三路控制袁为V CC 尧G N D 和信号线袁当继电器低电平控制LED 点亮袁高电平熄灭LE D 袁信号线用来控制LED 灯带所显示的颜遥2.9
按键模块
按键模块采用的是4*4的矩阵键盘遥4*4矩阵键盘仅仅使用8个引脚即可检测16
个按键是否被
图3
光照度传感器逻辑图图4水位检测逻辑
按下袁故体积较小袁节省整体的空间遥软件中使用4*4编码键盘检测来检测是否有按键按下袁若有按键按下则通过扫描的方法去确定按下的键是哪一个键袁然后执行这个键对应的操作遥
2.10系统复位
系统复位操作就是按下单片机的复位按键后袁产生一个复位信号袁单片机收到复位信号后袁进入复位状态袁使单片机的中烧写的程序从执行m ai n 函数从头执行遥STM32单片机的复位端口为R E S袁在复位电路中:连接上拉电阻袁SW-PB为复位按键袁按下SW-PB后袁R E S引脚收到低电平信号袁系统进入复位状态遥当复位按键没有被按下时袁R E S引脚接在上拉电阻上袁为高电平状态袁单片机系统便正常工作遥系统复位按键电路图如图5可示遥
3系统软件设计
该鱼缸使用的编程语言为C语言袁在K ei l5 K el i uV i s i on5这个编程软件上编程袁以A R M公司的STM32F103作为核心控制模块遥多种传感器各司其职的检测鱼缸内部的环境情况袁将检测的参数通过G PI O接口传送到核心控制模块中袁核心内部模块将根据传入的信息进行相应的操作遥
当手动开关打开后袁鱼缸会被供电袁此时核心控制模块启动板层驱动程序的初始化后袁初始化G PI O
引脚模式尧时钟使能状态尧串口波特率尧定时器的初始化等操作遥初始化过后袁鱼缸的核心控制模块会开启由电子锁控制的模式袁当电子锁被打开后袁核心控制模块收到信号后袁单片机进入正常模式袁开始继续执行m ai n函数遥当电子锁未被打开时袁单片机进入休眠模式袁以较少的能量消耗维持单片机运行袁等待电子锁被打开遥
其中袁m ai n为程序中的主函数袁m ai n函数中首先进行对各个模块的初始化工作袁其中包括了G PI O引脚初始化尧延时函数初始化尧串口波特率初始化和中断优先级初始化等一系列的正常工作前对所使用单片机功能的初始化遥初始化完成后袁m ai n函数将调用各个模块工作所需要的子程序袁如温度检测子程序尧判定温度是否过低或过高的子程序等等袁将所有鱼缸中的传感器所传回的信息进行判断袁判断后返回对应的返回值袁再根据返回值的不同从而让核心控制模块执行不同的操作袁根据返回值袁核心控制模块也会将当前鱼缸中的状态通过屏幕反馈给用户遥此鱼缸的程序共有三种操作模式供用户选择使用袁分别为自动模式尧手动模式和远程模式遥当鱼缸正常启动时袁会直接进入自动模式袁自动进行对鱼缸的检测和驱动其他执行单元进行操作袁与此同时智能鱼缸的用户也可以通过使用手机与智能鱼缸的蓝牙模块进行连接后袁会将操作模式由自动模式切换为远程模式袁用户也可以通过4*4的矩阵键盘来控制核心操作模块的参数袁操作模式便会切换为手动模式遥
3.1自动控制
当核心操作模块被供电且电子锁处于打开状态时袁系统将自动进入自动模式袁自动进入m ai n中函数中按顺序执行程序中的命令遥当系统处于自动模式时袁核心操作模块会收到来自通过G PI O连接的水温传感器尧室温传感器尧光照度传感器尧非接触式水位传感器传回的参数遥其中袁水温传感器会返回此时鱼缸中的水温袁当传回的温度低于系统预设的温度时袁核心操作模块会使用通过G PI O连接的继电器模块来控制加热棒的使能从而进行对鱼缸中水的加热袁同时核心操作模块会将温度传感器返回的温度和此时加热器是否开启的信息通过显示屏显示出来袁当STM32F1单片机接受到温度传感器所检测到的温度到达预设温度袁若此时加热棒处于加热状态袁则停止加热袁LE D显示屏会同步显示温度和加热棒开关情况曰当STM32F1单片机接收到水位传感器为缺水状态袁则进行报警袁通过继电器驱动水泵进行加水功能袁同时LED显示屏会同步显示当前状态曰当单片机接收到定时器达到预设值时袁则驱动舵机将鱼食投入鱼缸中袁之后将数据显示在LED显示屏上遥
3.2手动操作
当核心操作模块通过对4*4矩阵键盘的扫描程序中检测到有按键被按下时袁系统将自动切换为手动操作遥可以通过外置的矩阵键盘来设置鱼缸中所需要的水温最高温度与水温最低温度尧自动喂食间隔尧换氧机的启动尧LE D灯带的启动与颜尧水位最低阈值与最高阈值尧水泵的启动等操作袁优先级为最高遥
3.3远程操作
当用户使用手机与鱼缸中的蓝牙模块进行连图5系统复位按键电路图
赤峰娱乐接后袁鱼缸会由自动模式切换为远程模式袁通过手机向蓝牙模块发送信号从而进行对鱼缸的远程控制功能遥远程模式与手动模式不同袁想要实现鱼缸的远程操控的功能袁就需要对实现远程操作的信号和指令的传送方式进行选择遥因远程信号的发射器与鱼缸使用的远程信号接收器的距离比较近袁且没有较多的障碍物和遮挡的物体对信号进行阻拦袁所以本文便采用日常中比较常见和经常使用的B l uet oot h 渊蓝牙冤就可以实现鱼缸的远程操控的功能遥因需要使用手机与鱼缸的蓝牙模块连接袁为用户使用的便捷性和简单化袁于是通过使用A ndr oi d St udi o 制作了安卓手机使用的A PP 袁其主要功能有野控制加热器冶野控制灯光冶野其他模式选择冶野显示当
前鱼缸状态冶等遥利用单片机中的串口通信功能袁实现了蓝牙模块与核心控制模块信息的交互袁从而进一步实现了远程操作控制鱼缸的核心控制模块从
而控制鱼缸的功能遥鱼缸通过蓝牙进行远程对鱼缸控制的结构图如图6所示遥
4智能鱼缸远程控制A P P 设计
本设计所使用的手机端远程控制A PP 是由
A ndr oi d St udi o 软件设计实现的袁该软件主要实现安卓系统的软件设计和开发袁采用K ot l i n 作为主要编程语言遥
该A PP 设计的A ct i vi t y 中主要使用R ecy 鄄cl er V i ew 控件袁R ecycl er V i ew 是很常用的一种数据展示的控件袁它与传统使用的Li s t V i ew 相比较袁不但可以轻松地实现和与Li s t V i ew 相同的滚动显示功能袁还优化了Li s t V i ew 中的不足之处袁成为本程序使用A ct i vi t y 中优先使用的控件遥A PP 中使用R ecycl er V i ew 作为一个列表视图袁并且智能鱼缸中每个功能的展示的条目布局是一致的袁因此在创建i t em 的布局时袁每一个区域都对应了一个图片控件和一个文本控件的展示和点击跳转布局的点击事件袁创建监视器创建点击事件进行布局的跳转袁跳转到不同的设置界面遥传感数据监测页面袁R ecy 鄄
cl er V i ew 控件把鱼缸各区域的传感数据展示到了界面中袁看起来结构清晰袁也更加美观遥基于STM 32的智能鱼缸app 设计界面如图7所示遥
5
结语
本文基于STM 32单片机控制的智能鱼缸采用
STM 32F103ZE T6单片机作为主控芯片袁实现了鱼缸的定时投喂尧水温调节尧智能增氧尧自动换水等功能袁同时也可以满足用户远程控制的需求遥该系统具有操作简单尧性能稳定袁人机交互更加直观等特点遥随着智能家居的快速发展袁智能化鱼缸的发展前景十分可观袁具有良好的市场价值遥
要要要要要要要要要要要要要要要要要要
要参考文献院
也1页张杰斌,谢泽奇.基于ST M 32的宠物智能投喂装置的设计与实现[J ].科技创新与应用,2021,35(10):
93-95.
也2页李金武,宋新爱.智能鱼缸自动控制系统设计与
实现[J ].智能计算机与应用,2020,6(03):284-287.
也3页邱义.基于ST M 32的智能鱼缸远程控制系统设
计[J ].信息技术与信息化,2020,27(10):230-232.
也4页何颖,
唐幸洪,张法强,等.多功能智能鱼缸控制系统的研究与设计[J ].电子制作,2019,55(21):45-47.也5页曹益豪.基于单片机的智能鱼缸温控系统设计[J ].机电信息,2019,15(11):11-12.
也6页刘伟,林开司,刘安勇.基于物联网的鱼缸智能控
制系统设计与实现[J ].淮海工学院学报(自然科学版),2016,25(04):1-4.
也7页向镍锌,
郭平,曹旬.基于ST M 32智能鱼缸监控系统的设计[J ].科技视界,2020,45(31):97-
99.
图6
蓝牙远程控制结构图
图7
基于STM 32的智能鱼缸app 设计界面

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。