Display de 7 segmentos y arduino (anodo y catodo comun)

Indice

  1. Diferencia de anodo y catodo comun.
  2. Display 7 segmentos catodo comun y arduino.
  3. 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);
}