collapse

* Posts Recentes

+ LASERs por dropes
[Ontem às 16:01]


Cerca eléctrica por SerraCabo
[14 de Junho de 2025, 23:26]


Alguém arranja motores? por almamater
[10 de Junho de 2025, 22:34]


Condensador 4.7uF 0603 por brunus
[09 de Junho de 2025, 15:52]


Lenovo IdeaPad 3 Não liga por jm_araujo
[07 de Maio de 2025, 19:10]


Identificar Diodo Zenner por filjoa
[01 de Maio de 2025, 23:07]


Meu novo robô por dropes
[18 de Março de 2025, 14:51]


JBL partybox On-The-Go por almamater
[21 de Fevereiro de 2025, 23:32]


Talking Reverse Engineering with an Absolute Legend! por SerraCabo
[13 de Fevereiro de 2025, 09:56]


Motoserra Stihl 120C por brunus
[11 de Fevereiro de 2025, 16:29]

Autor Tópico: Detectar "gestures"/gestos com sensor capacitivo (desenvolvimento de algoritmo)  (Lida 6100 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline samc

  • Mini Robot
  • *
  • Mensagens: 442
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?
« Última modificação: 29 de Outubro de 2014, 19:02 por samc »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Algoritmo para detectar gestures sensor capacitivo
« Responder #1 em: 28 de Outubro de 2014, 17:22 »
A Atmel(e outros) têm ic's dedicados que implementam esse tipo de coisas em hardware, convinha saber que chips/sensores estás a usar.
Nunca usei, mas tens tambem uma biblioteca da Atmel para implementar sensores capacitivos em micros sem capacidade para tal, chamada Qtouch.
Avr fanboy

Offline samc

  • Mini Robot
  • *
  • Mensagens: 442
Re: Algoritmo para detectar gestures sensor capacitivo
« Responder #2 em: 28 de Outubro de 2014, 17:47 »
Estou a usar o "vulgar" e barato MPR121 (datasheet: https://www.sparkfun.com/datasheets/Components/MPR121.pdf)
A página 2 da datasheet até apresenta algumas sugestões para o padrão dos elétrodos como quero utilizar (exemplo C)
Vou ver a tal biblioteca, obrigado