一.硬件方案

本次设计采用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温度风扇(带人体检测)相关推荐

  1. 基于STM32的高精度温度测控系统-原理图设计

    基于STM32的高精度温度测控系统,本篇为原理图设计分析篇 高精度温度测控仪设计原理图篇(已更新) 高精度温度测控仪设计PCB篇(已更新) 高精度温度测控仪设计STM32代码篇(未更新) 高精度温度测 ...

  2. 基于STM32水温炉温温度控制系统电路设计-分享

    (1).主控制器采用STM32单片机 (2).必须要有温度检测装置,采用DS18B20 (3).要有加热装置,采用220V交流电供电 (4).要能够设置报警的温度上限值以及温度加热的下限值 (5).要 ...

  3. STM32项目设计:基于STM32的DHT11、MQ-2、光照强度检测

    一.项目功能概述 1.通过DHT11温湿度模块检测温湿度 2.通过MQ-2烟雾传感器检测烟雾 3.通过光敏电阻模块检测光照强度 4.oled液晶屏显示实时检测到的数据 5.超限蜂鸣器报警 源码下载地址 ...

  4. 基于STM32单片机窗帘窗户晾衣架雨滴光照检测控制系统电子代

    基于STM32单片机窗帘窗户晾衣架雨滴光照检测控制系统电子代 硬件构成: STM32单片机+最小系统+液晶LCD1602显示+蜂鸣器报警模块+设置按键+雨滴检测模块+光敏电阻模块5516+ULN200 ...

  5. 基于stm32单片机智能温控风扇控制系统Proteus仿真

    资料编号:103  下面是相关功能视频演示: 103-基于stm32单片机智能温控风扇控制系统Proteus仿真(源码+仿真+全套资料) 功能介绍:采用stm32单片机.ds18b20温度传感器采集温 ...

  6. 85、基于STM32单片机烟雾温度报警器设计火灾防火检测可燃气体监测系统设计

    毕设帮助.开题指导.技术解答(有偿)见文末. 目录 摘要 一.硬件方案 二.设计功能 三.实物图 四.原理图 五.程序源码 六.资料包括 摘要 本设计采用使用STM32F103作为控制器件,MQ-2型 ...

  7. 基于STM32使用PWM调速控制直流电机

    PWM调速控制直流电机 网上找的历程,实现可以,但是无法随我自己的意愿改变速度,还是有问题. 代码如下: #include "delay.h" #include "sys ...

  8. 感应门铃的c语言程序,基于STM32单片机智能门禁门铃热释人体感应光照报警+RFID门禁电磁锁设计-(原理图+程序源码)...

    视频:https://v.youku.com/v_show/id_XNDc2NDMwNDQzMg==.html?spm=a2hzp.8253869.0.0 2018-644.STM32成品+RFID设 ...

  9. (学习)基于STM32的PWM控制直流电机转速(CubeMX+HAL库)

    使用到的各元件: 1.12V电源一个 2.单片机:STM32F103C8T6 3.直流电机4个 4.电机驱动模块:L298N 5.降压模块两个 6:杜邦线若干 对于直流电机的转动控制如下表 两边电平 ...

最新文章

  1. 被陆奇看好的项目都好奇葩
  2. 通过100个单词掌握英语语法(四十四)more
  3. WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于HTTP-GET的实现](提供模拟程序)...
  4. Restic 跨平台加密备份工具
  5. android系统打印功能实现,Android实现系统打印功能
  6. 嬴彻首款L3自动驾驶样车发布:自研全栈系统,满足高速全场景工况
  7. HTML:select、option中设置默认值,且默认值不在下拉框中出现
  8. TextCNN文本分类实践
  9. js 香港地区 手机号效验正则
  10. C#/VB.NET 合并PDF页面
  11. 神经网络和深度学习二者之间的关系
  12. 计算机资源管理器出问题怎么办,电脑资源管理器运行异常导致任务栏出现问题...
  13. 《硬件架构的艺术》读书笔记:Chapter 1 亚稳态的世界
  14. 如何开源,决定于对开源的认识 ———— 《OpenSources:来自开源革命的呼声》书评...
  15. Spring入门——控制反转是什么鬼
  16. 超详细 CentOS7 安装 卸载mysql数据库
  17. 使用Prolog编程语言解决爱因斯坦斑马难题
  18. 无盘服务器万兆网卡吃鸡报错,(2018.05.26)召唤绿化大师V3.2无盘万能包-xp-Win7x64
  19. 2的2.8次方用计算机怎么算,计算器2.8e9是多少,谢谢
  20. QRS波检测算法集锦(含源代码)

热门文章

  1. kettle基础总结
  2. 动漫潮流阿斯特拉姑娘Mac高清壁纸
  3. SQL Server 拼音简码获取
  4. 计算机的动画图,计算机动画的图形基础学时.ppt
  5. Bootstrap框架网格系统工作原理
  6. 检查服务器是否支持ipv6
  7. c语言回文数的编写,C语言回文数
  8. solidworks曲面工具栏如何添加
  9. Java Spring-AOP动态代理-JDK和CGlib实现
  10. 软件工程--牙科诊所--需求获取