collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Detectar "gestures"/gestos com sensor capacitivo (desenvolvimento de algoritmo)  (Lida 2646 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