0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何制作一个健身运动手环

科技观察员 来源:CodersCafeTech 作者:CodersCafeTech 2022-06-13 15:39 次阅读

这个项目将为您介绍一款智能运动手环 GetFit,您的终极健康和锻炼伙伴。GetFit 是一款易于使用、可教的健身追踪器,能够检测到无穷无尽的各种锻炼。它由 Arduino Nano 33 BLE Sense 和 Edge Impulse 提供支持,是一个完全开源的项目。

特点如下:

Can Count 无限练习

完全开源

适用教学

可充电

估算每天和每周的卡路里燃烧

第 1 步:Arduino Nano 33 BLE Sense(项目大脑)

poYBAGKm6X2AEPLTAAFBu332l3o073.png

对于我们正在使用的这个项目,Arduino nano 33 BLE sense。这是一款支持 3.3V AI 的板,采用最小的可用外形尺寸。它带有一系列嵌入式传感器

LSM9DS1(9轴IMU)

LPS22HB(气压计和温度传感器

HTS221(相对湿度传感器

APDS-9960(数字接近、环境光、RGB 和手势传感器)

MP34DT05(数字麦克风)

在这里,我们利用 LSM9DS1 传感器的 3 个加速通道来计算活动。

使用基于规则的编程来识别活动是一项非常艰巨的任务,因为人们不会每次都以相同的方式执行活动。但是机器学习可以轻松处理这些变化。要创建机器学习模型,您通常会在 Python 等高级语言之上使用 TensorFlow 或 Scikit-learn 等框架。仍然学习其中一些框架有很多好处,但在这里我们将使用一个名为 Edge Impulse 的工具,因为它只会让模型训练变得更加容易。幸运的是,Edge Impulse 完全支持 Arduino Nano 33 BLE Sense。

第 2 步:边缘脉冲

使用 Edge Impulse,您可以快速收集真实的传感器数据,在云端根据这些数据训练 ML 模型,然后将模型部署回您的 Arduino 设备。从那里您可以通过单个函数调用将模型集成到您的 Arduino 草图中。

本文档包含“如何开始使用 Edge Impulse 和 BLE Sense 板”?还有示例机器学习项目。如果您是该领域的初学者,请不要忘记尝试。

第 3 步:数据采集

poYBAGKm6XiAXOGFAAE5XwEoJxQ991.png

数据是机器学习模型中不可避免的一部分,数据采集和模型生成请访问 edgeimpulse.com。

确保您的设备连接到边缘脉冲。

然后我们用几根扎线带和一块海绵将 Arduino 连接到我的手臂上,以使模型对每项活动都非常准确。然后我们开始采样。

我们收集了大约 17 分钟的数据。你拥有的数据越多,你的模型就越好。另外,尽量保持一个平衡的数据集。为模型提供平衡的数据集将产生更高的准确性。

在这里,我们还通过使它们在运动的不同开始和结束位置保持静止来采取空闲状态。我们还执行了拆分数据集来测试模型,这在分析模型时确实是一个很好的做法。训练数据用于训练您的模型,而测试数据用于在训练后测试您的模型的准确性。

第 4 步:特征提取

pYYBAGKm6XSAfCKKAAE0EwJ8ex8135.png

弄清楚从我们的数据中提取哪些特征以提交给我们的模型进行训练并最终进行推理,这是我们在机器学习中可以做的最重要的事情之一。边缘脉冲不是挑选一些原始样本,而是以各种方式组合样本以生成独特的特征,帮助描述特定运动中正在发生的事情。

我们应该首先创建一个脉冲,这是 Edge Impulse 对机器学习管道的说法,以便生成特征。您应该看到第一个块,它代表您的原始数据。这里我们使用窗口大小和窗口增加为 2000 毫秒,因为它非常适合我们的数据。处理块是指我们在边缘脉冲中的特征提取方法,边缘脉冲会为我们的运动数据推荐频谱分析块,这就是我们想要的。在学习槽中,我们添加了一个神经网络交叉块。尽管神经网络很棒,但它们有一个主要问题。在处理以前从未见过的数据(如新活动)时,它们毫无用处。因为神经网络只能访问训练数据,所以他们无法对此进行评估。即使你为它提供的东西与以前所见的完全不同,它仍然属于四个类别之一。因此,我们还添加了一个 Anamoly 检测块来查找运动中的异常情况。它们实际上会在输出中脱颖而出。在设计冲动之后,我们为这些数据生成了特征。

第 5 步:神经网络

poYBAGKm6W-AK2vHAAHM7_mRmZg022.png

神经网络是一系列算法,通过模拟人脑运作方式的过程,努力识别一组数据中的潜在关系。从这个意义上说,神经网络是指神经元系统,无论是有机的还是人工的。

神经网络可以适应不断变化的输入;因此网络可以生成最好的结果,而无需重新设计输出标准 现在是时候通过使用这些提取的特征来生成模型了。这些是我们用于生成模型的神经网络设置和架构。

如果您对此没有任何想法,请不要担心边缘冲动会自动为您建议最佳架构和设置。

通过使用这些设置,我们为模型实现了 93% 的准确度。这似乎非常棒。下图显示了我们模型的混淆矩阵。

pYYBAGKm6WuAC1HcAAEctBY7oNg671.png

第 6 步:异常检测

poYBAGKm6WiAVkmcAAIKx237i4M538.png

异常检测的主要目的是在锻炼期间识别异常,因此我们将忽略它们。我们已经计算了数据的特征重要性,因为它们在异常检测中非常重要。

边缘脉冲实际上使用 K-means 聚类来进行异常检测。此方法查看数据集中的数据点,并将相似的数据点分组到预定义的 K 个集群中。可以添加阈值来检测异常:如果数据点与其最近的质心之间的距离大于阈值,则为异常。

上图显示了异常浏览器窗口,当我们尝试对俯卧撑运动(测试数据)进行分类时。如您所见,数据包含在集群中。对于异常,数据点将在集群之外。

第 7 步:模型测试

pYYBAGKm6WOAMqHVAAGe8aU9eU8405.png

是时候用测试数据验证我们的模型,看看它在新数据上的表现了。

它对测试数据进行了很好的分类,可以高达 87% 的准确率。

第 8 步:部署

poYBAGKm6V6ABvcsAAHJokxSeqY499.png

现在我们有了 ML 模型,是时候将它与我们的边缘设备(Arduino Nano 33 BLE sense)一起部署了。您训练的 ML 已经针对嵌入式硬件(如微控制器)进行了优化。将 ML 模型部署到 Nano 33 BLE Sense 板上非常简单,只需导航到左侧菜单上的部署即可。

在 Create library 部分,单击 Arduino library,然后在底部单击 Build 按钮。这将启动一个过程,Edge Impulse 为您的 Arduino 板创建一个库,其中包含您训练的 ML 模型。构建过程完成后,您的浏览器应该开始下载生成的库。在边缘脉冲中,有用于为 NN 分类器选择优化的选项。通过选择合适的,我们将获得更好的设备性能。令人惊讶的事实是,Edge 冲动会为我们推荐最好的。通过启用编译器,我们将以更少的内存获得相同的精度。

第 9 步:数据流

poYBAGKm6VmAYM7EAAGln4TkYSI308.png

为了将数据发送到云端,我们使用了 33 BLE sense 的蓝牙低功耗。设备实际上会通过蓝牙将数据发送到手机,然后手机将这些数据转发到 firebase,这就是我们在这个项目中的数据库。

低功耗蓝牙,简称BLE,是蓝牙的一种省电变体。BLE 的主要应用是少量数据的短距离传输(低带宽)。与始终开启的蓝牙不同,BLE 始终处于睡眠模式,除非在启动连接时。这使得它消耗非常低的功率,我们将获得更多的运行时间。

这就是我们使用 BLE 在手机和 Arduino nano 33 BLE 感应器之间进行通信的原因。在这种情况下,Arduino 将充当外围设备,而手机将充当中央设备。要使用 BLE 感知的 BLE 功能,我们正在使用 Arduino BLE 库。

Firebase 是一个移动和 Web 应用程序开发平台。Firebase 让开发人员可以专注于打造出色的用户体验。您不需要管理服务器。您不需要编写 API。Firebase 是您的服务器、您的 API 和您的数据存储,所有这些都编写得非常通用,您可以对其进行修改以满足大多数需求。在我们的项目中,我们使用 Firebase 的实时数据库来即时发布和检索数据,这样就没有时间延迟。

查找 Firebase 配置

转到 Firebase

然后转到设置》项目设置

在您的应用下 》 SDK 设置和配置 》 配置

第 10 步:用户界面

pYYBAGKm6VOAFC5SAAGe3jl9Pnc299.png

我们为该设备设计了一个神经形态伴侣网络应用程序。Neumorphism 或软 UI 是一种视觉风格,它结合了背景颜色、形状、渐变、高光和阴影,以确保图形强烈的按钮和开关。所有这些都可以实现柔软的挤压塑料外观和几乎 3D 造型。

在开始锻炼之前,您需要在个人选项卡中提交您的个人详细信息,例如姓名、年龄、性别、身高和体重。此信息用于分析锻炼。

你可以在这里找到完整的代码。

第11步:锂电池

pYYBAGKm6U-Ac3JXAADhnJDwVHQ989.png

聚合物电池的主要优点是它们的能量或密度大约是镍镉或镍氢电池的四倍。它们也非常轻巧且柔韧。这些优势让我们为设备选择锂聚合物电池。为了减小尺寸,我们在这里使用了 160 毫安时的电池,这可以为设备提供最佳运行时间。LiPo的最大电压为4.2v,标称电压为3.7V。电压从最大值 4.2 开始,在电池寿命的大部分时间里迅速下降到 3.7V 左右。一旦你达到 3.4V,电池就会没电,在 3.0V 时,截止电路会断开电池。

第 12 步:直流电压升压器

poYBAGKm6PmABKaDAAHVHZxHb44623.png

实际上,有两个选项可以为 Arduino 供电,要么给标准 3.3V 到 3.3V 引脚,要么给 Vin 提供 (5-21) 伏特。在这两种情况下,我们都应该非常小心。

VIN(和 USB)进入 3.3V 开关稳压器。这具有 4.5V 的最小输入电压。当我们将 3.3V 从电源直接馈入电路板时。我们应该通过切断那个链接来将该调节器的输出与电路的其余部分隔离(参见上图)。

注意:如果您提供超过 3.3V 的电压,您可能会损坏电路板。

所以在这里我们应该给 Arduino 的 Vin 提供 5V 电压,但锂电池在充满电后最多只能提供 4.2V 电压。

为了解决这个问题,我们使用了升压转换器模块,该模块可在 1.5V 至 5V 的各种输入范围内提供 5V DC 稳定电压输出。

这是升压转换器模块,可在 1.5V 至 5V 的各种输入范围内提供 5V DC 稳定电压输出。这个小型微型电路可提升电压电平并提供放大的稳定 5V 输出。对于不同的输入范围,它消耗不同的电流量来产生平衡的输出。

使用该模块时,必须符合以下条件1。输入电压不能大于标称电压,否则会烧坏模块2。输入功率必须大于输出功率,否则输出电压会低于标称电压。 3.输出负载不能大于标称负载,否则输出电压会小于标称电压。

启动电压0.8V,输出电流7mA

输入1-1.5V,输出5V 40-100mA

输入1.5-2V,输出5V 100-150mA

输入2-3V,输出5V 150-380mA

输入3V以上,输出5V 380-480mA;

DC-DC升压转换器模块工作频率为150KHZ,典型转换效率为85%

第 13 步:TP4056 锂离子电池充电器模块

pYYBAGKm6QqASkubAAGbFO9kuwU054.png

TP4056模块是一个线性充电器锂离子电池。该模块使用 TP4056 锂离子充电控制器 IC 和单独的保护 IC。它们可以为由单节电池组成的电池充电。最重要的是,它支持恒流恒压充电模式。用户可以选择这两种模式。该模块提供 1 安培的充电电流。

但是我们的电池只需要170毫安的电流。该模块的有趣之处在于它有一个 RPROG 电流设置电阻器 (R3)。因此,我们可以通过更改该电阻轻松调整输出电流。上图显示了 R3 及其当前值。

TP4056 充电器模块采用 0805 SMD 封装,用于电阻。我们把 1.2K 的电阻换成了 10K。现在它可以为电池提供130毫安的电流。所以我们的设备可以通过这个模块轻松充电。

注意:您也可以为电池提供 1 安培的电流,但不会持续很长时间。

第 14 步:4mm SPDT 1P2T 滑动开关

poYBAGKm6PSAHvZqAADKWznRx8w813.png

4mm SPDT 1P2T 滑动开关与 TP4056 充电器模块一起使用,用于调节充电控制器和升压器之间的电流。上述模式显示了 SPDT 开关中的电流。

第 15 步:用于案例的 Fusion 360

pYYBAGKm6OuAIKd3AACx-FiXMUU883.png

为了制作外壳,我们使用了 Fusion 360,外壳实际上由主体和盖子两部分组成。主体和盖子通过摩擦配合连接。为了连接 TP4056 充电器模块,我们实际上设计了一个可以插入内部的支架。支架实际上是一个单独的文件,没有与正文合并。

在商店里找不到便宜的带扣,这也是我们设计它的原因。这些是我们设计的 3D 打印部件。蓝色和白色的颜色组合使它更具吸引力。我们总共有 4 个文件。点击下方名称可以直接下载:

knuckle.step

LId.step

Main_File.step

Stand.step

第 16 步:手环带子

poYBAGKm6OOAK85jAAJrV2Mxkz8791.png

这种设计实际上是为手臂设计的,作为臂章。钩环机构与这个 1/2 英寸的松紧带一起用作紧固件。所以任何人都可以通过轻松调整表带来佩戴这款表带。

第 17 步:组装硬件

poYBAGKm6N-AMYqfAAIVeX5zrwA857.png

连接表带后,我们开始按照上面给出的示意图组装硬件。使用上图作为参考,我们的 Get-Fit 现在可以用了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Arduino
    +关注

    关注

    187

    文章

    6465

    浏览量

    186729
  • 运动手环
    +关注

    关注

    0

    文章

    35

    浏览量

    10473
收藏 人收藏

    评论

    相关推荐

    盘点运动手环里的那些传感器

    几年前,运动手环还仅仅是简单的计步器,但现在它们已经完全不同,可以监测心率甚至是紫外线指数。
    发表于 12-01 09:32 5406次阅读

    正确的看待智能手环运动检测作用

    只要你经常关注智能手环,你就会能看到对于运动手环怎样帮助人们监测健康,达到定的运动或者减肥效果,也有很多人扎堆吐槽这种产品对运动减肥没有任
    发表于 11-03 17:31

    Gear fit2 Pro这款运动手环真的不偏科啊!

    gear fit2 Pro健身手环的,我也跟大家说说我为什么选择这款。目前市面上的主流的运动手环及这么几种。华为的B3手环 ,这是
    发表于 08-06 22:20

    蓝牙网关在运动健身领域的应用

    者的心率数据。蓝牙路由器放置到区域两侧和手环进行蓝牙连接,健身者佩戴心率手环便能实时监测心率数据并同步到屏幕上。套方案包含20-50块运动手环
    发表于 11-21 16:48

    Fitbit Charge 3运动手环曝光,设计更精简,并加入更多全新元素

    Fitbit Charge系列运动手环是备受好评的智能穿戴产品,而现在Fitbit计划推出全新的Fitbit Charge 3运动手环,国外的网站也公布了Fitbit Charge 3运动手环的谍照,据悉这款产品的具体发售时间为
    发表于 08-07 09:38 4318次阅读

    华为运动手环怎么样 足以胜任运动手环之名

    2017年5月26日,华为正式发布了旗下第运动手环——华为运动手环,主打50米防水与GPS功能,标准版与GPS版本售价分别为298/388元。
    的头像 发表于 08-30 10:20 4701次阅读

    健身房智能镜子让健身运动成为种时尚

    健身房智能镜子把枯燥的训练变成好玩的比赛、把健身房变成超酷的运动游戏厅,智能魔镜让健康的有氧运动成为种时尚。
    发表于 04-14 16:56 823次阅读

    健身运动用什么耳机好?性价比健身运动耳机推荐

    健身运动用什么耳机好?性价比健身运动耳机推荐 我们日常的运动基本上就是跑步居多了,所以我们经常可以看到傍晚公园,街道上很多有人都在夜跑,既为了锻炼身体,也为了放松压力。虽然运动可以放松
    的头像 发表于 09-14 11:55 805次阅读

    健身房中的智能魔镜带你体验智能化的健身运动

    ,以及监测心率和判断运动健身效果。 健身房智能魔镜其实不是严格意义上的镜子,而是通过摄像头获取图像数据的显示屏。
    发表于 10-12 16:17 578次阅读

    智能运动手环防水测试是如何实现的,采用了哪些设备

    性能受到广大消费者的关注,目前大部厂商采用的IP67/68防水测试等级或者50米防水标准。 智能运动手环防水测试是使用运动手环测试机的直压方式进行智能手环的IP67/68防水等级或者50米防水测试。
    发表于 11-05 08:54 1996次阅读

    使用运动手环测试机测试智能运动手环防水性能

    智能运动手环因为功能多等原因得到了大量使用,日常生活使用中,智能手环时刻有可能会受到水的影响,在室内或许是在洗手时,在户外或许会偶遇雨雪等天气,就有可能导致运动手环进水。因而智能运动手环
    的头像 发表于 11-05 14:51 2620次阅读

    运动手环防水透气膜是如何实现有效的防水防尘的

    等方面的功能。既然是在电子产品,就免不了与水接触的可能性,不同的运动手环防水防尘防护能力是不同的,运动手环是怎样实现有效的防水防尘的呢? 运动手环可以通过运动手环防水透气膜来实现有效的
    发表于 11-05 14:52 5138次阅读

    如何将多种科技运用到传统的健身运动之中

    上海健身房智能镜子把多种科技运用到传统的健身运动当中,让健身房变得更智能和便捷,利用智能化的软硬件相互结合,达到健身的体验度,同时帮助健身
    发表于 11-14 10:57 627次阅读

    运动手环是怎样实现防水防尘的

    电子发烧友网站提供《运动手环是怎样实现防水防尘的.pdf》资料免费下载
    发表于 11-26 11:38 20次下载

    运动手环是怎样实现有效的防水防尘的

    智能可穿戴设备由于科技的发展普及后,智能运动手环因其功能多、操作简单、佩戴方便等等优点广受消费者的喜爱。而且运动手环不仅只是在室内可以使用,在户外更是可以使用,可以进行运动计时、计步、运动
    的头像 发表于 12-26 11:17 1223次阅读