.
Display de 7 segmentos y arduino (anodo y catodo comun)
Indice
- Diferencia de anodo y catodo comun.
- Display 7 segmentos catodo comun y arduino.
- Display 7 segmentos anodo comun y arduino.
1. Diferencia de anodo y catodo comun
Hay dos tipos de Display de 7 segmentos, de Ánodo común y de Cátodo común.

2. Display 7 segmentos catodo comun

/* Display de 7 segmentos de Cátodo común.
Cada función establece explícitamente el estado de TODOS los segmentos.
*/
#define a 2
#define b 3
#define z 4 // He utilizado la z en vez de la c. La c da error.
#define d 5
#define e 6
#define f 7
#define g 8
int tiempo = 500;
void setup() {
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(z, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
}
void loop() {
uno();
delay(tiempo);
dos();
delay(tiempo);
tres();
delay(tiempo);
cuatro();
delay(tiempo);
cinco();
delay(tiempo);
seis();
delay(tiempo);
siete();
delay(tiempo);
ocho();
delay(tiempo);
nueve();
delay(tiempo);
cero();
delay(tiempo);
}
void uno() {
digitalWrite(a, LOW); // Apagado
digitalWrite(b, HIGH); // Encendido
digitalWrite(z, HIGH); // Encendido
digitalWrite(d, LOW); // Apagado
digitalWrite(e, LOW); // Apagado
digitalWrite(f, LOW); // Apagado
digitalWrite(g, LOW); // Apagado
}
void dos() {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(z, LOW); // Apagado (el segmento c no se usa en el 2)
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
}
void tres() {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(z, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
}
void cuatro() {
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(z, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
}
void cinco() {
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(z, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
}
void seis() {
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(z, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
}
void siete() {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(z, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
void ocho() {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(z, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
}
void nueve() {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(z, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
}
void cero() {
digitalWrite(a, HIGH);
digitalWrite(b, HIGH);
digitalWrite(z, HIGH);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
}
3. Display 7 segmentos anodo comun

/* Display de 7 segmentos de Ánodo común.
En ánodo común, los segmentos se encienden con LOW y se apagan con HIGH.
Cada función establece explícitamente el estado de TODOS los segmentos.
*/
#define a 2
#define b 3
#define z 4 // He utilizado la z en vez de la c. La c da error.
#define d 5
#define e 6
#define f 7
#define g 8
int tiempo = 500;
void setup() {
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(z, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
}
void loop() {
uno();
delay(tiempo);
dos();
delay(tiempo);
tres();
delay(tiempo);
cuatro();
delay(tiempo);
cinco();
delay(tiempo);
seis();
delay(tiempo);
siete();
delay(tiempo);
ocho();
delay(tiempo);
nueve();
delay(tiempo);
cero();
delay(tiempo);
}
void uno() {
digitalWrite(a, HIGH); // Apagado
digitalWrite(b, LOW); // Encendido
digitalWrite(z, LOW); // Encendido
digitalWrite(d, HIGH); // Apagado
digitalWrite(e, HIGH); // Apagado
digitalWrite(f, HIGH); // Apagado
digitalWrite(g, HIGH); // Apagado
}
void dos() {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(z, HIGH); // Apagado (el segmento c no se usa en el 2)
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
}
void tres() {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(z, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
}
void cuatro() {
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(z, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
void cinco() {
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(z, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
void seis() {
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(z, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
void siete() {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(z, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
}
void ocho() {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(z, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
void nueve() {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(z, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
void cero() {
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(z, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
}