Bootstrap

【单片机毕业设计选题24067】-基于STM32的智能衣控制系统

系统功能:

系统上电后OLED显示“欢迎使用智能衣服系统请稍后”两秒钟后进入正常页面显示,

第一行显示系统状态信息

第二行显示获取到体温值

第三行显示设定的高体温阈值和低体温阈值

第四行显示获取到心率和血氧值

短按B3按键调高心率设定高阈值

短按B4按键调低心率设定高阈值

短按B5按键调高心率设定低阈值

短按B6按键调低心率设定低阈值

短按B7按键向指定手机号发送短信息。

系统每隔十秒钟向SD卡写入一次数据,数据内容为体温心率血氧值。

主要功能模块原理图:

电源时钟烧录接口:

单片机和按键输入电路:

传感器采集电路:

继电器控制电路:

资料获取地址

系统主要功能模块代码

初始化代码:

  /* USER CODE BEGIN 1 */


  /* USER CODE END 1 */


  /* MCU Configuration--------------------------------------------------------*/


  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */

  HAL_Init();


  /* USER CODE BEGIN Init */

    InitVar();

  /* USER CODE END Init */


  /* Configure the system clock */

  SystemClock_Config();


  /* USER CODE BEGIN SysInit */


  /* USER CODE END SysInit */


  /* Initialize all configured peripherals */

  MX_GPIO_Init();

  MX_USART1_UART_Init();

  MX_USART2_UART_Init();

  MX_USART3_UART_Init();

  /* USER CODE BEGIN 2 */

//uart2打开接收中断

    HAL_UART_Receive_IT(&huart2, (uint8_t*)&uart2RecBuff, 1);

//uart3打开接收中断

    HAL_UART_Receive_IT(&huart3, (uint8_t*)&uart3RecBuff, 1);

//初始化显示

    InitOled();

    InitOledDisp();

    if(InitDS18B20()==0)

    {

//        printf("%s", "DS18B20初始化成功");

//DS18B20在上电第一次读取时显示温度为85℃,这是正常的。

//85℃是DS18B20在上电复位后在温度寄存器内的对应数字量,

//这里DS18B20初始化成功后读一次值,避免出现85℃

        DS18B20GetTemp_SkipRom();

    }

   

//初始化SIM900A

    sim900a_Init();

    HAL_Delay(100); 

  /* USER CODE END 2 */

系统控制代码;
 

//系统信息更新

void SystemControl(void)

{

    static uint8_t updateCnt = 0;

   

    updateCnt++;   

    if(updateCnt>=SYSTEM_UPDATE_INTER)

    {

        updateCnt = 0;

        ds18b20Temp = DS18B20GetTemp_SkipRom();

    }

    DataRecord();

    ReadSensorVal();

}

读传感器数据:

//读传感器值,AD值

void ReadSensorVal(void)

{

//获取温度

    getTempVal = ds18b20Temp;

//根据获取到的温度和设定的高低温度来设置风扇和加热器

    if(getTempVal>setTempH)   //获取到的温度值大于设定的最高温度值

    {

        FAN_ON();

        HEAT_OFF();

    }

    else if(getTempVal<setTempL)  //获取到的温度值小于设定的最低温度值

    {

        HEAT_ON();

        FAN_OFF();

    }

    else

    {

        FAN_OFF();

        HEAT_OFF();

    }

}

此设计提供的资料包含原理图PCB(包含PDF,AD,立创EDA三个版本),源代码,系统框图,主程序流程图,物料清单(包含使用到的器件手册),功能操作说明等。

各功能模块资料:

;