我正在尝试复制设置的this guy - 一个电容滚动Arduino小工具,除了我输入的处理草图。我的接线工作正常 - 当我沿着电线滑动手指时,Arduino将值发送到Processing。设置有三条线交替,所以当人们滑动时,Processing看到的是(1,0,0),然后是(1,1,0),然后是(0,1,0)等等。
但现在我遇到了一些障碍 - 我试图将此输入解释为滚动(想想在笔记本电脑触摸板上双指滑动)。我猜我需要缓存一定数量的值,然后将它们相互比较以确定用户滚动的方向和速度,但我不知道如何在代码中实现它。似乎会有某种公式可以解决这个问题。或者也许这是我可以在Arduino中做的事情,只是提供处理准备好的信息?
采样率是任意的 - 我在采样之间将其设置为10ms延迟,但如果有帮助,我可以增加或减少。
答案 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);
}