El display de 7 segmentos es el componente de visualización más básico de la electrónica: 7 LEDs en forma de "8" que al combinarse muestran los dígitos del 0 al 9. Entender cómo funciona sin librería es fundamental para comprender cómo funcionan todos los displays.
Ánodo Común vs Cátodo Común
| Tipo | Pin común conecta a | Segmento se enciende con |
|---|---|---|
| Cátodo común (CC) | GND | HIGH (5V) |
| Ánodo común (CA) | 5V | LOW (0V) |
Verifica con un multímetro (modo diodo) o por prueba: conecta el pin común a GND y un pin de segmento a 5V a través de una resistencia de 220Ω. Si enciende, es cátodo común.
Conexión (Cátodo Común)
Cada segmento (a, b, c, d, e, f, g) necesita una resistencia de 220Ω en serie con el pin del Arduino. El pin COM va a GND.
| Segmento | Pin Arduino |
|---|---|
| a (arriba) | 2 |
| b (arriba derecha) | 3 |
| c (abajo derecha) | 4 |
| d (abajo) | 5 |
| e (abajo izquierda) | 6 |
| f (arriba izquierda) | 7 |
| g (centro) | 8 |
Código: Contar del 0 al 9
// Pines: a, b, c, d, e, f, g
int pines[] = {2, 3, 4, 5, 6, 7, 8};
// 1 = encendido (cátodo común)
// Orden: a b c d e f g
byte digitos[10][7] = {
{1,1,1,1,1,1,0}, // 0
{0,1,1,0,0,0,0}, // 1
{1,1,0,1,1,0,1}, // 2
{1,1,1,1,0,0,1}, // 3
{0,1,1,0,0,1,1}, // 4
{1,0,1,1,0,1,1}, // 5
{1,0,1,1,1,1,1}, // 6
{1,1,1,0,0,0,0}, // 7
{1,1,1,1,1,1,1}, // 8
{1,1,1,1,0,1,1} // 9
};
void setup() {
for (int i = 0; i < 7; i++) pinMode(pines[i], OUTPUT);
}
void mostrar(int n) {
for (int i = 0; i < 7; i++) digitalWrite(pines[i], digitos[n][i]);
}
void loop() {
for (int n = 0; n <= 9; n++) {
mostrar(n);
delay(1000);
}
}
Múltiples Dígitos con Multiplexación
Para mostrar números de 2 o más dígitos con pocos pines, se usa multiplexación: se alterna entre los dígitos a ~100 Hz (10 ms cada uno) y el ojo humano ve ambos encendidos simultáneamente. Para 4 dígitos, el chip MAX7219 simplifica todo el cableado a 3 pines SPI — búscalo en Especificar.cl.