当前位置: 首页 > article >正文

风扇模块(直流5V STM32)

目录

一、介绍

二、传感器原理

1.原理图

2.引脚描述

三、程序设计

main.c文件

fan.h文件

fan.c文件

四、实验效果 

五、资料获取

项目分享


一、介绍

        直流风扇(Fan),具有高转速、大风量、低噪音、低能耗和低震动的特点,有DC5V12V两种型号可供选择。尺寸包括40~120mm不等。内部包含含油轴承,减少摩擦降低风噪。

以下是风扇模块的参数:

型号

4010HSL

工作电压

DC 5V

额定电流

0.2A

外观尺寸

40*40*10mm

孔距

平行:32mm,对角:45mm

哔哩哔哩视频链接:

风扇模块(直流5V STM32)

(资料分享见文末) 

二、传感器原理

1.原理图

2.引脚描述

引脚名称

描述

1

线圈端1

2

常开端

3

常闭端

4

线圈2

5

公共接口

三、程序设计

使用STM32F103C8T6通过控制继电器模块来控制5V风扇模块完成开关的操作。

FAN

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 "fan.h"

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

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

int main(void)
{ 
	
  SystemInit();//配置系统时钟为72M	
	delay_init(72);
	LED_Init();
	LED_On();
	FAN_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_ShowChinese(48,0,3,16,1);
	OLED_ShowChar(64,0,':',16,1);

  while (1)
  {
		FAN_ON;
		LED_On();
		OLED_ShowChinese(56,24,4,16,1);		//开
		delay_s(5);
		
		FAN_OFF;
		LED_Off();
		OLED_ShowChinese(56,24,5,16,1);		//关
		delay_s(5);

  }
}

fan.h文件

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

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

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


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

#define	FAN_CLK							RCC_APB2Periph_GPIOA

#define FAN_GPIO_PIN 				GPIO_Pin_0

#define FAN_GPIO_PROT 			GPIOA

#define FAN_ON 		GPIO_SetBits(FAN_GPIO_PROT,FAN_GPIO_PIN)
#define FAN_OFF 	GPIO_ResetBits(FAN_GPIO_PROT,FAN_GPIO_PIN)


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

void FAN_Init(void);

#endif



fan.c文件

#include "fan.h"

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

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


void FAN_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(FAN_CLK, ENABLE ); //配置时钟
	
	GPIO_InitStructure.GPIO_Pin = FAN_GPIO_PIN;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Init(FAN_GPIO_PROT,&GPIO_InitStructure);

	FAN_OFF;
}

四、实验效果 

五、资料获取

项目分享


http://www.kler.cn/news/331058.html

相关文章:

  • 怎么将bash(sh)的所有输出保存到log/txt中?
  • Shell脚本基础——实训项目任务
  • AI学习指南深度学习篇-批标准化的实现机制
  • 解决pycharm中matplotlab画图不能显示中文的错误
  • MeterSphere压测配置说明
  • Vue CLI项目创建指南:选择预设与包管理器(PNPM vs NPM)
  • 平面电磁波(解麦克斯韦方程)
  • JS基础练习|动态创建多个input,并且支持删除功能
  • 【C++】模拟实现红黑树
  • JDBC原生事务管理,类比超市购物来讲解(不常用,但作为基础还是要了解一下)
  • django搭建一个AI博客进行YouTube视频自动生成文字博客
  • 14-函数返回指针
  • electron出现乱码和使用cmd出现乱码
  • 主流前端框架的详细对比和选择建议
  • express,MySQL 实现登录接口
  • 2024.9.28更换启辰R30汽车火花塞
  • 如何给一张图像判断失真类型?
  • vscode安装及c++配置编译
  • 【PostgreSQL】提高篇——深入了解不同类型的 JOIN(INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN)应用操作
  • GaussDB关键技术原理:高弹性(六)