水泵模块(5V STM32)

news2024/9/29 17:02:47

目录

一、介绍

二、传感器原理

1.尺寸介绍   

2.继电器控制水泵电路原理图

三、程序设计

main.c文件

bump.h文件

bump.c文件

四、实验效果 

五、资料获取

项目分享


一、介绍

        水泵模块(bump)通常是指用于液体输送系统的组件,它负责将水或其他流体从低处提升到高处,常用于各种建筑、工业、农业以及家用设备中。这个模块主要包括电动机、叶轮、泵壳、吸入阀和排出阀等部分。

以下是水泵模块的参数:

型号

JT-DC3W-3/4.5

工作电压

DC 2.5~6V

额定电流

0.12A

功率

0.36W

扬程

0.36m

流量

80L/h

防水等级

IP68

哔哩哔哩视频链接:

水泵模块(5V STM32)

(资料分享见文末) 

二、传感器原理

1.尺寸介绍   

2.继电器控制水泵电路原理图

引脚名称

描述

DC+

电源正极

DC-

电源负极

IN

控制信号

NO

常开接口

COM

公共接口

NC

常闭接口

三、程序设计

使用STM32F103C8T6通过按键和继电器模块来控制5V水泵模块完成开关的操作。

BUMP

PA0

KEY

PA1

OLED_SCL

PB11

OLED_SDA

PB10

main.c文件

#include "stm32f10x.h"
#include "led.h"
#include "usart.h"
#include "delay.h"
#include "oled.h"
#include "bump.h"
#include "key.h"

/*****************辰哥单片机设计******************
											STM32
 * 项目			:	5V水泵模块实验                     
 * 版本			: V1.0
 * 日期			: 2024.9.22
 * MCU			:	STM32F103C8T6
 * 接口			:	参看bump.h							
 * BILIBILI	:	辰哥单片机设计
 * CSDN			:	辰哥单片机设计
 * 作者			:	辰哥 

**********************BEGIN***********************/

int key = 0;
int key_state = 0;

int main(void)
{ 
	
  SystemInit();//配置系统时钟为72M	
	delay_init(72);
	LED_Init();
	LED_On();
	BUMP_Init();
	USART1_Config();//串口初始化
	Key_Init();
	OLED_Init();
	printf("Start \n");
	delay_ms(1000);
	
	OLED_Clear();
	//显示“水泵状态:”
	OLED_ShowChinese(0,0,0,16,1);
	OLED_ShowChinese(16,0,1,16,1);
	OLED_ShowChinese(32,0,2,16,1);
	OLED_ShowChinese(48,0,3,16,1);
	OLED_ShowChar(64,0,':',16,1);

  while (1)
  {
		key = Key_GetData();

		if(key)
			key_state++;
		if(key_state%2==1)
		{
		BUMP_ON;
		LED_On();
		OLED_ShowChinese(56,24,4,16,1);		//开
		}
		
		if(key_state%2==0)
		{
		BUMP_OFF;
		LED_Off();
		OLED_ShowChinese(56,24,5,16,1);		//关
		}

  }
}

bump.h文件

#ifndef __BUMP_H
#define	__BUMP_H
#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"

/*****************辰哥单片机设计******************
											STM32
 * 文件			:	5V水泵模块h文件                   
 * 版本			: V1.0
 * 日期			: 2024.9.22
 * MCU			:	STM32F103C8T6
 * 接口			:	见代码							
 * BILIBILI	:	辰哥单片机设计
 * CSDN			:	辰哥单片机设计
 * 作者			:	辰哥

**********************BEGIN***********************/


/***************根据自己需求更改****************/
// 水泵模块 GPIO宏定义

#define	BUMP_CLK							RCC_APB2Periph_GPIOA

#define BUMP_GPIO_PIN 				GPIO_Pin_0

#define BUMP_GPIO_PROT 				GPIOA

#define BUMP_ON 		GPIO_SetBits(BUMP_GPIO_PROT,BUMP_GPIO_PIN)
#define BUMP_OFF 	GPIO_ResetBits(BUMP_GPIO_PROT,BUMP_GPIO_PIN)

/*********************END**********************/

void BUMP_Init(void);

#endif



bump.c文件

#include "bump.h"

/*****************辰哥单片机设计******************
											STM32
 * 文件			:	5V水泵模块c文件                   
 * 版本			: V1.0
 * 日期			: 2024.9.22
 * MCU			:	STM32F103C8T6
 * 接口			:	见代码							
 * BILIBILI	:	辰哥单片机设计
 * CSDN			:	辰哥单片机设计
 * 作者			:	辰哥

**********************BEGIN***********************/


void BUMP_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(BUMP_CLK, ENABLE ); //配置时钟
	
	GPIO_InitStructure.GPIO_Pin = BUMP_GPIO_PIN;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Init(BUMP_GPIO_PROT,&GPIO_InitStructure);

	BUMP_OFF;
}

四、实验效果 

五、资料获取

项目分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2177368.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot中各种O的分层模型

文章目录 领域模型中的实体类概念:项目中的实体类rest api中的model, vo, dto之间的关系凤凰架构讲课笔记 设计模式的单一职责: 各种XXO Pojo: 普通Java类Dao:Database Access Object: 专门用来访问数据库…

游戏账号系统小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,卖家管理,游戏类别管理,游戏账号管理,站内联系管理,交易订单管理,帐号退货管理 微信端账号功能包括:系统首…

webshell-HTTP常见特征

一、总体特点 二、蚁剑 数据中可以看到一些明文字符串函数,响应中可以看到响应的明文数据。 ant特征以及对数据base64可以解码 chr类别的会出现大量的chr编码 大量的百分号字符 三、哥斯拉 第一个请求包很大 响应为0 密钥被拆分到数据前后 响应包cookie带&#xf…

