基于stm32f103的智能风扇系统

  • 系统设计目标

本系统可以分为两个模式来进行运行,分别为手动模式和自动模式,同时,在上电进入系统后,还会有一个模式选择的界面产生。

  1. 模式选择:在此界面中,可以通过按键K1来控制模式选择,两个模式分别为手动模式和自动模式;通过按键K2可以进入模式
  2. 手动模式:在手动模式中,可以通过K1来进行速度调整,分为低速、中速和高速,可以通过K3来控制是否为摇头状态。
  3. 自动模式:在自动模式下,可以通过红外传感器来检测周围是否有人,通过温湿度传感器来测试周围环境温度和湿度,若达到条件就会触发风扇进行运转,风速也有低速模式、中速模式、高速模式。
  • 具体的硬件选型
  1. 主控芯片

主控芯片选择的是stm32f103c8t6最小系统板,价格便宜,非常适合新手进行单片机项目的开发,可以配合面包板来使用,很适合电路连接。

基于stm32f103的智能风扇系统_第1张图片

 

        2.显示模块

显示模块主要是使用0.96英寸OLED屏幕。通过OLED模块来显示模式信息、温度信息、扫风信息等内容。

基于stm32f103的智能风扇系统_第2张图片

 

        3.温湿度传感器

温湿度传感器使用的是DHT11温湿度传感器,用来在自动模式下来采集温度数据和湿度数据,控制风扇的转速。

基于stm32f103的智能风扇系统_第3张图片

 

        4.红外模块      

红外模块主要是用来检测周围是否有人存在,在检测到周围有人存在的时候,就可以将信息传递给单片机来进行响应,当温度达到设定值时,可以控制风扇开始转动。

基于stm32f103的智能风扇系统_第4张图片

 

        5.电机驱动电路

我的电机驱动电路是使用的大功率二极管来进行驱动电机的,其实也可以用L298N来进行驱动,这个就根据个人手头上的元件来决定。

        6.舵机

风扇的扫风模式我主要是使用舵机来完成的,通过控制舵机的占空比来实现风扇的扫风。

        7.电机

这次的电机我使用的是空心杯这个小电机。

  • 具体的软件思路
  1. 模式选择界面

在选择模式下可以通过按键来切换模式,并通过按键进入模式,其中使用K1按键来进行模式的选择,分为自动模式和手动模式;通过K2进入所选择的模式。

基于stm32f103的智能风扇系统_第5张图片

 

        2.手动模式

在手动模式下,通过按键来控制风扇的转动和扫风模式以及退出到选择界面的功能。在手动模式中,按下K1键来进行风扇的加速,分为低速模式—>中速模式—>高速模式—>停止。通过K3来控制扫风,当按下一次K3后,会进入扫风模式,风扇扫风,再次按下K3,停止扫风。按下K4后,会退出手动模式进入模式选择界面。

基于stm32f103的智能风扇系统_第6张图片

 

        3.自动模式

在自动模式下,系统会自动检测周围环境并决定是否进入扫风模式和使风扇转动。

  1. 首先会检测前方是否有人,若没有人,无事发生;若有人,进入2。
  2. 若前方有人,会检测左侧是否有人,若无人且环境温度大于27度,风扇转动但不扫风;若有人,进入3。
  3. 若左侧有人,会检测右侧是否有人,若无人且环境温度大于27度,风扇转动且左半边扫风;若有人,且环境温度大于27度,风扇转动且0度到180度扫风。
  4. 若环境温度在27度到29度之间,风扇转速为低速模式,若环境温度在29度到31度之间,风扇转速为中速模式,若环境温度在31度以上,风扇转速为高速模式。

基于stm32f103的智能风扇系统_第7张图片

 

  • 元件的连接

基于stm32f103的智能风扇系统_第8张图片

注:如果要实现自动模式的效果,要在舵机的桨上将电机和红外模块粘上,这样才能更好地实现自动模式中所期望的效果。

 

你可能感兴趣的:(项目整合,单片机,c语言,stm32,arm,mcu)