5V继电器模块详解(STM32)

news2024/9/28 16:21:22

目录

一、介绍

二、模块原理

1.原理图

2.引脚描述

3.工作原理介绍

三、程序设计

main.c文件

relay.h文件

relay.c文件

四、实验效果 

五、资料获取

项目分享


一、介绍

        继电器(Relay),也称电驿,是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。

以下是继电器模块的参数:

型号

SRD-05VDC-SL-C

工作电压

5V

最大负载

250V/10A

触发电流

5mA

尺寸

25mm×50mm×18.5mm

哔哩哔哩视频链接:

5V继电器模块详解(STM32)

(资料分享见文末) 

二、模块原理

1.原理图

2.引脚描述

引脚名称

描述

DC+

电源正极

DC-

电源负极

IN

控制信号

NO

常开接口

COM

公共接口

NC

常闭接口

3.工作原理介绍

    利用电磁效应,当线圈两端加以电压时,电磁铁会产生磁力,导致衔铁吸合,此时弹簧压缩,金属触点连接到常开的一侧。当线圈两端没有电压时,电磁吸力也随之消失,衔铁就会在弹簧的反作用下返回原来的位置,常闭的金属触点导通。

    继电器的驱动电流大概是50mA,而STM32的引脚输出电流大概在8mA,如果直接用IO口控制,驱动电流太小,继电器不会闭合。而三极管的作用就是类似开关控制,通过控制三极管的基极电流可以让三极管工作在截止和饱和导通状态,从而控制继电器闭合和断开。

三、程序设计

使用STM32F103C8T6控制5V继电器模块完成吸合和断开的操作。

RELAY_IN

PA0

OLED_SCL

PB11

OLED_SDA

PB10

main.c文件

#include "stm32f10x.h"
#include "led.h"
#include "usart.h"
#include "delay.h"
#include "oled.h"
#include "relay.h"

/*****************辰哥单片机设计******************
											STM32
 * 项目			:	5V继电器实验                     
 * 版本			: V1.0
 * 日期			: 2024.9.18
 * MCU			:	STM32F103C8T6
 * 接口			:	参看relay.h							
 * BILIBILI	:	辰哥单片机设计
 * CSDN			:	辰哥单片机设计
 * 作者			:	辰哥 

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

int main(void)
{ 
	
  SystemInit();//配置系统时钟为72M	
	delay_init(72);
	LED_Init();
	LED_On();
	RELAY_Init();
	USART1_Config();//串口初始化
	
	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_ShowChar(48,0,':',16,1);

  while (1)
  {
		RELAY_ON;
		LED_On();
		OLED_ShowChinese(48,24,3,16,1);		//闭
		OLED_ShowChinese(64,24,4,16,1);		//合
		delay_ms(1000);
		
		RELAY_OFF;
		LED_Off();
		OLED_ShowChinese(48,24,5,16,1);		//断
		OLED_ShowChinese(64,24,6,16,1);		//开
		delay_ms(1000);

  }
}

relay.h文件

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

/*****************辰哥单片机设计******************
											STM32
 * 文件			:	5V继电器h文件                   
 * 版本			: V1.0
 * 日期			: 2024.9.18
 * MCU			:	STM32F103C8T6
 * 接口			:	见代码							
 * BILIBILI	:	辰哥单片机设计
 * CSDN			:	辰哥单片机设计
 * 作者			:	辰哥

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


/***************根据自己需求更改****************/
// 继电器 GPIO宏定义

#define	RELAY_CLK							RCC_APB2Periph_GPIOA

#define RELAY_GPIO_PIN 				GPIO_Pin_0

#define RELAY_GPIO_PROT 			GPIOA

#define RELAY_ON 		GPIO_SetBits(RELAY_GPIO_PROT,RELAY_GPIO_PIN)
#define RELAY_OFF 	GPIO_ResetBits(RELAY_GPIO_PROT,RELAY_GPIO_PIN)


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

void RELAY_Init(void);

#endif

relay.c文件

#include "relay.h"

