我一直很喜欢冲击波.爆炸。地震。我一直想知道会有什么样的影响我曾经,在我周围的世界里漫步。


因为海洋僵尸和冲击波是完全相关的
我还喜欢使用Fitbit,因为它可以量化我的动作和锻炼。然后我想,等等……有没有一种方法来量化我最喜欢的运动之一——跳跃。
现在我知道你可能会想,跳跃与冲击波和爆炸没什么关系。当我们人类这样做的时候,它可能看起来不是在这么小的范围内,但我们仍然设法产生影响。
我打算探索这种互动。使用PmodACL2, chipKITWF32,虚拟仪器在美国,我结合自己的兴趣,做了一个简单的练习盒,用来测量你的着陆质量、每次跳跃之间的时间和每次着陆的力。

本质上,就是这样的东西,但是用的是电子和…科学!
在我决定使用ACL2在美国,我首先尝试了一个简单的倾斜传感器,但它没有我想要的灵敏度。


因此,只有带着我的梦想和整个Digilent办公室的支持和资源,我冒险进入了Pmods.这是我第一次使用Pmod,加速度计和/或倾斜传感器。永远。所以我非常兴奋地学习和解决我在项目中的方法。
我从家里拿了一个简单的储物盒开始测试。首先,我确定加速度计连接到WF32正确(见下文)。有一个例子虚拟仪器已命名的示例查找器PmodACL2,这将告诉你如何开始使用数据加速度计.

的PmodACL2有6个输入端口-芯片选择(CS),主从输入(MOSI),主从输入(MISO),串行时钟(SCLK),接地和高压。的WF32有相应的输入端口-引脚#10对应CS, #11 MOSI, #12 MISO,和引脚#13对应SCLK。的Pmod使用3.3V连接到板上3.3V的数字输出,连同接地端口。看看我们ACL2数据表以获取图表和进一步信息。
我用了一个小的solder-free电路试验板尽量让线路保持半有序。如果你决定加入第二个加速度计,那么面包板就会变得更加重要。
的虚拟仪器示例程序需要您输入串口,SPI通道,和CS通道,以便与您的通信WF32.串口在你的WF32连接到你的电脑-选择像“COM3”这样的东西(尽管你的数字可能不同,这取决于你把它插到你的电脑上的地方)。
SPI通道应该总是设置为0。我们的芯片选择通道应该是10 -这是CS从我们加速度计插入(引脚#10)在我们的董事会。目前分辨率保持在2g,输出数据速率保持在100hz。
的加速度计现在应该都准备好了。运行虚拟仪器例VI和(小心地)挥动你的加速度计周围。你会看到三个独立的波形- x, y和z。我做了一些编辑ACL2示例程序,所以如果您的程序看起来与下图不完全一样,也不用担心。

注意到数据有多嘈杂了吗?有几种方法可以过滤掉。我合并了PmodACL2代码和过滤代码,做了一些更改,代码就在这里。我之所以决定使用两个不同的while循环——一个用于数据采集,一个用于计算和过滤——是因为它们可以运行在处理器的不同内核上(反过来,过滤器的工作速度更快),而不是同一个。

原始数据的另一种表示形式在顶部的图中,过滤后的数据在底部的图中。最重要的是你可以调整如何加速度计数据过滤。改变低频截断值、Gusse滤波率、平均数据点数和低通滤波阶数对滤掉多少噪声有很大的影响。
在这个项目中,我想过滤掉人们在办公室里走动的步骤。这加速度计是相当敏感的,所以校准是重要的,以确保你没有抓取和读取的数据,不相关的事件,你试图看。一定要使用它—调整一个或两个值并运行程序。找到“甜蜜点”与最小的噪音,同时保持相当数量的细节在你的波形从跳跃本身。低频切断可能是这些设置中最关键的。你不希望剪掉太多,但只要足够避免环境噪音压倒原始数据就行了。
为了过滤掉脚步声和同事开玩笑的跳跃,我将我的低频截断为7 Hz,低通滤波器阶设置为0,Gusse滤波器速率为54 Hz,我平均4个数据点。这在不牺牲太多原始跳跃数据的情况下做得很好。
我将图表上的循环速率降至20赫兹左右,以便在程序运行时更容易阅读,方法是在循环数据采集过程中添加计时器;你可能想,也可能不想把它留在那里。
作为我们的“地震”盒子的草稿,我认为这是非常有效的。我找到了一些绝缘胶带,粘在了WF32贴在我的储物箱边上,然后粘上ACL2到可移动的顶部。单击在虚拟仪器编程并开始测量你的跳跃!查看我的全部教程!
请继续关注项目的最新进展!也请在下方评论中告诉我们,你上一次受到科学的启发而做出很酷的东西是什么时候?
