智能跳绳的产品体验与思考(一)

news2024/11/18 13:31:24

在这里插入图片描述

我,虽称不上跳绳高手,却对这项运动怀有深厚的热爱,也曾在某电商平台上选购过一款智能跳绳,希望能借此提升我的跳绳技巧。今天,咱们就来聊聊我和这条绳子的发生的一些故事,外加我的一些思考。

此刻,我们既讲故事,也讲道理。

**记得第一次尝试倒计时1分钟的挑战时,**APP上赫然显示我跳了110次,其中绊绳8次,而最高连跳才28次。这数据让我大跌眼镜,连普通跳绳都难以达到这样的辉煌战绩。我开始质疑这根绳的计数准确性,甚至开始怀疑自己的身体协调能力是否退化了。

然而,经过几次的尝试和摸索后,我逐渐放下了这些疑惑。原来,这根绳子也需要和我进行一番磨合。

直到那一天,我跳了180次,全程零失误!当我翻看过往的运动轨迹,回想起与这根绳子斗智斗勇的点点滴滴,我领悟到:尽管这些数据可能并非百分百精准,但它们就像一面镜子,真实地反映出我的进步与成长。

正是这些数据,不断激励着我前行,挑战自我,向着181次的目标迈进。

还有一次,来到我经常跳绳的领地,进行计数10000次跳绳任务时,发现已经被几个大妈占据,天生内向的我,只得不情愿地转移阵地。所谓的领地其实就是小区广场角落的一个桌子旁,由于进行模式设置是需要手机在跳绳的附近,通过APP进行,设置完后我会把手机放在那个桌子上,这样不会影响跳绳的节奏。

我来到另外的角落,那里没有桌子,只有一排高高的绿植(我不知道它的名字,就是经过修剪,顶部平平的那种),完成计数设置后,将手机放在上面,随即展开了跳绳之旅。

正当我全神贯注地跳着,溜达过来一只柯基,在我放手机的正下方抬了右后腿,这时我才发现手机已经不在绿植之上,于是望向那个略显潮湿的地方,发现了已经被滋润的手机。

如今,每当握起手机都有一种想扔掉的冲动,但考虑一下现状,还是先搞一个膜和一个壳吧,我丢!

是柯基的错吗?是手机?还是我?我不去跳绳,手机不掉下去,柯基不抬腿,这三个条件缺其中一种都不能发生这种概率的悲剧。但是我不能不跳,我也不能阻止柯基的出现,那手机是不是可以放在家里?

如果第一个故事是因为智能跳绳的各种数据,激发了我的潜能与执着。

那么第二个故事则启发了我开始思考如何降低概率事件的发生。也就有了手机能不能放家里的想法!

可手机是给跳绳进行设置最便捷的途径,也是数据记录和计时的关键条件,怎么才能摆脱手机的束缚呢?

于是,我想了这样一个架构。

在这里插入图片描述

看左侧框图,智能跳绳主要由这些硬件模块组成:

**MCU:**也称主控芯片,是智能跳绳的核心组件,用于控制、通讯、数据存储等功能。
**TTS语音合成模块:**又称文本转语音模块,用于语音提醒,如当前模式设置是否成功,开始计时倒数“3、2、1”,运动结束后告诉你运功的各种数据等等。
**蓝牙模块:**负责跳绳与用户应用端的数据同步。
**传感器:**如霍尔传感器,用于收集跳绳的转动圈数,也就是计数。
**振动模块:**放置于手柄中心位置,用振动来提示是否快到时间或计时已经开始。
**电源模块:**用于电源管理,电池可以是充电或一次性电池。
**显示屏:**用于辅助显示当前跳绳的状态和记数功能,也可省去该模块,用TTS模块的语音提示来替代。
**按键:通常会设计三个,采用复用的方式一键多用,如第1个按键可以是功能按键:长按3S=开机/关机,短按=模式切换;第2个和第3个按键:**可以是“+”和“-”,进入不同模式时对应不同的“加和减”,如在默认状态可以是音量调节按键,在倒计时模式下可以是时间调节按键,在计数模式下可以是数量的调节。

倘若采用这样的设计,我就能够轻松通过简易按键实现跳绳模式的切换,自由设定跳绳数量或计时。此外,TTS语音合成模块将智能播报设置提醒与运动数据,屏幕则作为辅助数据展示,甚至可以选择去掉该模块,以简化设计。

这样的设计的好处就是跳绳将可以脱离手机的束缚,实现离线使用,而我的跳绳数据则会根据所选运动模式精准分类,存储于MCU数据表中(推荐存储量为100条记录)。当手机与跳绳再次连接时,所有数据将自动同步至手机应用端(APP)。

这就是我这样一位跳绳爱好者对智能跳绳的一些体验和思考,下一篇我将着重与大家聊聊离开手机的智能跳绳是如何做到完美离线使用的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1710608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NDIS协议驱动(四)

NDIS 定义对象标识符 (OID) 值,以标识适配器参数,其中包括设备特征、可配置设置和统计信息等操作参数。 协议驱动程序可以查询或设置基础驱动程序的操作参数。 NDIS 还为 NDIS 6.1 及更高版本的协议驱动程序提供直接 OID 请求接口。 直接 OID 请求路径支…

Java-文件操作

一、创建文件 1.创建文件夹 创建文件夹时,注意两个条件,该路径对应的是否为目录(dir),该文件夹是否存在。 File Apathnew File("./文件夹A"); //当前路径文件夹的存储路径if(!Apath.exists() &&am…

【研0深度学习】李宏毅2024春《生成式人工智能导论》持续更新...

