开源蓝牙心率防水运动手环
——疯壳·智能穿戴开发系列
三轴计步伐

三轴记步
    1相关简介
    
    本次,我们将使用 DA14580 的硬件 I2C 读取三轴传感器的步数。
    
    I2C 总线是一个为系统中电路通信提供支持的可编程控制总线,它是一个软件定义的两线通信协议。
    两线 I2C 串行接口包括一个串行数据线(SDA)和一个串行时钟线(SCL); 
    支持两种通行速率,标准模式(0~100Kb/s)和快速模式(小于等于 400Kb/s);
    时钟同步;
    32 字节的发送接收 FIFO;
     主机发送与接收操作;
    7 或 10 位地址,7 或 10 位混合格式发送; 
    块发送模式;
    默认从地址为 0x055;
    中断或者轮询操作模式;
    可编程的数据线保持时间;
    
    本次使用的三轴传感器是 LIS2DS12。LIS2DS12 是一种超低功率高性能三轴线性加速度计,具有用户可选择的尺寸 2G/4G/8G/16G,能够测量输出数据速率从1Hz 到 6400Hz 的加速度。并且具有集成的 256 级先入先出(FIFO)缓冲器,让用户在存储数据时,限制主机处理器的干预。LIS2DS12 支持 SPI 和 I2C 两种接口, 我们这里采用的 I2C 接口。
    
    
    2硬件设计
    
    LIS2DS12 一共有 12 引脚。1 脚 SCL 是时钟信号。2 脚 CS 是 SPI/I2C 使能引脚。第 3 引脚是 SPI 的数据输出,由于这里用的 I2C,这个引脚空余。引脚 SDA 是 I2C 用来传送数据的。还有两个中断脚 INT1、INT2,打开之后,当 LIS2DS12 检测到步数,能产生中断电平。

    
    图 1
    
    
    3软件设计
    
    首先,完成系统初始化,调用 system_init(),可以参考前面的电量检测。接 下 来 就 是 I2C 的 使 用 了 。 第 一 步 我 们 配 置 I2C 的 相 关 引 脚 。
    
    GPIO_ConfigurePin(I2C_GPIO_PORT, I2C_SCL_PIN, INPUT, PID_I2C_SCL, false);
     GPIO_ConfigurePin(I2C_GPIO_PORT, I2C_SDA_PIN, INPUT, PID_I2C_SDA, false);
    
    第二步,就是通过下面函数初始化 I2C。
 
    
    代码1
    
    完成 I2C 的初始化之后, 我们就可以通过 i2c_eeprom_read_byte(uint32_taddress,    uint8_t    *byte)    对    LIS2DS12    进    行    读    操    作    ,    通    过
    
    i2c_eeprom_write_byte(uint32_t address, uint8_t byte)对 LIS2DS12 进行写操作。
    通过 I2C 的读写函数,对 LIS2DS12 寄存器进行读写,就能使用 LIS2DS12。详细资料可以查询 LIS2DS12 的 datasheet。
    首先,我们是调用函数 status_t LIS2DS12_ACC_R_WHO_AM_I_BIT(u8_t *value) 读 取 设 备 ID , 判 定 是 否 为 正 确 的 设 备 。 然 后 , 我 们 调 用LIS2DS12_ACC_W_SOFT_RESET(LIS2DS12_ACC_SOFT_RESET_t newValue),软件初始化 LIS2DS12 设备。如果读取设备错误或者软件初始化不成功,DA14580 会进入一个空的死循环。最后,我们会进入 Loop_Test_Pedometer(),记步测试。

    
    代码2
    
    
    4  实验现象
    
    首先,插好 Jlink 和 USB 转串口,然后打开打开串口调试助手。
    
    (1)选择串口号,我们图中是 COM1,这个根据实际情况选择。
    
    (2)配置串口参数,波特率为 115200,数据位 8,停止位 1,没有校验位和控制流,与下图一致。
    
    
    (3)点击打开串口。
 
    
    图 2
    配置完串口之后,打开我们提供的代码。
    
    (1)点击仿真按键。

    
    图 3
    (2)点击运行代码。
  
        
    图 4
    
    完成上述操作,就会看到串口调试助手区域 4 中会显示出步数,我们摇晃单片机,会发现串口调试助手打印出新的步数,并且步数在增加。
 
    
    图 5

