基于STM32的pwm温度风扇(带人体检测)
一.硬件方案
本次设计采用STM32单片机做主控芯片,通过DS18B20采集温度,将温度显示在 LCD1602上。通过人体传感器检测周围是否有人存在,并根据温度的不同,利用STM32对风扇进行调速。
主要由STM32单片机+LCD1602液晶显示+DS18B20温度采集+按键设置电路+PWM风扇+人体红外检测;如图:
二.设计功能
(1)LCD1602液晶显示当前温度,风扇等级,自动手动模式。
(2)按键可以设置自动和手动2种模式切换,按键设置温度上限。
(3)手动模式下可以自由开启风扇,调整档位等级。
(4)自动模式下,人体红外检测到人并且当前温度大于我们设置温度上限值风扇开启。
(5)每大于一度风扇档位pwm加一,最大上限为10档。
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:
(2)PCB图如下:
四.软件设计
(1)程序流程图
(2)主程序源码
int main(void)
{ u8 count = 0;Motor = 0;delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级delay_ms(500);LCD_Init();//1602初始化KEY_Init();//按键初始化while(DS18B20_Init())//温度初始化{LCD_Write_String(0,0," DS18B20 Erro ");LCD_Write_String(0,1," ");}DS18B20_Get_Temp();//温度初始化LCD_Write_String(0,0," DS18B20 Init...");delay_ms(1000);LCD_Write_String(0,0,"Temp: C M: C");LCD_Write_String(0,1,"Auto: Gear: ");TIM3_Int_Init(1,7199);//10kh频率计数,定时100usif(Auto_flag == 1)LCD_Write_String(5,1,"on ");elseLCD_Write_String(5,1,"off");display_Max();while(1){keyscan();//按键扫描if(count++ >= 200)//延时一段时间读取温度{count = 0;temperature = DS18B20_Get_Temp();//获取温度if(temperature<0){LCD_Write_Char(5,0,'-'); //显示负号temperature=-temperature; //转为正数}else LCD_Write_Char(5,0,' '); //去掉负号//显示温度LCD_Write_Char(6,0,temperature/100+'0');LCD_Write_Char(7,0,temperature%100/10+'0');if(Auto_flag == 1)//在开启模式下,感应到有人,并且温度超过上限开启风扇{if(RTHW == 1)//感应到有人{temp_dispose(temperature/10);//根据温度进行pwm调节}else//没感应到有人,关闭风扇{PWM_Val = 100;Motor = 0;LCD_Write_String(14,1,"--");}}else//关闭风扇{PWM_Val = 100;Motor = 0;LCD_Write_String(14,1,"--");}}delay_ms(1);}
}
资料链接:https://pan.baidu.com/s/1wL1XMFW3EGXAsEX5KsKfrg?pwd=d6kd
提取码:d6kd
基于STM32的pwm温度风扇(带人体检测)相关推荐
- 基于STM32的高精度温度测控系统-原理图设计
基于STM32的高精度温度测控系统,本篇为原理图设计分析篇 高精度温度测控仪设计原理图篇(已更新) 高精度温度测控仪设计PCB篇(已更新) 高精度温度测控仪设计STM32代码篇(未更新) 高精度温度测 ...
- 基于STM32水温炉温温度控制系统电路设计-分享
(1).主控制器采用STM32单片机 (2).必须要有温度检测装置,采用DS18B20 (3).要有加热装置,采用220V交流电供电 (4).要能够设置报警的温度上限值以及温度加热的下限值 (5).要 ...
- STM32项目设计:基于STM32的DHT11、MQ-2、光照强度检测
一.项目功能概述 1.通过DHT11温湿度模块检测温湿度 2.通过MQ-2烟雾传感器检测烟雾 3.通过光敏电阻模块检测光照强度 4.oled液晶屏显示实时检测到的数据 5.超限蜂鸣器报警 源码下载地址 ...
- 基于STM32单片机窗帘窗户晾衣架雨滴光照检测控制系统电子代
基于STM32单片机窗帘窗户晾衣架雨滴光照检测控制系统电子代 硬件构成: STM32单片机+最小系统+液晶LCD1602显示+蜂鸣器报警模块+设置按键+雨滴检测模块+光敏电阻模块5516+ULN200 ...
- 基于stm32单片机智能温控风扇控制系统Proteus仿真
资料编号:103 下面是相关功能视频演示: 103-基于stm32单片机智能温控风扇控制系统Proteus仿真(源码+仿真+全套资料) 功能介绍:采用stm32单片机.ds18b20温度传感器采集温 ...
- 85、基于STM32单片机烟雾温度报警器设计火灾防火检测可燃气体监测系统设计
毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.程序源码 六.资料包括 摘要 本设计采用使用STM32F103作为控制器件,MQ-2型 ...
- 基于STM32使用PWM调速控制直流电机
PWM调速控制直流电机 网上找的历程,实现可以,但是无法随我自己的意愿改变速度,还是有问题. 代码如下: #include "delay.h" #include "sys ...
- 感应门铃的c语言程序,基于STM32单片机智能门禁门铃热释人体感应光照报警+RFID门禁电磁锁设计-(原理图+程序源码)...
视频:https://v.youku.com/v_show/id_XNDc2NDMwNDQzMg==.html?spm=a2hzp.8253869.0.0 2018-644.STM32成品+RFID设 ...
- (学习)基于STM32的PWM控制直流电机转速(CubeMX+HAL库)
使用到的各元件: 1.12V电源一个 2.单片机:STM32F103C8T6 3.直流电机4个 4.电机驱动模块:L298N 5.降压模块两个 6:杜邦线若干 对于直流电机的转动控制如下表 两边电平 ...
最新文章
- 被陆奇看好的项目都好奇葩
- 通过100个单词掌握英语语法(四十四)more
- WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于HTTP-GET的实现](提供模拟程序)...
- Restic 跨平台加密备份工具
- android系统打印功能实现,Android实现系统打印功能
- 嬴彻首款L3自动驾驶样车发布:自研全栈系统,满足高速全场景工况
- HTML:select、option中设置默认值,且默认值不在下拉框中出现
- TextCNN文本分类实践
- js 香港地区 手机号效验正则
- C#/VB.NET 合并PDF页面
- 神经网络和深度学习二者之间的关系
- 计算机资源管理器出问题怎么办,电脑资源管理器运行异常导致任务栏出现问题...
- 《硬件架构的艺术》读书笔记:Chapter 1 亚稳态的世界
- 如何开源,决定于对开源的认识 ———— 《OpenSources:来自开源革命的呼声》书评...
- Spring入门——控制反转是什么鬼
- 超详细 CentOS7 安装 卸载mysql数据库
- 使用Prolog编程语言解决爱因斯坦斑马难题
- 无盘服务器万兆网卡吃鸡报错,(2018.05.26)召唤绿化大师V3.2无盘万能包-xp-Win7x64
- 2的2.8次方用计算机怎么算,计算器2.8e9是多少,谢谢
- QRS波检测算法集锦(含源代码)