Puedo guiarte por pasos, pero no puedo modificar el proyecto directamente en este momento.
Tu idea se divide en 2 partes:
- Contador automático de 0 a 15
- Decodificador que convierte cada cuenta en un carácter de tu CURP mostrado en display de 7 segmentos
Tu CURP es:
SV050425HGRNNCA8
Como quieres mostrarla de la última letra hacia adelante, la secuencia será:
8 A C N N R G H 5 2 4 0 5 0 V S
Eso son 16 caracteres, perfecto para un contador binario de 4 bits, porque cuenta de 0 a 15.
Opción recomendada para armarlo
La forma más ordenada es:
Reloj automático → Contador 4 bits → Memoria/decodificador → Display 7 segmentos
Puedes hacerlo de dos maneras:
Opción A — Con flip-flops JK o D + compuertas
Es más didáctico, pero más largo. Necesitas diseñar la lógica para que cada número binario active los segmentos correctos.
Opción B — Con contador 4 bits + memoria EEPROM/ROM
Es mucho más fácil y limpio:
- Un contador binario de 4 bits genera los números 0 a 15.
- Una memoria EEPROM usa esos 4 bits como dirección.
- En cada dirección guardas qué segmentos deben encenderse para mostrar cada carácter.
- La salida de la memoria va al display de 7 segmentos.
Para un proyecto escolar, recomiendo la Opción B, porque evita muchas compuertas.
Componentes sugeridos
Para el reloj automático
- 1 × NE555
- 1 × resistencia 10 kΩ
- 1 × resistencia 100 kΩ o potenciómetro 100 kΩ
- 1 × capacitor 10 µF
- 1 × capacitor 100 nF
- Fuente de 5 V
Esto genera pulsos automáticos para avanzar el contador.
Para el contador 0-15
Puedes usar:
- 1 × 74HC161, contador binario de 4 bits
O si quieres hacerlo con flip-flops:
- 2 × 74HC76 si usas flip-flops JK dobles
o
- 2 × 74HC74 si usas flip-flops D dobles
Para hacerlo más sencillo, recomiendo el 74HC161.
Para mostrar la CURP
Opción fácil:
- 1 × EEPROM paralela pequeña, por ejemplo AT28C16 / AT28C64
- 1 × display de 7 segmentos
- 7 × resistencias de 220 Ω a 330 Ω
Secuencia del contador
El contador genera 4 bits:
| Cuenta | Binario | Carácter mostrado |
|---|
| 0 | 0000 | 8 |
| 1 | 0001 | A |
| 2 | 0010 | C |
| 3 | 0011 | N |
| 4 | 0100 | N |
| 5 | 0101 | R |
| 6 | 0110 | G |
| 7 | 0111 | H |
| 8 | 1000 | 5 |
| 9 | 1001 | 2 |
| 10 | 1010 | 4 |
| 11 | 1011 | 0 |
| 12 | 1100 | 5 |
| 13 | 1101 | 0 |
| 14 | 1110 | V |
| 15 | 1111 | S |
Después de 15 vuelve a 0 automáticamente.
Display de 7 segmentos
Los segmentos normalmente se nombran así:
Para representar letras en 7 segmentos hay limitaciones. Algunas letras no se ven perfectas, pero se pueden aproximar.
Tabla sugerida para display cátodo común:
| Carácter | Segmentos encendidos |
|---|
| 0 | a b c d e f |
| 2 | a b d e g |
| 4 | b c f g |
| 5 | a c d f g |
| 8 | a b c d e f g |
| A | a b c e f g |
| C | a d e f |
| G | a c d e f |
| H | b c e f g |
| N | c e g |
| R | e g |
| S | a c d f g |
| V | c d e |
| V alternativa | b c d e f |
Nota: N, R y V son aproximaciones, porque un display de 7 segmentos no puede mostrar todas las letras claramente.
Cómo armarlo paso a paso
Paso 1: Fuente de alimentación
Usa una fuente de 5 V DC.
Conecta:
+5 V → VCC de todos los integrados
GND → tierra común de todos los integrados
Agrega un capacitor de 100 nF entre VCC y GND cerca de cada integrado.
Paso 2: Reloj con NE555
Configura el NE555 en modo astable.
Conexiones típicas:
Pin 1 → GND
Pin 8 → +5 V
Pin 4 RESET → +5 V
Pin 5 CONTROL → capacitor 10 nF a GND
Pin 2 TRIGGER unido al pin 6 THRESHOLD
Pin 7 DISCHARGE → red de resistencias
Pin 3 OUTPUT → entrada CLK del contador
Valores iniciales:
R1 = 10 kΩ
R2 = 100 kΩ
C = 10 µF
Eso dará una velocidad visible. Si quieres ajustar la velocidad, cambia R2 por un potenciómetro de 100 kΩ.
Paso 3: Contador binario de 4 bits
Con un 74HC161:
CLK → salida pin 3 del NE555
ENT / ENP → +5 V
LOAD → +5 V
CLR / RESET → +5 V normalmente
VCC → +5 V
GND → GND
QA, QB, QC, QD → dirección de memoria A0, A1, A2, A3
Las salidas representan:
QA = bit menos significativo
QB
QC
QD = bit más significativo
Paso 4: Memoria EEPROM como decodificador
Usa una EEPROM paralela. Sus direcciones A0-A3 reciben el número del contador.
A0 ← QA
A1 ← QB
A2 ← QC
A3 ← QD
A4-A10 o superiores → GND
/CE → GND
/OE → GND
/WE → +5 V
VCC → +5 V
GND → GND
Las salidas de datos de la EEPROM van a los segmentos:
D0 → segmento a
D1 → segmento b
D2 → segmento c
D3 → segmento d
D4 → segmento e
D5 → segmento f
D6 → segmento g
D7 → sin usar
Cada línea debe tener una resistencia:
D0 → resistor 220 Ω → segmento a
D1 → resistor 220 Ω → segmento b
...
D6 → resistor 220 Ω → segmento g
Para display de cátodo común:
Datos que debes grabar en la EEPROM
Asumiendo:
D0=a, D1=b, D2=c, D3=d, D4=e, D5=f, D6=g
Y display de cátodo común, donde 1 enciende segmento:
| Dirección | Cuenta | Carácter | Binario D6...D0 | Hex |
|---|
| 0 | 0 | 8 | 1111111 | 7F |
| 1 | 1 | A | 1110111 | 77 |
| 2 | 2 | C | 0111001 | 39 |
| 3 | 3 | N | 1010100 | 54 |
| 4 | 4 | N | 1010100 | 54 |
| 5 | 5 | R | 1010000 | 50 |
| 6 | 6 | G | 0111101 | 3D |
| 7 | 7 | H | 1110110 | 76 |
| 8 | 8 | 5 | 1101101 | 6D |
| 9 | 9 | 2 | 1011011 | 5B |
| 10 | 10 | 4 | 1100110 | 66 |
| 11 | 11 | 0 | 0111111 | 3F |
| 12 | 12 | 5 | 1101101 | 6D |
| 13 | 13 | 0 | 0111111 | 3F |
| 14 | 14 | V | 0011100 | 1C |
| 15 | 15 | S | 1101101 | 6D |
Si te obligan a usar flip-flops JK
Puedes hacer un contador binario síncrono de 4 bits con JK así:
Flip-flop bit 0
Cambia en cada pulso.
Flip-flop bit 1
Flip-flop bit 2
J2 = Q0 · Q1
K2 = Q0 · Q1
Flip-flop bit 3
J3 = Q0 · Q1 · Q2
K3 = Q0 · Q1 · Q2
Todos los flip-flops comparten el mismo reloj del NE555.
Las salidas serían:
Q0 → A0
Q1 → A1
Q2 → A2
Q3 → A3
Luego esas cuatro salidas van al decodificador o EEPROM.
Si te obligan a usar flip-flops D
Para contador binario síncrono de 4 bits:
D0 = /Q0
D1 = Q1 XOR Q0
D2 = Q2 XOR (Q1 · Q0)
D3 = Q3 XOR (Q2 · Q1 · Q0)
Necesitarías compuertas XOR, AND e inversores.
Por eso, si puedes escoger, el contador con JK es más directo.
Recomendación final
Para armarlo sin complicarte demasiado:
NE555 → 74HC161 → EEPROM → resistencias → display 7 segmentos
Si tu profesor exige flip-flops:
NE555 → 4 flip-flops JK → EEPROM → resistencias → display 7 segmentos
La parte más importante es que tu contador tenga 16 estados, porque tu CURP tiene exactamente 16 caracteres.