文章目录 第1讲 什么是生成式人工智慧?第2讲 今日的生成式人工智慧厉害在哪里?第3-5讲 训练不了人工智慧,你可以训练你自己(在不训练模型的情况下强化语言模型的方法)第6讲 大模型修炼史——第一阶段 自我学习 累计实力…

ROS2入门21讲__第08讲__话题:节点间传递数据的桥梁

目录 前言 通信模型 发布/订阅模型 多对多通信 异步通信 消息接口 案例一:Hello World话题通信 运行效果 发布者代码解析 程序实现 流程总结 订阅者代码解析 程序实现 流程总结 案例二:机器视觉识别 运行效果 发布者代码解析 订阅者代…

WebGL学习(一)渲染关系

学习webgl 开发理解渲染关系是必须的,也非常重要,很多人忽视了这个过程。 我这里先简单写一下,后面尽量用通俗易懂的方式,举例讲解。 WebGL,全称Web Graphics Library,是一种在网页上渲染3D图形的技术。它…

FPGA时钟:驱动数字逻辑的核心

一、引言 在FPGA(现场可编程门阵列)设计中,时钟信号是不可或缺的关键要素。时钟信号作为时序逻辑的心跳,推动着FPGA内部各个存储单元的数据流转。无论是实现复杂的逻辑运算还是处理高速数据流,都需要精确的时钟信号来保…

CASS11自定义宗地图框

1、找到CASS11的安装路径,找到如下文件夹: 2、打开【report】文件夹,如下: 3、打开其中一个压缩包,如【标准宗地图】压缩包,结果如下: 4、打开后,将其另存为到桌面,随后关…

Leetcode621. 任务调度器

Every day a Leetcode 题目来源:621. 任务调度器 类似题目:1953. 你可以工作的最大周数 解法1:贪心 本质上来说,我们需要构造一个尽量短的,相同元素间隔 > (n1) 的序列。 用一个数组 cnt 统计每个任务的次数。…

Oracle创建用户时提示ORA-65096:公用用户名或角色名无效

Oracle创建用户时提示“ORA-65096:公用用户名或角色名无效” 如下图所示: 解决方法:在新增用户名前面加上C##或者c##就可以解决无效问题,具体什么原因还不清楚,需要再研究一下。

Discourse 安装后安全配置考虑

防火墙 防火墙是肯定要装机器上的,并且端口只开放了 443 和 22。 22 的端口还只限制了部分 IP 段的访问,通常只允许给内部网络的 SSH。 Web 服务应该只走 443,80 端口的做好自动重定向到 443。 CloudFlare 可以用一个 CloudFlare 的负载…

行为设计模式之状态模式

文章目录 概述定义结构图 2.代码示例小结 概述 定义 状态模式(state pattern)的定义: 允许一个对象在其内部状态改变时改变它的行为。 对象看起来似乎修改了它的类。 状态模式就是用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题.。状态模式将一个对象的状态…

QtCreator调试运行工程报错,无法找到相关库的的解决方案

最新在使用国产化平台做qt应用开发时,总是遇到qtcreator内调试运行 找不到动态库的问题,为什么会出现这种问题呢?明明编译的时候能够正常通过,运行或者调试的时候找不到相关的库呢?先说结论,排除库本身的问…

基于tensorflow的咖啡豆识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、前期工作 1. 设置GPU import tensorflow as tfgpus tf.config.list_physical_devices("GPU")if gpus:tf.config.experimental.set_memory_gr…

远程桌面连接--“发生身份验证错误。要求的函数不受支持”

出现身份验证错误 要求的函数不受支持的问题,可以通过以下几种方法尝试解决:12 对于Windows 10家庭版用户,需要修改注册表信息。具体步骤如下: 按下WIN R,输入regedit,点击确定,打开注册表编辑…

openresty(Nginx) 隐藏 软包名称及版本号 升级版本

1 访问错误或者异常的URL 2 修改配置,重新编译,升级 #修改版本等 vim ./bundle/nginx-1.13.6/src/core/nginx.h #define nginx_version 1013006 #define NGINX_VERSION "1.13.6" #define NGINX_VER "openresty/&q…

python中的-1是什么意思

python中的-1是什么意思? -1指的是索引,即列表的最后一个元素。 比如你输入一个列表: a = [1,2,3,4,5,6,7] a[-1]就代表索引该列表最后一个值,你可以 b a[-1] print(b) 结果如下: 7 索引从左往右是…

5.28学习总结

java复习总结 hashcode()和equals() hashcode():在Object里这个方法是通过返回地址的整数值来生成哈希值。 equals():在Object里这个方法是通过比较他们的内存地址来确定两个对象是否相同。 运行效率:hashcode的时间复杂度为O(1)(因为只要计算一次哈…

SpringCloud之SSO单点登录-基于Gateway和OAuth2的跨系统统一认证和鉴权详解

单点登录(SSO)是一种身份验证过程,允许用户通过一次登录访问多个系统。本文将深入解析单点登录的原理,并详细介绍如何在Spring Cloud环境中实现单点登录。通过具体的架构图和代码示例,我们将展示SSO的工作机制和优势&a…

mysql 8 [HY000][1114] The table ‘/tmp/#sql4c3_3e5a0_2‘ is full

分组有个比较大的表,出现了临时表空间满了的情况; 试用该sql 语句: SHOW GLOBAL VARIABLES LIKE internal_tmp_mem_storage_engine; 可以看到 默认临时结果是用临时表存的,在mysql的my.cnt可以改临时空间的大小 但是磁盘哪有内…

2、python环境的安装-mac系统下

打开官网,downloads下边有macOS,点击: 选择最新版本,点击,进入下边的页面,一直往下滑,看到files中有个macOS的版本,点击下载 点击下载后是pkg的安装包,点击安装。 一步步…