Funpack第六期-MAX32660-EVSYS-计步器
采用MAX32660-EVSYS做一个手表的应用,这边实现计步和显示功能
标签
嵌入式系统
Funpack
飞跃1989
更新2021-03-18
789
https://www.bilibili.com/video/BV1zK4y1D7VR/

实现计步器功能,用陀螺仪来计算步数

计步器主要根据https://blog.csdn.net/Dancer__Sky/article/details/81504778

这篇文章中提到的,滤波算法以及一些常见的计步算法,根据x,y,z 3轴的加速度来判断步数

计时主要用软件RTC模拟

显示器主要用oled,通过gpio模拟SPI来实现显示功能

 

 

硬件介绍(控制器及外设,应用方向及应用场景)

该开发板有的外设有, 2个SPI(SPI+I2S), 2个UART, 2个I2C, 14个GPIO脚, 3个Timer

应用方向:智能穿戴,低功耗

应用场景: 智能手表

这个开发板比较简单,板子上只有DAPLINK和一个LED 一个button。

然后就是简单的14个GPIO管教。

这边需要注意的是

UART1是P0_10 P0_11 尽量不要用

SWD是P0_0 P0_1 这个也尽量不要用

 

设计思路(用板子的哪些模块实现了什么功能)显示屏

显示我用了SPI模块,用的是oled模块,是一个ssd1306的比较常见的点阵显示屏,0.96英寸的12864OLED显示屏

这颗屏幕我用的是SPI通信,GUI我选择使用u8g2来显示,这个在github上有开源的工程可以直接拿来用。

时间

时间我采用的是软件RTC,因为我这边上了RTTHREAD系统,所有采用软件RTC比较方便,只能每秒记录时间,因为暂时没有和手机或者以太网通信的工具,所以这边时间并不是实时的。

计步器

计步器我采用的是一颗陀螺仪LSM6DSOX,可以测量加速度的传感器,这颗传感器用的是IIC接口,读取出来X,Y,Z的值之后,根据加速度来滤波判断计步器的步数。

系统

这边我采用的是RTTHREAD操作系统,这款操作系统最大的特色就是软件包,这边其实用了很多软件包,计步器读取,采用了Sensor框架,读取数据非常简单,当然不得不说这个还是有一定的学习曲线的,上手稍微难一些,但是上手了之后,再构建项目就方便多了。当然也希望大家能够积极参与进去,看到哪些地方可以优化的,可以大胆的提交代码。

附件下载
MAX32660_EVSYS.part1.rar
MAX32660_EVSYS.part2.rar
团队介绍
逍遥
团队成员
飞跃1989
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号