基于STM32单片机的电脑底座系统设计

描述

一.系统概述

电脑智能底座系统可以监测和控制底座的工作状态,包括温度控制和角度调节功能,提升了底座的智能化和实用性,为用户提供了更加舒适和便利的使用体验。具体包括以下主要功能:

1. 数据采集:

- 使用STM32单片机作为核心控制器,通过温度传感器实时采集温度数据。

2. 数据显示和设定:

- 显示温度数据,使用户可以实时监测底座温度。

- 设定温度阈值,当温度超过设定值时触发风扇转动。

3. 风扇控制:

- 控制风扇启动或停止,以调节底座温度,保持在合适的范围内。

4. 电机角度调节:

- 通过控制按钮调节电机的旋转角度和方向,实现对底座角度的调节。

STM32

二.电路设计

电路图采用Altium Designer进行设计:

1. 通过STM32F103C8T6单片机作为系统主控,最小系统电路是整个电路的核心;

2. 通过步进电机驱动调节装置,步进电机的IN输入端接单片机GPIO口,OUT输出端接电机;

3. 通过DS18B20进行温度检测,并通过单总线与单片机完成数据通信;

4. 通过0.96寸的OLED12864进行数据显示,采用IIC总线的形式与单片机进行通信;

5. 使用独立按键进行阈值设定和电机调节控制,按键的一端接地,一端接单片机的GPIO口;

6. 通过继电器模拟风扇控制,并将继电器的数据输出脚与单片机的GPIO脚进行连接。

STM32

STM32

三.程序设计

 

#include "sys.h"
#include "delay.h"
#include "adc2.h"
#include "math.h"
#include "key.h"
#include "OLED_I2C.h"
#include "Control_Report_To_Police.h"
/************************************************
版权:小常硬件
公众号:微信搜索“小常硬件“在公众号免费下载相关资料
************************************************/
 
int main(void)
{    
  u32 JR6001_Uart_bound=9600;
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
  delay_init();         //延时函数初始化    
   
   
  KEY_Init();            //按键IO初始化
  ULN2003_GPIOA_Init();  //电机初始化
   
  Relay_init();         //继电器初始化
  
  while(DS18B20_Init()){};       //  温度初始化
   
  OLED_Init();         //OLED初始化
  OLED_CLS();          //OLED清屏
 
  
  /*******显示汉字**********/
  OLED_ShowCN(0,4,10);    //温度
  OLED_ShowCN(0+16,4,11);  
   
  while(1)
  {
    OLED_Display_Cotrol(); //显示控制函数
  }   
}
 
 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分