描述
介绍:
我已经打了大约 3 年的拳击,老实说,我仍然相信我的技能水平和 3 年前一样。那么,有什么比记录我的进步并测量我能用位移与时间图表冲出速度袋的速度更好的方法呢?:-)
*免责声明:我交替使用速度和频率。
硬件设置:
-
将粒子氩放在面包板上
-
使用跳线,将 Particle Argon 的 GND 引脚连接到超声波传感器的“Gnd”引脚。
-
使用另一根跳线,将 Particle Argon 的 VUSB 引脚连接到超声波传感器的“Vcc”引脚。
-
使用第三根跳线,将粒子氩气上的 D3 连接到超声波传感器的“回声”引脚。
-
使用第四根跳线,将粒子氩气上的 D7 连接到超声波传感器的“Trig”引脚。
代码:
创建位移与时间图需要 4 件事:
-
为“rest”赋值: 换句话说,速度包在多远的距离上会达到平衡?这应该是您第一次调用 getDistance(),假设速度包没有移动。
-
像秒表一样收集时间:因为我们将绘制我们的数据,所以我们需要随时知道速度包位置的时间。换句话说,当速度包在 x 位置时,已经过去了 y 秒。我们将使用millis() 来寻找时间。
-
收集位移:位移是衡量一个物体离它的起始位置或平衡多远的量度。我们需要随时知道速度包离平衡有多远。
-
连续将两个数据变量(位移和时间)发布到粒子控制台。为了绕过 Particle.publish() 的限制,我们将字符串编码为 JSON(参见第 48-50 行)。
闪烁你的粒子氩将下面附加的代码。
设置您的 Google 表格:
接下来的几个步骤改编自 Gustavo Gonnet 的“将数据推送到 Google Docs ”项目以及他链接的站点。我将在此处列出相关信息,但如果您想要更深入的解释,请查看他们的文章。
-
转到Google 表格并将前两列分别命名为“位移”和“时间”。您的标题与您在 Particle.publish() 中指定的变量名称匹配非常重要。
-
按照本网站上的“工作表”部分并确保保存您的脚本 URL!这对于我们在粒子控制台上创建 WebHook 集成非常重要。
设置你的 WebHook
-
转到粒子控制台 > 集成 > WebHook
-
在“自定义模板”选项卡下,复制以下代码,但将 URL 更改为您自己的 Google 脚本 URL,并将 deviceID 更改为您自己设备的。
设置:
现在您的代码正在运行,是时候进行测试了!
-
将您的超声波传感器放在它直接面对您的速度包的位置。
-
将 Particle Argon 连接到便携式充电器或电池组,然后等待它呼吸青色。
-
等待几秒钟,然后再打你的速度包。请记住,第一次调用 getDistance() 将为“rest”分配一个值,您需要确保对象在“rest”被分配一个值之前不会移动。此外,尽量笔直地击打袋子。
这是我的设置图片:我将一块塑料热粘到面向我的速度包的木梁上,并使用魔术贴固定面包板:
数据:
在您击中袋子至少 30 秒后,断开 Particle Argon 并检查您的 Google 表格。您将看到会话中的数据。
关于一些异常值,比如我上面截图中的位移为 38.05,这很可能是因为有时我的速度包以一个角度行进,而不是直接与超声波传感器对齐。由于大多数数据看起来都正确,您可以通过以下方式在 Google 表格上插入“平滑折线图”:
-
选择所有数据 > 插入 > 图表
-
在“图表类型”下选择“平滑折线图”
-
将“X轴”更改为“时间”,将“系列”更改为“位移”
-
将 x 轴的“axis-titles”更改为“Time (s)”,将 y 轴的“Displacement (in)”更改为“Time (s)”。
-
可选:使用不同的颜色进一步自定义图表并显示绘图点。
分析:
使用此图像作为定义为“循环”的参考,计算您有多少下凹斜坡。我的数据有 9 个,但根据您记录数据的时间长短,每个人都会有所不同。
计算完周期后,您可以将该数字除以记录的数据的总秒数以找到频率(或“速度”)。
频率 = 周期数/秒
我的频率 = 9 个周期/37 秒 = 0.24 赫兹(赫兹是周期/秒的单位)。
除了频率之外,该图表还可以让您深入了解整个区间内发生的情况:在给定区间内,图表越窄,您击球的速度越快,而图表越宽,您走的越慢。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