Kara 发表于 2024-1-23 16:32:55

基于STM32的智能鱼缸的设计与实现

本帖最后由 Kara 于 2024-1-23 16:46 编辑

基于STM32的智能鱼缸的设计与实现
摘要:为降低观赏鱼饲养的门槛、向观赏鱼饲养爱好者提供超越传统鱼缸饲养的乐趣,设计一款成本低廉、可远程控制、操作方便的智能鱼缸系统。系统基于STM32单片机,采用0.96英寸OLED显示鱼缸温度、鱼缸光强、鱼缸浊度等关键信息,可通过按键控制鱼缸的换水、喂食等功能。使用ESP8266-01S模块和机智云平台连接,通过极简易友好的操作流程生成APP,为手机用户提供丰富的定制化功能,供用户远程查看和控制鱼缸,解决饲养宠物鱼时可能遇到的诸多问题。
1引言
摘录:收起随着生活水平日益提高,人们把更多的时间、金钱、精力投入到自己的兴趣爱好之上,例如饲养观赏性鱼类。国内外观赏鱼市场正在快速发展。然而养好观赏鱼并非易事,饲养人需要为鱼提供适合的水温、水质和食物等,这就加大了人们时间和精力的投入,同时,也提高了大众进入观赏鱼饲养领域的门槛。市面上主流的智能鱼缸系统的设计思路是先要满足鱼缸基本的观赏功能,再利用一些传感器可以让人们更加方便地得到鱼缸内的一些主要信息,最后利用一些无线控制功能让人们可以通过便携式设备管理鱼缸。
本设计是一款基于STM32的智能鱼缸系统,使用传感器获取鱼缸的关键信息,对信息进行处理和上传手机端,借助于智能化产品的强大功能将观赏鱼饲养的门槛降低,能够让系统用户在饲养观赏鱼的同时体会到从传统鱼缸饲养中得不到的乐趣。
2系统设计方案
此款智能鱼缸设计有如下功能:按键控制、温度测量、Wi-Fi控制、模拟喂食、浊度检测、光强检测、屏幕显示。 系统的整体连接图如图1所示。按键控制是通过按键操作实现鱼缸进行喂食、开关灯、换水、增氧。Wi-Fi控制是通过ESP8266-01S模块和机智云平台搭配使用,在手机端控制鱼缸和进行信息查询。光强检测是通过光敏传感器模块来实现光强数据的采集。浊度检测则是通过浊度传感器模块来实现浊度数据的采集。

图1系统整体连接图
3系统硬件设计
系统的硬件设计原理图如图2所示。采用的主控芯片型号为STM32F103C8T6,该芯片是意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,其封装型号采用LQFP48。该芯片RAM容量为20kB,ROM其容量为64kB,拥有的主要硬件资源为37个GPIO、2个ADC、4个定时器/计数器、2个I2C和3个USART。
图2系统原理图
系统的主要硬件模块及具体描述如下:
Wi-Fi模块:选用乐鑫ESP8266-01S。该模块不仅价格便宜,且与机智云平台配合使用进行物联网开发的相关资料也较齐全。 舵机模块:用于现实喂食部分对电机的控制。设计选用SG90舵机,其可以通过改变PWM的相关参数从而改变电机转动的角度。 OLED屏幕模块:其满足的是人们最直观的视觉需求,因此是系统极重要的部分。对于屏幕有较多选择,例如LCD1602、IIC屏幕、SPI屏幕等。综合考虑后选用支持IIC协议的0.96英寸OLED屏幕。
OLED屏幕模块:其满足的是人们最直观的视觉需求,因此是系统极重要的部分。对于屏幕有较多选择,例如LCD1602、IIC屏幕、SPI屏幕等。综合考虑后选用支持IIC协议的0.96英寸OLED屏幕。
电机驱动模块用来驱动增氧和换水这两个功能所依赖的电机。选用L9110这款电机驱动模块,因其价格便宜,且有两路输出,可以同时控制两个电机,符合设计要求。
浊度传感器模块选用TS-300B,该模块配合转接板可以输出数字量和模拟量,价格也较适宜。 温度传感器模块选用DS18B20,它具有微型化、高性能、抗干扰能力强等优点,易于搭配微处理器产品使用。
4系统软件设计
系统上电后,程序从主函数运行,对所需模块进行功能封装。在主函数调用各个模块运行时需要相关函数实现对模块的调用和相关数据的获取。主函数流程图如图3所示。

