最終實現步數測量、距離測量、溫度測量,并且在手機和OLED屏幕上實時顯示當前的運動信息,心電圖由于無心電圖模擬設備,無心電測量標準線線,不好調試,但有波在手機上顯示,可能需要自己調試
藍牙上位機.jpg (101.77 KB, 下載次數: 51)
下載附件
2020-10-17 16:55 上傳
STM32單片機源程序如下:
- //-----------------------------------------------------------------
- // 程序描述:
- // - ADS1292模塊測試實驗
- // 版 本: V1.0
- // 調試工具: 凌智STM32核心開發板、LZE_ST LINK2、USB轉串口模塊、ADS1292模塊
- // 說 明:
- // (1)接口說明
- // ADS1292模塊 核心板
- // PWDN -> PA0
- // START -> PA1
- // CS -> PA2
- // DRDY -> PA3
- // SCLK -> PA5
- // DOUT -> PA6
- // DIN -> PA7
- // 5V -> +5V
- // GND -> GND
- //
- // USB轉串口模塊 核心板
- // RXD -> PA9
- // TXD -> PA10
- // GND -> GND
- // (2)顯示說明
- // 使用串口調試助手顯示
- //-----------------------------------------------------------------
- //-----------------------------------------------------------------
- // 頭文件包含
- //-----------------------------------------------------------------
- #include "stm32f10x.h"
- #include "Delay.h"
- #include "EXTInterrupt.h"
- #include "LED.h"
- #include "lze_lcd.h"
- #include "usart.h"
- #include "ADS1292.h"
- #include "spi.h"
- #include "PeripheralInit.h"
- #include "usart3.h"
- #include "adc.h"
- #include "exti.h"
- #include "lmt70.h"
- #include "oled.h"
- #include "mpu6050.h"
- #include "mpuiic.h"
- #include "inv_mpu.h"
- #include "inv_mpu_dmp_motion_driver.h"
- #include "algorithm.h"
- s32 p_Temp[2]; //數據緩存(有符號)
- extern int heart_test;
- int read_data(void);
- unsigned long step_num=0;
- extern int meter;
- extern int temp_usart;
- //-----------------------------------------------------------------
- // 主程序
- //-----------------------------------------------------------------
- int main(void)
- {
- NVIC_Configuration();
- uart3_init(115200); // 串口初始化
- GPIO_ADS1292_Configuration(); // ADS1292引腳初始化
- SPI1_Init(); // SPI1初始化
- ADS1292_PowerOnInit();
- OLED_Init(); //=====OLED初始化
- OLED_Clear(); //=====OLED清屏
- MPU_Init(); //=====初始化MPU6050
- mpu_dmp_init(); //=====初始化MPU6050的DMP模式
-
- MPU6050_EXTI_Init();
- Adc_Init();
- OLED_ShowString(0,0,"Pitch:",12);
- OLED_ShowString(0,2,"meter:",12);
- OLED_ShowString(0,4,"temp:",12);
- OLED_ShowString(0,6,"step:",12);
- dmp_set_pedometer_step_count(step_num);
- while (1);
- }
- int read_data()
- {
- static u8 read_data[9]; // 數據緩存區
- static u32 ch1_data;
- static u32 ch2_data;
- static u32 ch1_data_del;
- static u32 ch2_data_del;
-
- int quyu;
-
- ch1_data=0;
- ch2_data=0;
- ADS1292_Read_Data(read_data);
-
- // 計算ADS1292通道1的數據-呼吸阻抗測量
- ch1_data |= (uint32_t)read_data[3] << 16;
- ch1_data |= (uint32_t)read_data[4] << 8;
- ch1_data |= (uint32_t)read_data[5] << 0;
- // 計算ADS1292通道2的數據-心電圖測量
- ch2_data |= (uint32_t)read_data[6] << 16;
- ch2_data |= (uint32_t)read_data[7] << 8;
- ch2_data |= (uint32_t)read_data[8] << 0;
-
- ch1_data_del=ch1_data^0x800000;
- ch2_data_del=ch2_data^0x800000;
-
- // ch1_data_del=ch1_data_del%32760;
- // quyu=ch2_data_del%30000;
- p_Temp[0] = get_volt(ch1_data_del); //把采到的3個字節轉成有符號32位數 為什么要變成4個字節?
- p_Temp[1] = get_volt(ch2_data_del); //把采到的3個字節轉成有符號32位數
-
- x_test();
-
- quyu=heart_test;
-
- return quyu;
- }
- //-----------------------------------------------------------------
- // End Of File
- //-----------------------------------------------------------------
復制代碼
51hei.png (3.91 KB, 下載次數: 44)
下載附件
2020-10-17 17:28 上傳
所有資料51hei提供下載:
51黑電子.7z
(2.21 MB, 下載次數: 173)
2020-10-17 17:31 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|