CONTENIDO ►
Puedes conectar un indicador de siete segmentos de un solo dígito a Arduino con una protoboard, lo más importante es conocer el pinout display de 7 segmentos para controlar los segmentos desde Arduino Uno. Veremos cómo conectar un indicador de 7 segmentos a Arduino y hacer un programa sencillo con un temporizador. Controlaremos el pantalla de 7 segmentos directamente desde la placa y utilizando el pulsador Arduino.
Para esta actividad necesitaremos:
- Arduino Uno / Arduino Nano / Arduino Mega
- 5161as módulo display de 7 segmentos;
- resistencias de 220 Ohm;
- pulsador;
- placa de pruebas;
- cables de conexion.
Display de 7 segmentos Arduino 5161as (datasheet)

La imagen muestra el pinout de una pantalla de 7 segmentos de un solo dígito con un cátodo común (menos) y un ánodo común (menos). El módulo es un pequeño indicador LED que contiene siete LEDs (de ahí el nombre del indicador: pantalla de 7 segmentos) y un octavo LED en forma de punto. Encendiendo los LEDs del módulo en diferentes secuencias desde el microcontrolador Arduino Uno, es posible emitir diferentes números.
Ten en cuenta que el panel no tiene resistencias, así que utiliza resistencias externas para conectar los LEDs. Si no entiendes el pinout de un display de siete segmentos con ánodo común, puedes establecer experimentalmente el pinout conectando la fuente de alimentación a diferentes pines. Si se conecta de forma incorrecta, no ocurrirá nada grave, pero sin una resistencia, los LEDs de display de 7 segmentos pueden fallar.
Cómo conectar display de 7 segmentos Arduino

Para utilizar el módulo 5161as / hdsp 7503 sin un registro de desplazamiento, tendremos que utilizar un gran número de pines en el Arduino Uno para encender los LEDs de la pantalla. En el primer ejemplo, simplemente encenderemos/parpadearemos los LEDs alternativamente para indicar los diferentes números del panel. Monta el circuito como se muestra en la imagen anterior y carga el siguiente code en el microcontrolador Arduino.
Programa Arduino para display de 7 segmentos
#define A 8 #define B 7 #define C 6 #define D 5 #define E 4 #define F 3 #define G 2 void setup() { pinMode(A, OUTPUT); pinMode(B, OUTPUT); pinMode(C, OUTPUT); pinMode(D, OUTPUT); pinMode(E, OUTPUT); pinMode(F, OUTPUT); pinMode(G, OUTPUT); } void loop() { digitalWrite(A, LOW); digitalWrite(B, HIGH); digitalWrite(C, HIGH); digitalWrite(D, LOW); digitalWrite(E, LOW); digitalWrite(F, LOW); digitalWrite(G, LOW); delay(1000); digitalWrite(A, HIGH); digitalWrite(B, HIGH); digitalWrite(C, LOW); digitalWrite(D, HIGH); digitalWrite(E, HIGH); digitalWrite(F, LOW); digitalWrite(G, HIGH); delay(1000); digitalWrite(A, HIGH); digitalWrite(B, HIGH); digitalWrite(C, HIGH); digitalWrite(D, HIGH); digitalWrite(E, LOW); digitalWrite(F, LOW); digitalWrite(G, HIGH); delay(1000); }
Explicación sketch para display LED de 7 segmentos:
- nos limitamos a tres números, añadir más números al programa es fácil;
- el pin 9 se utiliza para activar el punto.

En el siguiente ejemplo, los dígitos de la pantalla de 7 segmentos sólo cambian cuando se pulsa el botón pulsador. Cuando se alcanza el número 3, el temporizador se reinicia y espera a que se pulse de nuevo el pulsador. Estos son programas bastante simples para el Arduino Uno / Nano y la pantalla de 7 segmentos, para programas más complejos e interesantes es necesario utilizar el registro de desplazamiento 74hc595 para el Arduino.
Programa Arduino display 7 segmentos con pulsador
#define A 8 #define B 7 #define C 6 #define D 5 #define E 4 #define F 3 #define G 2 #define BUTTON 12 byte v = 0; void setup() { pinMode(A, OUTPUT); pinMode(B, OUTPUT); pinMode(C, OUTPUT); pinMode(D, OUTPUT); pinMode(E, OUTPUT); pinMode(F, OUTPUT); pinMode(G, OUTPUT); pinMode(BUTTON, INPUT); } void loop() { digitalWrite(A, HIGH); digitalWrite(B, HIGH); digitalWrite(C, HIGH); digitalWrite(D, HIGH); digitalWrite(E, HIGH); digitalWrite(F, HIGH); digitalWrite(G, LOW); delay(500); if (digitalRead(BUTTON) == HIGH) { v = 1; } while (v == 1) { digitalWrite(A, LOW); digitalWrite(B, HIGH); digitalWrite(C, HIGH); digitalWrite(D, LOW); digitalWrite(E, LOW); digitalWrite(F, LOW); digitalWrite(G, LOW); delay(500); if (digitalRead(BUTTON) == HIGH) { v = 2; } } while (v == 2) { digitalWrite(A, HIGH); digitalWrite(B, HIGH); digitalWrite(C, LOW); digitalWrite(D, HIGH); digitalWrite(E, HIGH); digitalWrite(F, LOW); digitalWrite(G, HIGH); delay(500); if (digitalRead(BUTTON) == HIGH) { v = 3; } } while (v == 3) { digitalWrite(A, HIGH); digitalWrite(B, HIGH); digitalWrite(C, HIGH); digitalWrite(D, HIGH); digitalWrite(E, LOW); digitalWrite(F, LOW); digitalWrite(G, HIGH); delay(500); if (digitalRead(BUTTON) == HIGH) { v = 0; } } }
Explicación sketch para display 7 segmentos con pulsador:
- la variable byte v = 0; se utiliza en el programa para pasar de un bucle while a otro. Al pulsar el botón, el valor de la variable v cambia;
- los números de puerto se han sustituido por letras latinas utilizando #define.
Conclusión. Nos hemos limitado a una introducción a este módulo y a su aplicación con la placa Arduino. Utilizando varios paneles o un indicador de 7 dígitos de cuatro cifras, ya puedes hacer un temporizador completo en el Arduino o un reloj de tiempo real. Hemos colocado estos circuitos en nuestro sitio web en la sección Proyectos Arduino para principiantes, donde todos pueden encontrar un proyecto de microcontrolador a su gusto.

Diría que el esquema interno en el data sheet corresponde a un 7 segmentos con ánodo común. Seguramente al 5161B. Despista un poco si intentas relacionar el esquema interno con el conexinado indicado.