Arduino uno Sensibilidad de pulsador

Hola a todos! Estoy programando en arduino uno un control digital de duty cicle para manejar valores de amplificación con un transformador. Lo que hago se resume a dos pulsadores, uno que aumenta el duty cicle y el otro que lo disminuye; en total son cinco (1,2,3,4 y 5) valores que se manejan. PERO me he topado con que la sensibilidad de los pulsadores no me permite variar de a pocos el duty cicle. Presiono un botón para aumentar el duty cicle y en vez de avanzar al siguiente valor, este se va al ultimo. Es decir si tengo el duty a 50% y quiero subirlo a 60% entonces presiono el pulsador de incremento, pero en vez de subir a 60, se va a 70 (quinto valor).

Hay alguna manera de corregir esto? Que se puede hacer con la sensibilidad de los pulsadores? Si se puede solucionar con software como lo haría?

Saludos!!
 
Ne es cosa de "sensibilidad" sino que quizá se trate de un problema de rebotes en los pulsadores, ¿colocaste las debidas rutinas de retardo para ignorar los rebotes?
 
Sin esquema ni programa es complicado adivinar, pero todos los puntos indican a lo que dice Daniel Meza o a que has puesto un bucle y cuenta todos de golpe si detectar flancos ni nada.
 
Ne es cosa de "sensibilidad" sino que quizá se trate de un problema de rebotes en los pulsadores, ¿colocaste las debidas rutinas de retardo para ignorar los rebotes?

Hola. Muchas gracias por responder. No tengo idea alguna de lo que mencionas (rutinas de retardo), solo configuré los pulsadores como lo vi en un tutorial de internet.

Me podrias indicar porfavor a lo que te refieres con "rutinas de retardo", es algún arreglo de software que tengo que hacer? te lo agradecería mucho.

Saludos
 
Básicamente es hacer una rutina que "gaste" tiempo del CPU de aproximadamente 20mS. El funcionamiento es algo así:

Entra a proceso por el botón
Ejecuta Retardo
Pregunta ¿sigue presionado el botón?
Si--->Procesa lo que tenga que ser
No-->sale

////////Proceso///////

Antes de salir del proceso
Pregunta ¿Botón sigue presionado?
Si, espera a que se deje de presionar
No, -->Otro retardo para eliminar rebotes de salida
Sale del proceso

Espero haberme explicado
 
Atrás
Arriba