图3主函数流程图
主函数之外的其他软件模块包括:按键控制、光强获取、OLED屏幕显示和电机控制,具体如下:
1)按键控制按键控制功能主要分两部分,一是通过按键实现鱼缸的控制,二是通过按键进行鱼缸的配网。由于STM32具有大量的中断资源,故采用中断法实现按键的控制,以获得更高的程序执行效率。
2)光强获取光强获取模块功能主要是获取光强数据。它将光敏传感器模块输出的数据传到STM32,经STM32内部ADC对数据进行处理,将数据在屏幕显示并上传至手机端,最后根据光强控制LED的亮灭。
3) OLED屏幕显示摘录:OLED屏幕通过IIC协议与STM32通信。首选初始化IIC总线,之后初始化OLED,通过IIC总线向OLED发送指令和数据以初始化OLED显示屏。初始化包括设置OLED显示模式、对比度、亮度等参数。STM32获取相应数据并完成处理后,向OLED发送显示数据,驱动OLED液晶显示屏在对应位置显示相关信息。
4)电机控制用户可通过按键手动控制电机的打开或关闭,也可通过手机端下方命令控制电机。当浊度传感器检测到水体浑浊时便可自动控制电机进行换水。
5机智云平台设计

机智云平台设计实现的功能是将各传感器数据上传到手机端显示,便可在手机上通过Wi-Fi下发指令控制智能鱼缸。机智云平台为开发者提供了自助式智能硬件开发工具与开放的云端服务,将智能硬件产品开发周期缩短,快速实现智能化。
5.1创建数据点使用机智云平台进行开发时,首先要创建数据点,并需要定义数据点的类型。设计通过机智云创建的数据点如表1所示。 表1机智云平台创建的数据点

5.2机智云代码移植流程

用机智云平台创建好项目后,进入到相关的界面,按照界面的提示进行操作,它即可自动帮助用户生成Wi-Fi控制的相关代码。在代码包生成以后,需要对其中代码进行移植。只有将代码移植到工程文件里面后,才能实现预期的功能。机智云代码的移植流程如图4所示。

图4机智云代码移植流程图
5.3手机APP设计

手机APP是通过机智云平台生成的。使用机智云平台进行APP生成的方法非常简单,不需要按照安卓APP开发那样操作,对于不懂安卓应用的开发者来说是非常友好的。其配置流程如下:
点击创建移动应用;点击右上方进行APP界面设置,将创建的项目进行关联,最后保存退出;进入控制页面选择配网方式等,保存退出;点击构建应用,等待应用构建完成,最终在手机端扫码下载APP。各步骤操作及界面如图5所示。
图5机智云平台生成APP各步骤界面

最终由机智云生成的APP的界面如图6所示
图6机智云生成APP界面
6结束语
系统基于STM32F103C8T6,实现了智能鱼缸所需的温度测量、Wi-Fi控制、喂食等功能。通过使用性价比较高的Wi-Fi模块配合机智云平台实现了手机端控制。对比其他的智能鱼缸设计,远程控制实现方式更加简单,成本也较低。系统在加热器设计部分还存在不足,将在后续研究中加以完善。

fanfan.F 发表于 2024-10-14 21:55:36

你好楼主,有相关文件资料嘛?
页: [1]
查看完整版本: 基于STM32的智能鱼缸的设计与实现