Display 7 segmentos con pulsador en Arduino

En este proyecto, se va a diseñar e implementar un contador manual usando un display 7 segmentos. El contador aumentará o disminuirá en una unidad cada vez que se presione un pulsador.


Recordemos que existen displays 7 segmentos de tipo ánodo común y cátodo común como lo vimos en este tutorial. En el primer caso, el común de los pines va conectado a fuente (5V o 3.3V) y en el segundo caso, el común de los pines va conectado a tierra (GND), como se indica en el siguiente diagrama:


Los materiales utilizados son:
  • Display de 7 segmentos de tipo ánodo o cátodo común
  • 7 resistencias de 220 ohms
  • 2 resistencias de 10K ohms
  • 2 condensadores electrolíticos de 10 uF
  • 2 pulsadores
  • Cables
  • Protoboard
  • Tarjeta Arduino
Es necesario realizar un anti-rebote como lo vimos en esta entrada, para que el número mostrado en el display aumente o disminuya únicamente cuando se suelta el pulsador luego de haberlo presionado.
Debemos poner resistencias de 220 ohms y no conectar los pines del Arduino directamente a los pines del display, ya que podría quemarlo.


A la hora de programar el display 7 segmentos, hay que tener en cuenta su tipo: En el caso de ánodo común, los segmentos se encienden al enviarles ceros (LOW), mientras que en el caso de cátodo común los segmentos se encienden al enviarles unos (HIGH).

Es necesario conocer la ubicación de los segmentos en el display para poder realizar la programación correctamente:

Si el display 7 segmentos es de tipo cátodo común:

Para mostrar un determinado número, se deben encender y apagar ciertos segmentos dependiendo del número a mostrar, como se muestra en la siguiente tabla, donde un 1 representa un HIGH y un 0 representa un LOW

 Número 
 Segm. A 
 Segm. B 
 Segm. C 
 Segm. D 
 Segm. E 
 Segm. F 
 Segm. G 
0
1
1
1
1
1
1
0
1
0
1
1
0
0
0
0
2
1
1
0
1
1
0
1
3
1
1
1
1
0
0
1
4
0
1
1
0
0
1
1
5
1
0
1
1
0
1
1
6
1
0
1
1
1
1
1
7
1
1
1
0
0
0
0
8
1
1
1
1
1
1
1
9
1
1
1
0
0
1
1

El esquema del circuito queda de la siguiente manera:


Si el display 7 segmentos es de tipo ánodo común:

Para mostrar un determinado número, se deben encender y apagar ciertos segmentos dependiendo del número a mostrar, como se muestra en la siguiente tabla, donde un 1 representa un HIGH y un cero representa un LOW

 Número 
 Segm. A 
 Segm. B 
 Segm. C 
 Segm. D 
 Segm. E 
 Segm. F 
 Segm. G 
0
0
0
0
0
0
0
1
1
1
0
0
1
1
1
1
2
0
0
1
0
0
1
0
3
0
0
0
0
1
1
0
4
1
0
0
1
1
0
0
5
0
1
0
0
1
0
0
6
0
1
0
0
0
0
0
7
0
0
0
1
1
1
1
8
0
0
0
0
0
0
0
9
0
0
0
1
1
0
0

El esquema del circuito queda de la siguiente manera:


El código del proyecto se puede descargar desde aquí:



Video del proyecto en funcionamiento:


Comentarios

  1. hola amigo muy buen proyecto
    nesecito hacer un contador de 00 a 99 , voy a utilizar arduino mega
    con dos pulsadores (incremento y decremento) mas un reset
    me podrias ayudar? a poner el segundo diguito digo la decena, ya que el tuyo es de 0 a 9 y nesecito de 00 a 99 gracias, mi correo jhonfonttz@hotmail.es

    ResponderBorrar
    Respuestas
    1. requiero el mismo apoyo con el codigo, si alguien pudiera ayudarme por favor

      Borrar
  2. hola amigo
    nesecito hacer un contador de 00 a 99 , voy a utilizar arduino mega
    con dos pulsadores (incremento y decremento) mas un reset
    me podrias ayudar?

    ResponderBorrar
  3. Me interesaria tambien que contara de 00 a 99 jf72 lo consegiste gracias

    ResponderBorrar
  4. ¿sería posible poner una variable que si está en el número 2 solo se reducirá a 1 si mantiene presionado el botón durante 3 segundos? y como harias eso!

    ResponderBorrar
  5. hola bro mira necesito esto, me podrias ayudar, Programe en el entrenador un contador de tiempo de 00 a 99 segundos. Al accionar el pulsador conectado
    al pin RA0 el contador se debe iniciar o detener. El valor del tiempo se debe visualizar en los displays del
    entrenador.

    ResponderBorrar
  6. Podrías ayudarme con un código en Arduino sobre un contador automático que con un pulsador vaya de forma ascendente y con otro pulsador vaya descendente, todo ello que muestre en un display. Gracias !!!

    ResponderBorrar
  7. como podría hacer con dos pulsadores con uno se inicia y con el otro pulsador se pausa y para luego con el otro pulsador restaurar el conteo

    ResponderBorrar
  8. no me funcionan los condensadores me dicen que se queman

    ResponderBorrar

Publicar un comentario