如何将一系列切换的输入转换为速度和方向?

时间:2014-04-12 22:32:48

标签: java scroll arduino processing

我正在尝试复制设置的this guy - 一个电容滚动Arduino小工具,除了我输入的处理草图。我的接线工​​作正常 - 当我沿着电线滑动手指时,Arduino将值发送到Processing。设置有三条线交替,所以当人们滑动时,Processing看到的是(1,0,0),然后是(1,1,0),然后是(0,1,0)等等。

但现在我遇到了一些障碍 - 我试图将此输入解释为滚动(想想在笔记本电脑触摸板上双指滑动)。我猜我需要缓存一定数量的值,然后将它们相互比较以确定用户滚动的方向和速度,但我不知道如何在代码中实现它。似乎会有某种公式可以解决这个问题。或者也许这是我可以在Arduino中做的事情,只是提供处理准备好的信息?

采样率是任意的 - 我在采样之间将其设置为10ms延迟,但如果有帮助,我可以增加或减少。

1 个答案:

答案 0 :(得分:1)

你只需要一个变量来存储以前的输入。所以也许像......

PVector prev = new PVector();
PVector current = new PVector();

void draw() {
     current = howeverYouAreGettingTheData();

     //this is your direction vector for their swiping
     PVector direction = PVector.sub(current, prev);

     //set the previous one to the current for the next calculation.
     prev.set(current.x, current.y, current.z);
}