长文本溢出,中间位置显示省略号

1.说明 Flutter支持在文本末尾显示溢出省略号。现在想要实现在文本中间位置显示省略号,这里使用的方法是通过TextPainter计算文本宽度。(我目前没有找到更好的方法,欢迎大家指教。) 2.效果 源码 1.MiddleEllipsisTextPainter …

【无人机设计与控制】基于MATLAB的四旋翼无人机PID控制动力学建模研究制

摘要 本文研究了基于MATLAB的四旋翼无人机动力学建模和PID控制器设计。通过在Simulink中搭建四旋翼无人机的动力学模型,并结合经典PID控制算法,设计了无人机的姿态控制系统。实验结果表明,所设计的PID控制器能够有效稳定无人机的姿态&#x…

Gitlab 配置自动化Pipeline

在GitLab中配置CI/CD流水线(pipeline)以实现自动化构建和测试,你需要遵循以下步骤: 1. 创建 .gitlab-ci.yml 文件:在项目的根目录或子目录中创建一个名为 .gitlab-ci.yml 的文件,这是定义GitLab CI/CD流水…

JavaWeb之过滤器

1. 过滤器的概念 过滤器是Java Servlet规范中定义的组件,用于在请求到达Servlet之前或响应返回客户端之前,对请求或响应进行拦截和处理。过滤器可以实现以下功能: 日志记录:记录请求的详细信息,如URI、参数、时间等。…

Hugging Face + JuiceFS:多用户多节点环境下提升模型加载效率

Hugging Face 的 Transformers 是一个功能强大的机器学习框架,提供了一系列 API 和工具,用于预训练模型的下载和训练。为了避免重复下载,提高训练效率,Transformers 会自动下载和缓存模型的权重、词表等资源,默认存储在…

官方权威解读|CNAS-CL01过程部分解读,抽样部分

CNAS-CL01文件是软件测试实验室申请CNAS软件评测机构资质的重要参考材料,也是CNAS软件测试实验室建立质量管理体系的重要依据。近日CNAS为响应国家相关要求,组织开展了一系列专题调研。结合行业关注热点问题,推出了认可评审案例系列。前面的文…

macOS 新系统必知道:窗口分屏终于来了

对于很多从 Windows 转换到 macOS 的用户来说,最不习惯的一点可能就是窗口管理了。 Windows 系统自 Windows 7 开始就支持通过拖拽应用窗口至屏幕边缘来实现快速的分屏操作,到了 Windows 11 这一功能更是进化得更加灵活多变,允许用户根据需要…

临床常用的焦虑测评量表有哪些?

常笑医学整理了5个临床常用的焦虑测评量表,包括焦虑自评表(SAS)、状态-特质焦虑问卷(STAI)等。这些量表在常笑医学网均支持在线评估、下载和创建项目使用。 01 焦虑自评表(SAS) (完…

ECCV 2024 | 融合跨模态先验与扩散模型,快手处理大模型让视频画面更清晰!

计算机视觉领域顶级会议 European Conference on Computer Vision(ECCV 2024)将于9月29日至10月4日在意大利米兰召开,快手音视频技术部联合清华大学所发表的题为《XPSR: Cross-modal Priors for Diffusion-based Image Super-Resolution》——…

原宝,四周年快乐!

原神,公测于2020年9月28日开启。 现在已经是第4个年头了,7个国家已经开放了6个,来到了火之国。其实自从2022年继续开放游戏版号以来,好品质的二次元游戏、三端游戏也是层出不穷。无论是立绘,建模都有非常优秀的作品。…

柯桥学英语商务口语中老外最爱说的“what‘s up“是什么意思?回答错超尴尬!

“Whats up?” 在看美剧或者和老外聊天的时候 我们总能听到这句话 那你知道这句老外很爱说的 “whats up”是什么意思吗? 快和小编一起来学习吧~ 01 whats up 怎么理解? 很多人觉得Whats up就是更地道的“How are you”,嗯………

Tkinter制作登录界面以及登陆后页面切换(一)

Tkinter制作登录界面以及登陆后页面切换(一) 前言序言1. 由来2. 思路3. 项目结构描述4. 项目实战1. 登录界面实现(代码)2. 首页界面实现(代码)3. 打包build.py(与main.py同级目录)4.…

kafka发送消费核心参数与设计原理详解

核心参数详解: 发送端参数: 发送方式:默认值一般都是1: 重试参数 : 批量参数: 消费端参数: 自动提交参数: 如果是false,就是说消费完后不提交位移。也就是说比如之前消费的1-5.第N次还是消费到1-5.如果是false。那么第一次消费1-3,第二次消费4-5:默认是true:我们…

制定六西格玛人才培养方案需要考虑哪些因素?

当下,六西格玛作为一种先进的质量管理方法,被越来越多的企业采纳并应用于日常管理和流程优化中。然而,要成功实施六西格玛,关键在于培养一支具备高度专业素养和实战能力的六西格玛人才队伍。那么,制定六西格玛人才培养…

基于微信小程序的交友平台

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

软件游戏运行缺少vcruntime140.dll怎么办?总结四种有效简单方法

1. 文件基本信息 1.1 定义与作用 vcruntime140.dll是Microsoft Visual C 2015 Redistributable Package的一部分,它包含了C运行时库,用于支持使用Visual C开发的Windows应用程序。这个动态链接库(DLL)文件提供了程序执行时所需的…

可视化服务编排:jvs-logic API出参加密实战教程

在现代软件开发与系统集成的过程中,API(应用程序接口)非常重要,它能使不同系统之间连接,进行数据交换和功能调用。当然,数据交换的数据安全肯定是不可忽视的,为了确保数据在传输过程中的保密性和…