viernes, 18 de diciembre de 2015

Pulsador con enclavamiento de estado


Los pulsadores son elementos muy utilizados para mandar señales “todo” o “nada” a dispositivos electrónicos que trabajan con lógica TTL (lógica transistor a transistor), como es el caso de los pines digitales de Arduino.  
Detalle de un Pulsador

 
Si realizamos una conexión PULL-DOWN entre el pulsador y una entrada digital cualquiera de Arduino, cuando activemos el pulsador, Arduino estará recibiendo +5V, que los codifica como estado alto (HIGH o “1” lógico), mientras que si el pulsador permanece en reposo, Arduino estará recibiendo un estado bajo (LOW o “0” lógico).
Conexión PULL_DOWN


Mediante programación vamos a ser capaces de implementar un pulsador con enclavamiento de estado, para que cuando activemos el pulsador, una salida digital de Arduino se ponga a “nivel alto” si se encontraba a “nivel bajo” y viceversa, es decir, seremos capaces de almacenar el estado de la salida digital para que esta cambie de “HIGH” a “LOW” o de “LOW” a “HIGH” cada vez que activemos el pulsador.
En la salida digital de Arduino con la que estemos trabajando, conectaremos un LED para poder comprobar que de verdad está cambiando el estado de la salida cada vez que activamos el pulsador (ON/OFF), aunque podríamos utilizar este tipo de configuración para “activar” o “desactivar” multitud de dispositivos electrónicos como relés, buzzers, motores, etc… 

Lista de Materiales:

·         Arduino UNO Rev.3.
·         Cable USB tipo A-B.
·         LED 5mm (de cualquier color).
·         Pulsador.
·         Resistencias de 10KΩ y 220Ω.
·         Protoboard.
·         Cables de conexión.


Código del programa:
 

 
 
 
Video:
 

 
 



17 comentarios:

  1. hola.

    En el esquema creo que falta una resistencia, al menos lo indicas en el listado de componentes y no aparece.

    Saludos.

    ResponderEliminar
    Respuestas
    1. Revisa las notas dentro del programa, justo debajo del esquema de ARDUINO UNO. Saludos

      Eliminar
  2. buenas noches mariano desde Hidalgo comunicandome, pero lo que tu comentas que entraría en estado de activo sería hasta la cuarta iteración en el mejor de los casos o me equivoco mariano?, pero ciertamente no creo dure infinitamente enclavado el led se va apagar ?

    ResponderEliminar
  3. La resistencia de 220 es la que va en el negativo del led. es explicito.

    ResponderEliminar
  4. Podrías decirme o pasarme los códigos del programa, para que encienda con el pulso, pero que se apague en un determinado tiempo???

    ResponderEliminar
  5. Respuestas
    1. Podrías decirme o pasarme los códigos del programa, para que encienda con el pulso, pero que se apague en un determinado tiempo???

      Eliminar
    2. Podrías decirme o pasarme los códigos del programa, para que encienda con el pulso, pero que se apague en un determinado tiempo???

      Eliminar
  6. Podrías decirme o pasarme los códigos del programa, para que encienda con el pulso, pero que se apague en un determinado tiempo???

    ResponderEliminar
  7. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  8. Me ha servido de utilidad y ahorrado tiempo su código ya que despejé algunas dudas, muchas gracias.

    ResponderEliminar
  9. Buenos dias, quiero hacer algo parecido pero con dos anillos neopixel de 24 led cada uno. Mi idea es que cuando se pulse un pulsador (el pulsador quiero que sea de 4 pin de los que llevan NO (normally open), común y dos pines para + y - del led del pulsador)se enciendan los anillos y cuando se vuelva a pulsar se apaguen los anillos, es posible que me ayudes con este proyecto??. Un saludo.

    ResponderEliminar
  10. hola! estoy comunicando arduino con visual pero el valor que me lea mis sensores me los va imprimir en un textbox de visual, el problema es el siguiente cuando mi sensor detecta me mandara un montón de 1 unos, quiero realizar un enclavamiento que me permita mandar solamente un solo 1

    ResponderEliminar
    Respuestas
    1. Vale, pues este programa es lo que hace ... cual es el problema???

      Eliminar
  11. Hola, buenas tardes. Tengo una duda
    Quisiera ver el led parpadear pero solo si se cumple que PULSADOR=1 Y LED=1, es decir, cuando el led se deja presionado, después de encenderse el led. Muchas gracias

    ResponderEliminar