PearlPang 发表于 2024-10-16 17:44:55

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

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

[*]难度系数:3分
[*]工作量:2分
[*]创新点:3分


1 简介

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


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







4 设计原理

4.1 水位传感器

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






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

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






优点

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






4.3 ESP-01S WIFI模块

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




尺寸、管脚定义




ESP8266的指令介绍
AT指令可以细分四种类型:
1.测试指令:AT+=?
该命令用于查询设置指令的参数以及取值的范围
2.查询指令:AT+?
该命令用于返回参数的当前值
3.设置指令:AT+=<’’’>
该命令用于设置用户自定义的参数
4.执行指令:AT+
该命令用于执行受模块内部程序控制的变参数不可变的功能




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




ESP8266的AT指令一览






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_InitTypeDefGPIO_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元领取:扫码进群领资料

静深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

抄作业啦
页: [1] 2
查看完整版本: 基于stm32单片机智能WIFI鱼缸设计与实现 - 云平台(含代码)