Autor Tema: detectar si se oprime 2 veces un botton y hacer algo  (Leído 1731 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado systemgil

  • PIC10
  • *
  • Mensajes: 2
detectar si se oprime 2 veces un botton y hacer algo
« en: 10 de Noviembre de 2011, 23:38:55 »
que tal , tengo un problema con una funcion que detecte si se teclea dos veces un botton  que haga una funcion determinada, y por el contrario si se tiene oprimido el botton haga otra cosa y mientras no se oprima no haga nada

tengo pensado hacerlo con un timer que que se resetie cada cierto tiempo y que en ese tiempo cuente si se oprime el booton 2 veces

pero no se como empezar

alguna sugerencia?

estoy trabajando con el pic18f4550

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: detectar si se oprime 2 veces un botton y hacer algo
« Respuesta #1 en: 11 de Noviembre de 2011, 00:03:06 »
puesdes asociar una variable que cuenta cada vez que lo presiones, y cuando tu contador llegue a 2 entonces realizas la accion que quiere y reseteas tu contador.

Recuerda que tienes que eliminar el debounce para poder detectar con claridad que se ha presionado el boton
"Nada es imposible, no si puedes imaginarlo"

Desconectado jukinch

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 608
Re: detectar si se oprime 2 veces un botton y hacer algo
« Respuesta #2 en: 11 de Noviembre de 2011, 09:25:10 »
Aquí  www.todopic.com.ar/foros/index.php?topic=29209 brunof (respuesta ocho) compartió una librería que puede ayudar.
            Saludos.
               Jukinch


Modificado: respuesta 8
« Última modificación: 14 de Noviembre de 2011, 14:30:42 por jukinch »
"Divide las dificultades que examinas en tantas partes como sea posible para su mejor solución." -René Descartes

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: detectar si se oprime 2 veces un botton y hacer algo
« Respuesta #3 en: 14 de Noviembre de 2011, 13:05:35 »
seria algo asi:

if(portx.pinx) {
delay_ms(100);
while(portx.pinx);
while(!portx.pinx);

*se ha pulsado 2 veces;
}

sin embargo esta funcion es bloqueante, pero la idea ya la tienes, solo te queda implementarla en tu codigo, y por ejemplo hacer que las pulsaciones como maximo esten en 1 segundo, o algo asi.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: detectar si se oprime 2 veces un botton y hacer algo
« Respuesta #4 en: 14 de Noviembre de 2011, 13:09:20 »
Aquí  www.todopic.com.ar/foros/index.php?topic=29209 brunof (respuesta 14) compartió una librería que puede ayudar.
            Saludos.
               Jukinch

+1! Exactamente en esta respuesta está explicado el algoritmo.  ;-)
No contesto mensajes privados, las consultas en el foro


 

anything