STM32项目分享:智能风扇系统

24,514次阅读
没有评论

共计 1680 个字符,预计需要花费 5 分钟才能阅读完成。

目录

一、前言

二、项目简介

1. 功能详解

2. 主要器件

三、原理图设计

四、PCB 硬件设计

PCB 图 

五、程序设计 

六、实验效果 

七、资料内容

项目分享


一、前言

项目成品图片:

STM32 项目分享:智能风扇系统

哔哩哔哩视频链接:

https://www.bilibili.com/video/BV1xw4m1Y7sA/?share_source=copy_web&vd_source=097fdeaf6b6ecfed8a9ff7119c32faf2

(资料分享见文末)

二、项目简介

1. 功能详解

基于 STM32 的智能风扇系统

功能如下:

  1. OLED 显示当前温度,湿度,风扇档数和速度,自动手动模式。
  2. 按键可以设置自动和手动 2 种模式切换,自动档模式下可以设置温度阈值。
  3. 手动模式下可以自由开启风扇,调整档位等级。
  4. 自动模式下,人体红外检测到人并且当前温度大于我们设置温度上限值风扇开启。
  5. 每调速一次风扇档位加一,最大上限为 5 档。
  6. 有倒计时功能,可设置计时时间,时间到风扇自动关闭
  7. 蓝牙 APP 控制,具有手动、自动、模式切换和倒计时功能

2. 主要器件

  • STM32F103C8T6 最小系统板
  • DHT11 温湿度传感器
  • OLED 显示屏(4 针 I2C 协议)
  • 蓝牙模块(BT04A)
  • TB6612 直流电机驱动模块
  • HC-SR501 人体红外传感器
  • 5V 直流风扇
  • 蜂鸣器
  • LED 灯

三、原理图设计

STM32 项目分享:智能风扇系统

四、PCB 硬件设计

PCB 图 

STM32 项目分享:智能风扇系统

STM32 项目分享:智能风扇系统

五、程序设计 

int main(void)
{
	/* 模块初始化 */
	OLED_Init();		//OLED 初始化
	Motor_Init();
	DHT11_Init();
	MatrixKey_Init();
	Red_Init();
	Timer_Init();
	Serial_Init();

	BEEP_GPIO_Config();
	
	OLED_ShowChinese(0,0,"温度");
	OLED_ShowChinese(16*4,0,"湿度");
	
	OLED_ShowChinese(0,16,"模式");
	OLED_ShowChinese(16*4,16,"档数");
	OLED_ShowNum(16*2,16,Key_M,1,OLED_8X16);
	OLED_ShowNum(16*6,16,dang,1,OLED_8X16);
	
	OLED_ShowChinese(0,16*2,"速度:");
	OLED_ShowSignedNum(16*3,16*2,Speed,3,OLED_8X16);
	
	OLED_ShowChinese(0,16*3,"倒计时:");
	OLED_ShowNum(16*4,16*3,Time,2,OLED_8X16);
	OLED_Update();
	
	GPIO_SetBits(GPIOB, GPIO_Pin_0);
	GPIO_SetBits(GPIOB, GPIO_Pin_1);
	Delay_ms(100);
	GPIO_ResetBits(GPIOB, GPIO_Pin_0);
	GPIO_ResetBits(GPIOB, GPIO_Pin_1);

	while (1)
	{DHT11_Read_Data(&TH,&RH);// 获取当前温湿度
		OLED_ShowNum(16*2,0,TH,2,OLED_8X16);
		OLED_ShowNum(16*6,0,RH,2,OLED_8X16);
		OLED_Update();
		if(Timedemo == 1)
		{if(RED_Data == 1)	// 如果有人
			{OLED_ShowString(16*6,16*2,"Hi!",OLED_8X16);
				if(temperature  100)
//					{
//						Speed = 100;
//					}
					Speed = 100;
				}
				else Speed = 0;			
			}
			else
			{OLED_ShowString(16*6,16*2,"Bey!",OLED_8X16);
				Speed = 0;
			}
			OLED_ShowSignedNum(16*3,16*2,Speed,3,OLED_8X16);			
			
			OLED_Update();
			Motor_SetSpeed(Speed);
		}
		Delay_ms(500);

	}
}

六、实验效果 

STM32 项目分享:智能风扇系统

STM32 项目分享:智能风扇系统

七、资料内容

STM32 项目分享:智能风扇系统

项目分享

原文地址: STM32 项目分享:智能风扇系统

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-26发表,共计1680字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)