基于STM32单片机的智能手环心率计步器体温显示方案原理图程序设计
硬件电路的设计
(末尾附文件)
3.1系统的功能分析及体系结构设计
3.1.1系统功能分析
本设计由STM32F103C8T6单片机核心板电路+ADXL345传感器电路+心率传感器电路+温度传感器+lcd1602电路组成。
1、通过重力加速度传感器ADXL345检测人的状态,计算出走路步数、走路距离和平均速度。
2、通过心率传感器实时检测心率,通过温度传感器检测温度。
3、lcd1602实时显示步数、距离和平均速度、心率以及温度值。
3.1.2系统总体结构
本系统具体框图如下图所示:
原理图:
ADXL345倾角传感器模块电路设计
本设计选择倾角传感器ADXL345模块实时检测相关的状态信息。ADXL345是一款小而薄的超低功耗3轴加速度计,分辨率高(13位),测量范围达± 16g。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。ADXL345非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率(3.9mg/LSB),能够测量不到1.0°的倾斜角度变化。该器件提供多种特殊检测功能。活动和非活动检测功能通过比较任意轴上的加速度与用户设置的阈值来检测有无运动发生。敲击检测功能可以检测任意方向的单振和双振动作。自由落体检测功能可以检测器件是否正在掉落。这些功能可以独立映射到两个中断输出引脚中的一个。正在申请专利的集成式存储器管理系统采用一个32级先进先出(FIFO)缓冲器,可用于存储数据,从而将主机处理器负荷降至最低,并降低整体系统功耗。低功耗模式支持基于运动的智能电源管理,从而以极低的功耗进行阈值感测和运动加速度测量。ADXL345模块接口图如下图所示。
ADXL345模块内部电路图如下图所示。U2即为稳压芯片,实现5V直流电转化为3.3V直流电,C1-C4为滤波电容。R2、R3为上拉电阻,让信号输入更加稳定。D1为电源指示灯,R1为限流电阻,来保护LED灯D1。
Pulsesensor脉搏心率传感器模块电路设计
脉搏心率传感器是用来测试心跳速率的传感器,实质是一款集成了放大电路和噪声消除电路的光学心率传感器。可以通过此传感器开发出和心率有关的互动作品。传感器可以戴在手指或者耳垂上。光电传感器将脉搏信号转换为电信号,此装置需要把手指放在传感器表盘上,光电传感器,此传感器是集成了放大电路和噪声消除电路的光学心率传感器,光电传感器一侧的发光二极管发光,当脉搏跳动时,指尖或者耳垂的动脉血管血容量发生周期性变化,透过指尖的光强度同时发生变化。另一侧的光电三极管将接收到的红外光信号转化为电信号。
一、接口说明
(1)+ 外接5V
(2)- 外接GND
(3)S 输出接口(0和1)
Pulsesensor脉搏心率传感器模块接口原理图如下图所示。
DS18B20温度传感器模块电路设计
DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。
主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
一、DS18B20技术参数
(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)测温范围 -55℃~+125℃,固有测温误差(注意,不是分辨率,这里之前是错误的)1℃。
(3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。
(4)工作电源: 3.0~5.5V/DC (可以数据线寄生电源)
(5)在使用中不需要任何外围元件
(6) 测量结果以9~12位数字量方式串行传送
DS18B20温度传感器可编程的分辨率为9~12位,温度转换为12位数字格式最大值为750毫秒,用户可定义的非易失性温度报警设置,应用范围包括恒温控制、工业系统、消费电子产品温度计、或任何热敏感系统。试验证明DS18B20温度传感器满足本设计要求。
系统软件设计
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include <stdio.h>
#include "timer.h"
#include "key.h"
#include "exti.h"
#include "adxl345.h"
#include "lcd1602.h"
#include "ds18b20.h" unsigned char ReadAdxl345; //定时读取adxl345数据
unsigned char ErrorNum=0; //记录错误次数
unsigned char CheckNum=0; //检测次数char dis0[16];//液晶数组显示暂存
char dis1[35];unsigned int xlTab[5];//心率数组
unsigned char count=0; //心率滤波计数
unsigned int xinLater=0;// 心率延时处理
unsigned int xinLv =0; //心率值unsigned int BuShu=0;//步数
unsigned int Normal_num=0; //正常次数
unsigned int Error_num=0; //倾斜次数unsigned int disBuShu = 0; //显示步数
float disJuLi = 0;//显示距离
float temperature; //温度
unsigned char readTemp = 0; //读取温度标志int main(void){ delay_init(); //延时函数初始化 uart_init(9600); //串口初始化为9600TIM3_Int_Init(49,7199);//50ms EXTIX_Init(); // 初始化外部中断LED_Init(); //初始化与LED连接的硬件接口KEY_Init(); //初始化按键Lcd_GPIO_init(); //初始化lcd引脚Lcd_Init(); //初始化lcd屏幕delay_ms(200);Init_ADXL345();if(Single_Read_ADXL345(0X00)==0xe5) {delay_ms(5);}else{delay_ms(3);}while(1){if(ReadAdxl345== 1) //定时读取adxl345数据{ReadAdxl345= 0;ReadData_x(); //三轴检测函数CheckNum++;if((temp_Y>450)||(temp_Y<-450)) //查看正常次数 {Normal_num++; //正常次数++}else{Error_num++;//倾斜次数}if((Error_num!=0)&&(Normal_num!=0))//检测到步数{BuShu++; //步数脉冲量++Error_num=0; //清除一个周期检测Normal_num=0;}}if(disFlag==1) //显示标志{disFlag = 0;readTemp++; //定时计数if(readTemp >= 8)//约800ms处理一次数据 温度{readTemp =0;//重新计数temperature=(float)DS18B20_Get_Temp()/10; //缩小10倍为实际值 }disBuShu = BuShu/2; //显示步数disJuLi = disBuShu*0.45;//显示距离sprintf(dis0,"X:%03d/min %4.1f C",xinLv,temperature);//打印Lcd_Puts(0,0,(unsigned char *)dis0); //显示Lcd_1Put(14,0,0xdf);//显示符号sprintf(dis1,"BS:%03d JL:%4.1fm ",disBuShu,disJuLi);//打印Lcd_Puts(0,1,(unsigned char *)dis1); //显示} }
}
.
链接:https://pan.baidu.com/s/1BAmanLUKjxxODher4jbqXQ
提取码:c4o3
.
基于STM32单片机的智能手环心率计步器体温显示方案原理图程序设计相关推荐
- 基于STM32智能手环心率计步器体温显示设计
目录 一.项目功能 二.原理图 三.实物照片 四.程序 五.文档资料 一.项目功能 本设计由STM32F103C8T6单片机核心板电路+ADXL345传感器电路+心率传感器电路+温度传感器+lcd16 ...
- 基于STM32单片机的智能手环设计(OLED显示)(Proteus仿真+程序+报告)
编号8 基于STM32单片机的智能手环设计(OLED显示) 功能描述: 由 STM32单片机+按键模拟计步+RTC时钟模块+DS18B20温度传感器模块+心率采集模块+串口模块+OLED显示模块+键盘 ...
- 基于STM32单片机智能手环脉搏心率计步器体温显示设计
" 基于STM32单片机智能手环脉搏心率计步器体温显示设计." (获取方式:在"智能车杂谈"微信回复:009). 01 材料准备 清单列表 1.ADXL345模 ...
- 基于STM32蓝牙智能手环脉搏心率计步器体温显示设计
基于STM32蓝牙智能手环脉搏心率计步器体温显示设计 本设计由STM32F103C8T6单片机核心板电路+ADXL345传感器电路+心率传感器电路+温度传感器+lcd1602电路组成. 1.通过重力加 ...
- 智能手环功能模块设计_基于51单片机的智能手环蓝牙模块设计
龙源期刊网 http://www.qikan.com.cn 基于 51 单片机的智能手环蓝牙模块设计 作者:王烈进 王游司 陈洪燕 孙超 卢宇 来源:<电脑知识与技术> 2018 年第 2 ...
- 基于STM32单片机的智能家居测量系统设计
当今的家庭生活面临着各种环境和健康问题,周围的生活参数存在潜在的隐患,包括室温.气体中有害物质的浓度等.在新时代,人们越来越关注健康及其相关因素.随着微电子技术的应用,电器的普及,以及单片机和传感器性 ...
- 基于STM32单片机的智能停车场车位管理系统设计
摘 要 通过调查发现,现有的许多公共场所的停车位管理落后,智能化程度不高.为顺应现代自动化狂潮的发展趋势,本项目以STM32单片机为主控芯片,基于RFID智能识别技术,设计了一个具有IC识别的智能停 ...
- 基于STM32单片机的智能加湿器(Proteus仿真+程序)
标号:11 基于STM32单片机的智能加湿器 功能描述: 11.基于STM32单片机的智能加湿器 本设计由STM32F103单片机最小系统+DHT11温湿度传感器+1602液晶显示模块+声光报警模块+ ...
- 基于单片机串口远程多路温湿度采集仿真-基于单片机ADC0809八路电压采集系统设计-基于单片机16x32点阵多模式显示仿真设计-基于单片机餐厅呼叫控制系统仿真设计-基于STM32单片机的智能水杯设计
1220基于单片机ADC0809八路电压采集系统设计-毕设课设资料 数码管显示,测量八路电压表. #define addo (5.0/255.0) #define zero 0.005 //用于校准A ...
最新文章
- img 标签 访问图片 返回403 forbidden问题
- 工作375-input readonly
- Linux启动更新命令,Linux更新和查询命令chkconfig详细介绍
- HTML5八大特性助力移动WebApp开发
- 用Winhex手工定位NTFS文件系统下的文件
- 【没有assembly目录】spark2.0.0启动时无法访问spark-assembly-*.jar的解决办法
- Facebook全面实施GDPR 用户Pages页面被随意锁定
- HighNewTech:19.04.22今天GitHub后无来者大事件之【B站后端代码不小心被开源】
- ESXI主机给虚拟机添加USB加密狗设备
- linux学习书籍汇总 值得推荐的linux学习书籍
- OA软件办公用品分类设置,实现办公用品分类透明化
- 小米路由器,设置自定义Samba路径,直接访问磁盘根目录
- java根据经纬度获取详细地址
- gRPC-proto文件写法
- 解决ImportError: cannot import name ‘soft_unicode‘ from ‘markupsafe‘
- 在线云html排版,云标签,关键字图排版 html5 canvas版
- htonl ntohl htons ntohs
- 陌陌推出“树莓”APP入局种草赛道,如何避免碰瓷“小红薯”?
- Linux中less和more的区别
- Linux#Ubuntu 的蓝牙连接 不会激活GUI响应
热门文章
- 从小黄车不能退还押金看未来淘宝破产倒闭更可怕
- 【python】输出30以内的质数并输出、统计个数、以及从大到小排列。
- 德玛西亚之WorkFlow(五)流程引擎创建
- windows 无法启动 SQL Server (MSSQLSERVER) 服务(位于本地计算机上)。错误 1069由于登入失败而无法启动 。...
- oracle expdp 11,Oracle 11.2.0.4 expdp and impdp
- linux问号符号,调试linux内核时gdb中的问号符号4.10
- asp.net html代码亚索,asp.net(C#)压缩数据库的代码
- C++实现DotCode扫码
- 【微信小程序】组件的生命周期及自定义组件
- 像对待领导一样对待父亲