基于stm32单片机智能WIFI鱼缸设计与实现 - 云平台(含代码)

stm32单片机远程智能WIFI鱼缸设计与实现

  • 难度系数:3分
  • 工作量:2分
  • 创新点:3分


1 简介

基于STM32的智能鱼缸系统,该系统通过检测水温水体浊度和水深来控制继电器开关选择打氧,、加热、照明或者水泵加水,通过wifi与onenet进行数据传输并数据可视化。
2 主要器件


  • STM32F103C8T6主控芯片
  • 水位传感器
  • 光敏传感器
  • ESP-01S WIFI模块
  • OLED屏
  • 继电器
3 实现效果



基于stm32单片机智能WIFI鱼缸设计与实现 - 云平台(含代码)-1.jpg



4 设计原理

4.1 水位传感器

简介
Water Sensor水位传感器是一款简单易用、性价比较高的水位/水滴识别检测传感器,其是通过具有一系列的暴露的平行导线线迹测量其水滴/水量大小从而判断水位。轻松完成水量到模拟信号的转换,,达到水位报警的功效。


基于stm32单片机智能WIFI鱼缸设计与实现 - 云平台(含代码)-2.jpg



优点
简单易用、小巧轻便、性价比高
特点
1、水量到模拟量的转换
2、可塑性强,本传感器输出为基础模拟值
3、低功耗,灵敏度高
4、可直接与魏处理器或其他逻辑电路相连接,适合各种开发板和控制器(如:Arduino控制器、STC单片机、AVR单片机等)

4.2 光敏传感器

简介
光敏传感器是最常见的传感器之一,它的种类繁多,主要有:光电管、光电倍增管、光敏电阻、光敏三极管、太阳能电池、红外线传感器、紫外线传感器、光纤式光电传感器、色彩传感器、CCD和CMOS图像传感器等。光传感器是目前产量最多、应用最广的传感器之一,它在自动控制和非电量电测技术中占有非常重要的地位。光敏传感器是利用光敏元件将光信号转换为电信号的传感器,它的敏感波长在可见光波长附近,包括红外线波长和紫外线波长。光传感器不只局限于对光的探测,它还可以作为探测元件组成其他传感器,对许多非电量进行检测,只要将这些非电量转换为光信号的变化即可。
总结:照射光敏二极管的光强不同,通过光敏二极管的电流大小就不同,所以可以通过检测电流大小,达到检测光强的目的。利用这个电流变化,我们串接一个电阻,就可以转换成电压的变化,从而通过ADC读取电压值,判断外部光线的弱。



基于stm32单片机智能WIFI鱼缸设计与实现 - 云平台(含代码)-3.jpg



优点

  • 采用灵敏型光敏电阻传感器
  • 比较器输出,信号干净,波形好,驱动能力超过15mA。
  • 配可调电位器可调节检测光线亮度
  • 工作电压3.3V-5V
  • 输出形式 :数字开关量输出(0和1)
  • 设有固定螺栓孔,方便安装
原理图


基于stm32单片机智能WIFI鱼缸设计与实现 - 云平台(含代码)-4.jpg



4.3 ESP-01S WIFI模块

简介
ESP8266 系列模组是深圳市安信可科技有限公司开发的一系列基于乐鑫ESP8266的低功耗UART-WiFi芯片模组,可以方便地进行二次开发,接入云端服务,实现手机3/4G全球随时随地的控制,加速产品原型设计。


基于stm32单片机智能WIFI鱼缸设计与实现 - 云平台(含代码)-5.jpg

尺寸、管脚定义


基于stm32单片机智能WIFI鱼缸设计与实现 - 云平台(含代码)-6.jpg

ESP8266的指令介绍
AT指令可以细分四种类型:
1.测试指令:AT+=?
该命令用于查询设置指令的参数以及取值的范围

2.查询指令:AT+?
该命令用于返回参数的当前值

3.设置指令:AT+=<’’’>
该命令用于设置用户自定义的参数

4.执行指令:AT+
该命令用于执行受模块内部程序控制的变参数不可变的功能



基于stm32单片机智能WIFI鱼缸设计与实现 - 云平台(含代码)-7.jpg

ESP8266的指令测试
可以通过STM开发板转为电平转换的功能连接上ESP8266模块在通过串口显示窗口在PC机上热输入AT指令来进行操作。



基于stm32单片机智能WIFI鱼缸设计与实现 - 云平台(含代码)-8.jpg

ESP8266的AT指令一览


基于stm32单片机智能WIFI鱼缸设计与实现 - 云平台(含代码)-9.jpg



5 部分核心代码

#include "water.h"#include "delay.h"#define WA GPIO_Pin_11 /***************  配置LED用到的I/O口 *******************/void Water_GPIO_Config(void)        {  GPIO_InitTypeDef GPIO_InitStructure;  RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE); // 使能端口时钟    GPIO_InitStructure.GPIO_Pin = WA;          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  GPIO_Init(GPIOB, &GPIO_InitStructure);  //初始化端口  //GPIO_SetBits(GPIOB, WA);         // 关闭所有LED}int Water_state(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin_x){        Delay_ms(10);        if( GPIO_ReadInputDataBit(GPIOx, GPIO_Pin_x)  == 0)        {                return 1;        }        else        {                return 0;         }}#include "gm.h"  void gm_Init(void){  GPIO_InitTypeDef  GPIO_InitStructure;          RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);                 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;                                  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;                  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 GPIO_Init(GPIOD, &GPIO_InitStructure);                                          GPIO_SetBits(GPIOD,GPIO_Pin_11);                                                 }嵌入式物联网的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。点击下方链接,0元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!
点击这里找小助理0元领取:扫码进群领资料

基于stm32单片机智能WIFI鱼缸设计与实现 - 云平台(含代码)-10.jpg
860 人阅读 · 2024-10-16 17:44:55 发表 | 来自北京

举报

评论(16)

高级模式

静深Quiet

发表于 2024-10-18 08:00:16 | 显示全部楼层 | 未知

要不要自己洗缸

夜Moon

发表于 2024-10-23 08:13:09 | 显示全部楼层 | 未知

鱼在哪里买

梦行者

发表于 2024-10-24 10:43:10 | 显示全部楼层 | 未知

鱼儿混养会不会打架

未来探险家

发表于 2024-10-24 22:16:17 | 显示全部楼层 | 未知

一般多久换水一次

少年不羁风

发表于 2024-10-25 20:43:15 | 显示全部楼层 | 未知

我要弄同款

BlissBoWenBo

发表于 2024-10-27 16:30:09 | 显示全部楼层 | 未知

好漂亮

甜酷少女

发表于 2024-10-28 16:53:09 | 显示全部楼层 | 未知

裸缸才是王道

电竞小能手

发表于 2024-11-1 20:28:22 | 显示全部楼层 | 未知

虎皮鱼适合新手

4Eva

发表于 2024-11-7 11:35:24 | 显示全部楼层 | 未知

抄作业啦
12下一页
16
1
快速回复 返回顶部 返回列表