Viva, comprei recentemente uma breakout board com um sensor capacitivo para um projeto pessoal e gostava de criar um “slide bar” mais ou menos precisa através dos 12 elétrodos disponíveis. Já tenho o sensor a funcionar corretamente a detetar os toques, o meu “problema” agora é escrever o código que detete os gestos: deslizar o dedo para a direita ou esquerda e interpretar o gesto.
Pesquisei na internet por código para “gestures” e encontrei muita coisa sobre deteção de movimentos em camaras IR, mas nada simples sobre o que eu pretendo fazer.
A minha ideia para a criação do algoritmo é interpretar o gesto como um vetor (com direção e magnitude). Ou seja, tenho uma array com os elétrodos em fila [0, 1, …, 10, 11], o primeiro elétrodo a ser tocado corresponde à coordenada inicial. Nesse instante o temporizador é iniciado e é terminado quando deixa de receber sinal que o último elétrodo foi tocado ou após o período de tempo definido para a duração de um gesto normal (1 s por exemplo). O último elétrodo corresponde à coordenada final do vetor e a duração do gesto corresponde à magnitude.
Ao interpretar o vetor posso definir se o gesto de deslizar foi feito numa forma crescente (para a direita) ou decrescente e a “velocidade” com que foi executado (correspondente a uma maior “intensidade”).
Não sei se a minha abordagem a este problema faz sentido e se vale a pena tentar começar a escrever o código por aqui. O estranho é que isto é uma aplicação tão comum e ubíqua que fico surpreso com a minha ineficácia em encontrar algum código ou biblioteca com a interpretação destes gestos de forma a eu me basear/analisar o código.
Será que conhecem algum código na Internet que eu possa utilizar como base?