自学内容网 自学内容网

风扇模块(直流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宏定义

#defineFAN_CLKRCC_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;
}

四、实验效果 

五、资料获取

项目分享


原文地址:https://blog.csdn.net/qq_44016222/article/details/142584965

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!