Visual Basic para Excel

Display 7 segmentos

Componente electrónico para visualizar números a través del encendido y apagado de 7 led (segmentos).  Se clasifican según su conexión en ánodo (Vcc) y cátodo (Gnd) común y por el número de dígitos que pueda generar simultáneamente.

Funcionamiento

Materiales

  • 1  Arduino UNO Rev3
  • 1  Protoboard
  • 1  Display 7 segmentos cátodo común (opcional de ánodo común)
  • 8  Resistencias 220[ohm]
  • 12  Cables de conexión

Montaje

Sketch

Opción 1: Salida númetos a 7 segmentos

const int a = 2;
const int b = 3;
const int c = 4;
const int d = 5;
const int e = 6;
const int f = 7;
const int g = 8;

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, HIGH);
  digitalWrite (b, HIGH);
  digitalWrite (c, HIGH);
  digitalWrite (d, HIGH);
  digitalWrite (e, HIGH);
  digitalWrite (f, HIGH);
  digitalWrite (g, LOW);
  delay(500);
  digitalWrite (a, LOW);
  digitalWrite (b, HIGH);
  digitalWrite (c, HIGH);
  digitalWrite (d, LOW);
  digitalWrite (e, LOW);
  digitalWrite (f, LOW);
  digitalWrite (g, LOW);
  delay(500);
  digitalWrite (a, HIGH);
  digitalWrite (b, HIGH);
  digitalWrite (c, LOW);
  digitalWrite (d, HIGH);
  digitalWrite (e, HIGH);
  digitalWrite (f, LOW);
  digitalWrite (g, HIGH);
  delay(500);
}

Opción 2: Utilizando una matriz

byte num[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,0,0,1,1 }   // = 9
};

int pin;

void setup() {
  //pines para los segmentos

  for(pin=2; pin<=9; pin++){
    pinMode(pin,OUTPUT);
  }
}

void loop() {
  for(int i=2;i<=9;i++){
    digitalWrite(i,HIGH);
    delay (500);
  }  delay (2000);
  for(int i=2;i<=9;i++){
    digitalWrite(i,LOW);
    delay (200);
  }
  delay (2000);
  // Un número, el 4 por ejemplo
  pin = 2; //pines
  for(int i=0;i<7;i++){  //digitos 0, 1
      digitalWrite(pin,num[4][i]);
      pin++;
  }
  delay (1000);  // todos los números
  pin = 2; //pines
  for (int n = 0; n <= 9; n++){ //números
    for(int i=0;i<7;i++){  //digitos 0, 1
      digitalWrite(pin,num[n][i]);
      pin++;
    }
    pin=2;
  delay (1000);
  }
  delay(1000);
}

Opción 3: Con entradas y salidas seriales

Trabajo en clase.

Aplicación:  Dado electrónico

Materiales

  • 1  Arduino UNO Rev3
  • 1  Protoboard
  • 1  Display 7 segmentos cátodo común (opcional de ánodo común)
  • 8  Resistencias 220[Ohm]
  • 14  Cables de conexión
  • 1  pulsador
  • 1  Resistencia de 10KOhm

Montaje

Sketch

Trabajo en clase