只做网站哪个云服务器好,发布平台是什么,怎样推广品牌,网站建设申请总结目录
一、前言
二、项目简介
1.功能详解
2.主要器件
三、原理图设计
四、PCB硬件设计
1.PCB图
2.PCB板打样焊接图
五、程序设计
六、实验效果
七、资料内容
项目分享 一、前言
项目成品图片#xff1a; 哔哩哔哩视频链接#xff1a;
https://www.bilibili.c… 目录
一、前言
二、项目简介
1.功能详解
2.主要器件
三、原理图设计
四、PCB硬件设计
1.PCB图
2.PCB板打样焊接图
五、程序设计
六、实验效果
七、资料内容
项目分享 一、前言
项目成品图片 哔哩哔哩视频链接
https://www.bilibili.com/video/BV1z1421d7Yp/?share_sourcecopy_webvd_source097fdeaf6b6ecfed8a9ff7119c32faf2
资料分享见文末
二、项目简介
1.功能详解
基于STM32的心率血氧手环可报警。功能如下
心率血氧采集MAX30102采集人体心率和血氧计步ADXL345三轴加速传感器记录人行走步数时间显示外部DS1302时钟模块读取和保存当前实时时间支持掉电保存温度采集DS18B20温度传感器采集人体体温OLED显示显示当前时间、体温、心率、血氧和步数信息按键控制调整时间和日期为心率、血氧和体温设置正常阈值范围异常报警当心率、血氧和体温在阈值范围外时触发声光报警蜂鸣器报警、指示灯闪烁蓝牙APP控制手机端蓝牙app显示心率、血氧、体温和步数信息并可设置阈值上下限和控制步数清零跌倒检测板子倾斜90°持续5秒以上触发跌倒监测报警
2.主要器件
STM32F103C8T6最小系统板OLED显示屏4针I2C协议MAX30302心率血氧传感器ADXL345加速度传感器DS18B20温度传感器蓝牙模块BT04-A蜂鸣器LED灯
三、原理图设计
四、PCB硬件设计
1.PCB图
2.PCB板打样焊接图
五、程序设计
int main(void)
{unsigned char i;DelayInit();NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级2位响应优先级I2C_Configuration(); //IIC初始化OLED_Init(); //OLED初始化KEY_Init(); //按键初始化DelayMs(200);CheckNewMcu();OLED_CLS();//清屏DS18B20_Init();DS1302_Init(SysDate); DelayMs(100);for(i0;i8;i)OLED_ShowCN(i*16,2,i8,0);//测试显示中文欢迎使用使能手环DelayMs(1000);OLED_CLS();//清屏DS1302_DateRead(SysDate);//读时间OLED_CLS();//清屏for(i0;i2;i)OLED_ShowCN(i*16,4,i16,1);//测试显示中文心率for(i0;i2;i)OLED_ShowCN(i*1648,4,i18,1);//测试显示中文血氧for(i0;i2;i)OLED_ShowCN(i*1695,4,i20,1);//测试显示中文步数OLED_ShowCentigrade(112, 2); //℃IIC_init();//IIC初始化uart1_Init(9600);adxl345_init();//ADXL345初始化Init_MAX30102();//MAX30102初始化TIM2_Init(99,719); //定时器初始化定时1ms//Tout ((arr1)*(psc1))/Tclk ; //Tclk:定时器输入频率(单位MHZ)//Tout:定时器溢出时间(单位us)while(1){shanshuo!shanshuo;KeySettings();DisplayTime();if(setn 0)//不在设置状态下读取相关数据{DisplayTemperature();GetSteps();GetHeartRateSpO2();if(fallTime0){if(displayfall0){displayfall1;OLED_CLS();//清屏for(i0;i3;i)OLED_ShowCN(i*1648,2,i64,0);//测试显示中文跌倒UsartSendReceiveData();DelayMs(1000);DelayMs(1000);OLED_CLS();//清屏for(i0;i2;i)OLED_ShowCN(i*16,4,i16,1);//测试显示中文心率for(i0;i2;i)OLED_ShowCN(i*1648,4,i18,1);//测试显示中文血氧for(i0;i2;i)OLED_ShowCN(i*1695,4,i20,1);//测试显示中文步数OLED_ShowCentigrade(112, 2); //℃}}}UsartSendReceiveData();DelayMs(10);}
}
void TIM2_IRQHandler(void)//定时器2中断服务程序用于记录时间
{ static u16 timeCount1 0;static u16 timeCount3 0;if (TIM_GetITStatus(TIM2, TIM_IT_Update) ! RESET) //检查指定的TIM中断发生与否:TIM 中断源 { TIM_ClearITPendingBit(TIM2, TIM_IT_Update); //清除中断标志位 timeCount1 ;if(timeCount1 800) {timeCount1 0;sendFlag 1;if(tiltFlag){if(fallTime0)fallTime--; //跌倒时间倒计时}}timeCount3 ;if(timeCount3 100) {timeCount30;if(fallTime0){ //跌倒蜂鸣器报警BEEP1;} else{if(((hrAvg!0)(hrAvgxinlvMax||hrAvgxinlvMin))||((spo2Avg!0)(spo2Avgspo2Min))||(temperaturetempMax||temperaturetempMin))//不在范围蜂鸣器报警{BEEP~BEEP;beepFlag|0x01; }else{ beepFlag0xFE;BEEP0;}}}}
}六、实验效果
七、资料内容
项目分享