/*****************辰哥单片机设计******************
											STM32
 * 文件			:	5V继电器c文件                   
 * 版本			: V1.0
 * 日期			: 2024.9.18
 * MCU			:	STM32F103C8T6
 * 接口			:	见代码							
 * BILIBILI	:	辰哥单片机设计
 * CSDN			:	辰哥单片机设计
 * 作者			:	辰哥

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


void RELAY_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RELAY_CLK, ENABLE ); //配置时钟
	
	GPIO_InitStructure.GPIO_Pin = RELAY_GPIO_PIN;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Init(RELAY_GPIO_PROT,&GPIO_InitStructure);

	RELAY_OFF;
}

四、实验效果 

五、资料获取

项目分享

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

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

相关文章

力扣75道热门算法题 第一天

1768、交替合并字符串 题解: class Solution {public String mergeAlternately(String word1, String word2) {int m word1.length(),n word2.length();int i 0, j 0; //双指针遍历两个数组StringBuilder sb new StringBuilder(); //生成一个StringBuilder对象…

如何禁止电脑上某个软件运行?电脑设置禁止运行软件的4个方法速成

在日常使用电脑的过程中,可能会遇到需要禁止某些软件运行的情况。 无论是为了防止员工随意使用与工作无关的软件,还是为了管理孩子的电脑使用时间,禁止特定软件运行都是有效的解决方案。 下面介绍4个速成方法,帮你轻松禁止电脑上…

AlmaLinux 9 安装mysql8.0.38

文件下载 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.39-linux-glibc2.12-x86_64.tar 选择合适系统版本 下载后解压 tar -xvf mysql-8.0.39-linux-glibc2.12-x86_64.tar解压后里面有三个文件夹 使用mysql-8.0.39-linux-glibc2.12-x86_64.tar.xz即可&#xff0c…

《牧神记》PV初体验,玄机科技再塑经典国漫

2024年9月26日《牧神记》动画版在Bilibili正式宣布定档于10月27日,并在各大社交媒体平台上发布系列精美海报,瞬间点燃了广大动漫爱好者的热情与期待!作为一个长期关注国产动画的漫迷,我对玄机科技的作品一直抱有很高的期待&#x…

Ubuntu 16.04安装填坑记录

一. 问题描述: (1)Ubuntu 16.04使用USB启动盘安装时,出现"try ubuntu without installation"或“install ubuntu”选择,Enter选择安装后,显示器黑屏无任何显示。 原因分析: 显示黑…

26:WDG看门狗

WDG看门狗 1、看门狗的简介2、独立看门狗3、窗口看门狗4、独立看门狗代码5、窗口看门狗代码 1、看门狗的简介 1、看门狗的作用是监控程序的运行状态。当程序因为设计漏洞、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序&#xf…

现行经济下,兜底的生存方式是什么?

最近在网上看到一个问题,在经济下行的时候,兜底的生存方式是什么,看到之后,就随便写写。 在现在的经济环境下,看看网上的裁员、降薪信息 到底什么才是兜底的生存方式,原来认识的人,包括我自己也在想失业后…

知识付费APP开发指南:基于在线教育系统源码的技术详解

本篇文章,我们将探讨基于在线教育系统源码的知识付费APP开发的技术细节,帮助开发者和企业快速入门。 一、选择合适的在线教育系统源码 选择合适的在线教育系统源码是开发的关键一步。市场上有许多开源和商业化的在线教育系统源码,开发者需要…

《深度学习》卷积神经网络 数据增强、保存最优模型 原理解析及实例实现

目录 一、数据增强 1、什么是数据增强 2、目的 3、常用的数据增强方法 4、数据预处理 用法: 5、使用数据增强增加训练数据 二、保存最优模型 1、什么是保存最优模型 2、定义CNN模型 运行结果: 3、设置训练模式 4、设置测试模式、保存最优模…

影院管理新篇章:小徐的Spring Boot应用

第三章 系统分析 整个系统的功能模块主要是对各个项目元素组合、分解和更换做出对应的单元,最后在根据各个系统模块来做出一个简单的原则,系统的整体设计是根据用户的需求来进行设计的。为了更好的服务于用户要从小徐影城管理系统的设计与实现方面上做出…

羽毛类型检测系统源码分享

羽毛类型检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

智尚招聘求职小程序V1.0.17

微信小程序招聘管理系统。支持多城市、人才版块、招聘会、职场资讯、经纪人入驻等功能。提供全部无加密源码,支持私有化部署。 V1.0.17增加功能 1、增加求职者投简历时检测简历状态功能 更新后无需重新发布前端

16 Midjourney从零到商用·实战篇:产品工业设计

未来的产品设计师,一定真的不能只会画图,要往多元化发展,要有更强的思维能力综合的判断能力,懂市场,懂加工,懂生产等,变成综合类人才。基础的设计工作部分已经被AI所取代,生产力在一…

redis 中IO多路复用与Epoll函数

一 IO多路复用 1.1 IO多路复用作用 1.2 同步异步阻塞非阻塞

UE4_Niagara基础实例—使用自定义模块二

效果: 粒子限制在球形范围内 操作步骤: 1、因为我们要对粒子的位置进行控制,所以需要开启本地空间,粒子与发射器位置有关。使用GPU计算模拟,需勾选固定边界。 2、简单调节其它参数: 3、现在我想把粒子锁定…

二分查找(2)

目录 x 的平方根 题解: 山脉数组的峰顶索引(数组内只有一个峰值) 题解: 寻找峰值(数组内有多个峰值) 题解: 寻找旋转排序数组中的最小值 题解: 点名 题解: 怎…

FreeRTOS 内存管理源码解析

目录 一、heap_11、源码讲解2、总结 二、heap_21、源码讲解1.1 堆的初始化1.2 内存分配1.3 内存释放 2、总结 三、heap_3四、heap_41、源码1.1 插入链表1.2 堆的初始化1.3 内存的申请1.4 内存的释放 2、总结 五、heap_51、源码1.1 堆的初始化1.2 链表的插入、内存分配、释放 2、…

五.海量数据实时分析-FlinkCDC+DorisConnector实现数据的全量增量同步

前言 前面四篇文字都在学习Doris的理论知识,也是比较枯燥,当然Doris的理论知识还很多,我们后面慢慢学,本篇文章我们尝试使用SpringBoot来整合Doris完成基本的CRUD。 由于 Doris 高度兼容 Mysql 协议,两者在 SQL 语法…

【滑动窗口算法】——定长滑动窗口——Python(附题)

一.定长滑动窗口是什么及其使用场景 定长滑动窗口算法的核心思想是使用两个指针,通常称为“左指针”和“右指针”。窗口的大小是固定的,右指针用于扩展窗口,直到达到指定大小,而左指针则在窗口移动时逐步向右滑动。这样可以高效地…

3款照片人物开口说话AI工具,跟真人说话一样~免费!短视频带货必备!(附教程)

大家好,我是画画的小强 今天给大家分享一个AI图片口播数字人讲认知思维,单号佣金赚5W的AI带货信息差玩法,许多小伙伴表示对这类AI带货玩法感兴趣。 说实话,现在AI照片人物对口型工具,越来越逼真,很难辨识出…