基于STM32的智能鱼缸设计

描述

 

关键词:智能鱼缸,机智云,STM32单片机

目录

1、功能实现2、系统设计方案3、系统硬件设计4、系统软件设计5、APP设计和测试6、结论

1

功能实现

本设计是一款基于STM32的智能鱼缸系统,使用传感器获取鱼缸的关键信息,对信息进行处理和上传手机端,借助于智能化产品的强大功能将观赏鱼饲养的门槛降低,能够让系统用户在饲养观赏鱼的同时体会到从传统鱼缸饲养中得不到的乐趣。

2

系统设计方案

 

此款智能鱼缸设计有如下功能:按键控制、温度测量、Wi-Fi控制、模拟喂食、浊度检测、光强检测、屏幕显示。

 

系统的整体连接图如图1所示。按键控制是通过按键操作实现鱼缸进行喂食、开关灯、换水、增氧。Wi-Fi控制是通过ESP8266-01S模块和机智云平台搭配使用,在手机端控制鱼缸和进行信息查询。

 

STM32

系统硬件设计

3

 

系统的硬件设计原理图如图2所示。采用的主控芯片型号为STM32F103C8T6,该芯片是意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,其封装型号采用LQFP48。

 

该芯片RAM容量为20kB,ROM其容量为64kB,拥有的主要硬件资源为37个GPIO、2个ADC、4个定时器/计数器、2个I2C和3个USART。

 

STM32

04

系统软件设计

 

系统上电后,程序从主函数运行,对所需模块进行功能封装。在主函数调用各个模块运行时需要相关函数实现对模块的调用和相关数据的获取。主函数流程图如图3所示。

 

STM32

 

主函数之外的其他软件模块包括:按键控制、光强获取、OLED屏幕显示和电机控制,具体如下:

01

按键控制

按键控制功能主要分两部分,一是通过按键实现鱼缸的控制,二是通过按键进行鱼缸的配网。由于STM32具有大量的中断资源,故采用中断法实现按键的控制,以获得更高的程序执行效率。

02

光强获取

光强获取模块功能主要是获取光强数据。它将光敏传感器模块输出的数据传到STM32,经STM32内部ADC对数据进行处理,将数据在屏幕显示并上传至手机端,最后根据光强控制LED的亮灭。

03

OLED屏幕显示

摘录:OLED屏幕通过IIC协议与STM32通信。首选初始化IIC总线,之后初始化OLED,通过IIC总线向OLED发送指令和数据以初始化OLED显示屏。初始化包括设置OLED显示模式、对比度、亮度等参数。STM32获取相应数据并完成处理后,向OLED发送显示数据,驱动OLED液晶显示屏在对应位置显示相关信息。

 

5

机智云平台设计

 

机智云平台设计实现的功能是将各传感器数据上传到手机端显示,便可在手机上通过Wi-Fi下发指令控制智能鱼缸。机智云平台为开发者提供了自助式智能硬件开发工具与开放的云端服务,将智能硬件产品开发周期缩短,快速实现智能化。

 

5.1创建数据点

 

使用机智云平台进行开发时,首先要创建数据点,并需要定义数据点的类型。设计通过机智云创建的数据点如表1所示。

 

表1机智云平台创建的数据点

STM32

 

5.2 机智云代码移植流程

 

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

 

STM32

5.3 手机APP设计

 

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

STM32STM32

结束语

系统基于STM32F103C8T6,实现了智能鱼缸所需的温度测量、Wi-Fi控制、喂食等功能。通过使用性价比较高的Wi-Fi模块配合机智云平台实现了手机端控制。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分