赞
踩
系统功能:
本课题设计是基于STM32单片机作为控制主体,通过HX711称重模块,HC-SR04超声波测距模块,红外测温,心率传感器等模块通过I2C或SPI接口与STM32进行通信,并读取传感器输出的身高,体重,心率,体温,血氧,心率,体脂率数据等数据,体脂率采用公式计算,可自行设置阈值超出阈值蜂鸣器发出警告。检测完身体的相关数据后,使用Wi-Fi方式将采集的数据发送到主机设备。而主机设备使用相关软件来接收和显示数据,平台生成历史数据曲线,方便用户直观查看,让用户能够方便地进行数据浏览。
主要功能模块原理图:
电源时钟烧录接口:
单片机和按键输入电路:
传感器采集电路:
系统主要功能模块代码
初始化代码:
- /* 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();
-
- MX_ADC1_Init();
-
- MX_TIM2_Init();
-
- /* USER CODE BEGIN 2 */
-
- //TIM2通道1启动上升沿捕获
-
- __HAL_TIM_SET_CAPTUREPOLARITY(&htim2, TIM_CHANNEL_1, TIM_INPUTCHANNELPOLARITY_RISING);
-
- HAL_TIM_IC_Start_IT(&htim2, TIM_CHANNEL_1);
-
- HAL_Delay(100);
-
- /*
- //uart1打开接收中断
- HAL_UART_Receive_IT(&huart1, (uint8_t*)&uart1RecBuff, 1);
- */
-
- //uart2打开接收中断
-
- HAL_UART_Receive_IT(&huart2, (uint8_t*)&uart2RecBuff, 1);
-
- //uart3打开接收中断
-
- HAL_UART_Receive_IT(&huart3, (uint8_t*)&uart3RecBuff, 1);
-
- //初始化显示
-
- InitOled();
-
- InitOledDisp();
-
- InitHX711();
-
- //初始化ESP8266
-
- ESP8266_Init();
-
-
- /* USER CODE END 2 */
系统控制代码:
- //系统信息更新
-
- void SystemControl(void)
-
- {
-
- static uint8_t updateCnt = 0;
-
-
-
- updateCnt++;
-
- if(updateCnt>=SYSTEM_UPDATE_INTER)
-
- {
-
- updateCnt = 0;
-
- Aliyun_SendData();
-
- }
-
- getPressVal = GetPressVal();
-
- getWeightVal = HX711GetWeight();
-
- getBMIVal = GetBMIVal();
-
- Hcsr04Start();
-
- // SendToLU90614();
-
- }
阿里云上报数据:
- //====================================================================
-
- // 函数名称: Aliyun_SendData
-
- // 函数功能: 发送数据
-
- // 入口参数: 需要发送的数据
-
- // 返回参数: 无
-
- // 说明:
-
- //====================================================================
-
- void Aliyun_SendData(void)
-
- {
-
- char pubTopic[500];
-
-
- sprintf(pubTopic,"AT+MQTTPUB=0,\""PUB_TOPIC"\",\""JSON_FORMAT"\",0,0\r\n", getHeightVal, getWeightVal, getPressVal, getRateVal, getOxygenVal, getTempVal, getBMIVal);
-
- Usart2_SendString((unsigned char *)pubTopic, strlen((const char *)pubTopic));
-
- }
此设计提供的资料包含原理图PCB(包含PDF,AD,立创EDA三个版本),源代码,系统框图,主程序流程图,物料清单(包含使用到的器件手册),功能操作说明等。
各功能模块资料:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。