【开源教程8】疯壳·开源蓝牙心率防水运动手环-三轴计步伐相关推荐

  1. 【开发教程8】疯壳·开源蓝牙心率防水运动手环-三轴计步伐

    蓝牙心率防水运动手环 --疯壳·智能穿戴开发系列 三轴计步伐 三轴记步     1相关简介          本次,我们将使用 DA14580 的硬件 I2C 读取三轴传感器的步数.          ...

  2. 【开源教程1】疯壳·开源蓝牙心率防水运动手环-开发套件简介

    开源蓝牙心率防水运动手环  --疯壳·智能穿戴开发系列 开发套件简介 为了方便编写文档教程,以及开发调试,我们拆出了一个手环硬件主板,并焊接上了 jlink 下载线以及 usb 转串口线,如下图所示( ...

  3. 【开发教程9】疯壳·开源蓝牙心率防水运动手环-心率监测

    开源蓝牙心率防水运动手环 --疯壳·智能穿戴开发系列    心率监测 1心率测量原理简介          我们手环的心率测量, 采用的是 PPG 光电容积脉搏波描记法原理(PhotoPlethysm ...

  4. 【开发教程10】疯壳·开源蓝牙心率防水运动手环-蓝牙 BLE 收发

    开源蓝牙心率防水运动手环 --疯壳·智能穿戴开发系列 蓝牙 BLE 收发 1相关简介          DA14580 内部集成了射频模块,同时官方也提供了一套 SDK,里面包含了蓝牙协议栈部分.本节 ...

  5. 【开源教程11】疯壳·开源蓝牙心率防水运动手环-整机功能代码讲解

    开源蓝牙心率防水运动手环 --疯壳·智能穿戴开发系列 整机功能代码讲解 整机代码 1 软件设计    本节,我们将融合前面的蓝牙收发.三轴记步.电量检测.外部 Flash 读写. 心率检测和 Led ...

  6. 【开发教程11】疯壳·开源蓝牙心率防水运动手环-整机功能代码讲解

    开源蓝牙心率防水运动手环 --疯壳·智能穿戴开发系列 整机功能代码讲解 整机代码 1 软件设计    本节,我们将融合前面的蓝牙收发.三轴记步.电量检测.外部 Flash 读写. 心率检测和 Led ...

  7. 【开源教程7】疯壳·开源蓝牙心率防水运动手环-电容触摸

    开源蓝牙心率防水运动手环 --疯壳·智能穿戴开发系列 电容触摸 1相关简介      本次章节,我们将使用到 DA14580 的外部中断,通过触摸手环主板上面的小弹簧,触发中断.   DA14580 ...

  8. 【开发教程7】疯壳·开源蓝牙心率防水运动手环-电容触摸

    开源蓝牙心率防水运动手环 --疯壳·智能穿戴开发系列 电容触摸 1相关简介      本次章节,我们将使用到 DA14580 的外部中断,通过触摸手环主板上面的小弹簧,触发中断.   DA14580 ...

  9. 【开源教程10】疯壳·开源蓝牙心率防水运动手环-蓝牙 BLE 收发

    开源蓝牙心率防水运动手环 --疯壳·智能穿戴开发系列 蓝牙 BLE 收发 1相关简介          DA14580 内部集成了射频模块,同时官方也提供了一套 SDK,里面包含了蓝牙协议栈部分.本节 ...

最新文章

  1. 如何免费使用数据挖掘软件RapidMiner - 申请学生许可证
  2. 分享基于分布式Http长连接框架--设计模型
  3. 【Kotlin】扩展属性 ( 扩展变量属性 | 扩展常量属性 | 注意事项 | 本质分析 )
  4. 四川省天然气行业发展战略及投资形势分析报告2021版
  5. java动物乐园_基于jsp的动物园管理系统-JavaEE实现动物园管理系统 - java项目源码...
  6. 图论复习——dfs树,点双,边双,强连通分量
  7. Nginx中如何配置中文域名?
  8. Hibernate映射关系之多对多
  9. 游戏筑基开发之深度优先搜索算法(C语言)
  10. [线筛五连]线筛素数
  11. cura切片软件闪退,添加打印机闪退,导入模型闪退
  12. iPhone检测是否存在耳麦
  13. 【漫步计算机系统】:发展概览Ⅲ
  14. adg的archive出现gap,使用增量恢复的方式进行恢复adg,RMAN-06094: datafile 1 must be restored
  15. 25000linux集群源码,一文看懂 Redis5 搭建集群
  16. HDU 5761 多校联合 Rower BO
  17. ubuntu:更新源操作步骤
  18. Docker超详细版教程通俗易懂 -之- 入门篇
  19. mobaxterm ssh密匙 登录被拒绝:server refused our key
  20. 30年前,北京第一家麦当劳餐厅开业,汉堡薯条就这么“火”了? | 美通社头条...

热门文章

  1. 看山是山,看山不是山,看山还是山--技术经验需要不断实践、学习、总结
  2. jQuery图标数字滚动计数代码
  3. 按条件决定SharePoint 2013日历颜色
  4. 戴尔3020电脑无法从DHCP获取IP
  5. argc,argv是什么
  6. PDF转换word,三种方法在这里
  7. SignalR 2.0
  8. linux电脑连接苹果手机,在iPhone上使用命令行命令以及通过ssh连接iPhone
  9. 山西省经贸学校计算机专业,关于山西省贸易学校的专业
  10. android webview mailto,如何处理mailto:在android webview中