一.系统概述
电脑智能底座系统具备监测与控制底座工作状态的能力,主要涵盖温度控制和角度调节功能,
-
数据采集:
- 以STM32单片机为核心控制单元,通过温度传感器实时获取底座的温度数据。
-
数据展示与设置:
- 实时显示温度信息,方便用户监控底座的温度状态。
- 提供温度阈值设定功能,一旦监测到温度超过预设值,系统会自动触发风扇工作。
-
风扇控制:
- 通过控制系统启动或停止风扇,以调节底座的温度,确保其维持在适宜范围内。
-
电机角度调节:
- 用户可以通过控制按钮调整电机的旋转角度和方向,实现底座的角度调节。

二.电路设计
电路图采用Altium Designer进行设计:
- 通过STM32F103C8T6单片机作为系统主控,最小系统电路是整个电路的核心;
- 通过步进电机驱动调节装置,步进电机的IN输入端接单片机GPIO口,OUT输出端接电机;
- 通过DS18B20进行温度检测,并通过单总线与单片机完成数据通信;
- 通过0.96寸的OLED12864进行数据显示,采用IIC总线的形式与单片机进行通信;
- 使用独立按键进行阈值设定和电机调节控制,按键的一端接地,一端接单片机的GPIO口;
- 通过继电器模拟风扇控制,并将继电器的数据输出脚与单片机的GPIO脚进行连接。


三.程序设计
#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(); //显示控制函数
}
}
四.资料内容

24-32-19