|   FOROS      |     Tutoriales    |     KIO4 |      
   Inicio B4A (Basic4Android) App inventor 2 Arduino
   Elastix - VoIP Cosas de Windows Webs interesantes  Telecomunicaciones

 


Nuevo concurso para España, Argentina, Brasil, Chile, Colombia, Ecuador, México, Perú y Portugal.

Arduino en español
Circuitos con Arduino - Juan Antonio Villalpando

-- Tutorial de iniciación a Arduino --

Volver al índice del tutorial                    Return to index tutorial

____________________________

Arduino. Pullup. Pulldown. Rebound.

 

3B.- Tiraparriba. Tirapabajo. Rebotes. Bounce.

- Fíjate en este dibujo. El pulsador tiene conectada una resistencia de entre 10k - 50k.

- Si la resistencia conecta al terminal del Arduino en reposo a Vcc, la conexión se denomina PULLUP (Tiraparriba).

- Si la resistencia conecta al terminal del Arduino en reposo a Gnd, la conexión se denomina PULLDOWN (Tirapabajo).

- Fíjate que según esté el Pullup o el Pulldown, la conexión hace lo contrario según pulse o no pulse el botón.

- ¿Para qué hay que poner esta resistencia?. Si no ponemos esta resistencia, ese terminal del Arduino estará en modo indeterminado cuando el botón no esté pulsado, es decir, si el botón no está pulsado, ese terminal estará "al aire", no se puede asegurar que esté a nivel alto ni a nivel bajo. Al poner la resistencia nos aseguramos que ese terminal del Arduino en reposo esté bien a nivel alto o a nivel bajo, según pongamos la resistencia pullup o pulldown.

- En otros montajes como con el bus I2C, que se verán en otros tutoriales, también hay que conectar una resistencia de 4k7 PULLUP (a Vcc), para que el bus en reposo esté a 5 V.
(Algunos módulos I2C ya tienen esta resistencia conectada).

- Para configurar el terminal 4 del Arduino como entrada pondremos en el código:

pinMode (4, INPUT)

 

- ¿Se puede realizar el montaje anterior sin poner la resistencia?

Pues sí.

El código del programa para el Arduino tiene la posibilidad de establecer la configuración de entrada de un terminal pinMode(X, INPUT) indicando que esa entrada en reposo está a nivel alto o a nivel bajo, para ello en vez de utilizar

pinMode (4, INPUT)

utilizamos

pinMode (4, INPUT_PULLUP)

de esta manera nos ahorramos la resistencia de 10k, podemos conectar el Botón sin resistencia.

NOTA: pinMode (4, INPUT_PULLDOWN): esta no existe, solo se puede poner INPUT_PULLUP.

- Más información.

____________________________________________________________________________________
____________________________________________________________________________________

- Rebotes. Bounce.

- Cuando cerramos o abrimos un interruptor, o pulsamos o dejamos de pulsar un botón, en los instantes de la conexión se producen los denominados "rebotes", es decir mientras los contactos del botón se están tocando, se produce un transitorio, una serie de pulsos hasta que el contacto no se ha cerrado totalmente.

- Estos rebotes o rebound, pueden "engañar" a la entrada del Arduino creyendo que le está llegando pulsos.

Rebotes o Bouncing en el momento de pulsar:


Rebotes en el instante de hacer contacto el pulsador.

- Hay varios métodos para evitarlos como podemos ver en esta web.

- Una forma sencilla sería poner un condensador de unos 100 nF en paralelo con la resistencia.

- Otra forma sería poner en el código un delay(50); para que después del primer rebote, espere un poco para continuar con el código.

- En la mayoría de los códigos que realizamos en este tutorial no vale con poner un pequeño delay.

 

________________________________

Si quieres que este tutorial se mantenga y lo actualice con más programas, escríbeme un correo a Juan Antonio: juana1991@yahoo.com

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información