Читать книгу Aprender Arduino, prototipado y programación avanzada con 100 ejercicios - Rubén Beiroa Mosquera - Страница 16

007 Debounce (II)

Оглавление

En el caso del pulsador Pull-Up, debemos hacer una serie de cambios en el circuito: primero en relación con las resistencias y, en segundo lugar, mover el condensador, tal y como se ve en el esquema .

•Como el comportamiento del pulsador Pull-Up es inverso al Pull-Down, tanto el circuito como el programa se «invertirán».

•En este caso , cuando no se pulsa el botón, la tensión de lectura será de 5 V y, en el momento en el que se pulse, bajará hasta 1,24 V ya que el condensador se quedaría conectado en paralelo con la segunda resistencia.

Vistas las soluciones por hardware, pasemos a la solución por software. La solución por software consistirá en medir el tiempo que transcurre entre diferentes flancos de subida (ya que se utilizará un pulsador Pull-Up) despreciando las que, por tiempo, se puedan considerar un rebote.

1.Conectamos un circuito con un pulsador Pull-Up .

2.Con este programa , primero comprobamos si hay un flanco de subida, de ser así, comprobamos si, al menos, han transcurrido 150 ms desde el último flanco; de ser así, se contabiliza como pulsación y, en caso contrario, no se tendrá en cuenta.

3.En el caso de que el pulsador fuese Pull-Down, solo habría que controlar flancos de bajada.

Conclusiones:

•La solución por hardware simplifica la programación, pero implicaría la conexión de más componentes.

•Por otro lado, la solución por software consume más recursos de programa, pero es más fácil de adaptar a cada posible caso ya que, simplemente, se cambia un valor en el programa.

•Posiblemente la solución por software, en este caso, resulte más conveniente.






Aprender Arduino, prototipado y programación avanzada con 100 ejercicios

Подняться наверх