Arduino display 7 segmentos ánodo común

En un post pasado conectamos un display de ánodo común y visualizamos los números de 0 al 9, esto con la ayuda del circuito 7447, el cual es un decodificador de 4 bits. Lo que vamos a hacer el usar el display 7 segmentos con el arduino, realizaremos la conexión directa y programaremos cada uno de los dígitos correspondientes.

Contenido

Vídeo del circuito

A continuación encontraras un vídeo en donde se explica al detalle el circuito.

Display 7 segmentos

Es un elemento para visualización de números y letras en electrónica, cada segmento esta hecho de un material que emite luz, los segmentos se organizan o se designan como se muestra en la siguiente imagen.
Existen dos tipos de display de 7 segmentos, su principal diferencia es la conexión de los pines que están asociados a los segmentos, estos dos tipos se conocen como Anodo común y Catodo común.

Display de cátodo común

El display cátodo común es aquel que tiene el pin común conectado a los negativos de los LED’s (cátodo). Esto significa que este tipo de display se “controla” con ‘1’ lógico o con voltaje positivo.

Display de ánodo común

El display ánodo común es aquel cuyos ánodos están conectados al mismo punto. Este tipo de display es controlado por ceros (0).

Conexión del circuito

Materiales

Materia Cantidad Descripción
Display 7 segmentos ánodo común 1 Visualizaremos los digitos del 0 al 9
Arduino uno 1 Controlador para el display
Resistencias de 1k 7 Las usaremos para proteger las entradas y los leds de display
Cables macho a macho 7 Los usaremos para la conexión

Código

El codigo lo tenemos en el repositorio de github en la sección arduino code.
//Paso 1
const int pins[7] = { 2, 3, 4, 5, 6, 7, 8 }; 

//Paso 2
const byte numbersDisplayAnode[10] = {0b1000000,     //0
                          0b1111001,          //1
                          0b0100100,          //2
                          0b0110000,          //3
                          0b0011001,          //4
                          0b0010010,          //5
                          0b0000010,          //6
                          0b1111000,          //7
                          0b0000000,          //8
                          0b0010000};         //9

void setup() {
  //Paso 3
  for(int i = 0; i < 7; i++) {
    pinMode(pins[i], OUTPUT);  
  }

  //Paso 5
  lightSegments(0);
}

void loop() {
  //Paso 6
  for(int i = 0; i < 10; i++) {
    lightSegments(i);
    delay(1000);
  }
}

//Paso 4
void lightSegments(int number) {
  byte numberBit = numbersDisplayAnode[number];
  for (int i = 0; i < 7; i++)  {
    int bit = bitRead(numberBit, i);
    digitalWrite(pins[i], bit);
  }
}
A continuacion explicamos cada uno de los padod que se esta realizando.
  1. Creamos la variable pins tipo array entero, la cual almacenara los pines que se conectan al display.
  2. Declaramos la variable numbersDisplayAnode de tipo array de byte, donde se alacenaran los bits correspondientes a los segmentos de los números.
  3. Colocamos los pines de la variable pins como salida usado la función pinMode.
  4. Creamos la función lightSegments() donde usara la función bitRead para el bit de numbersDisplayAnode en la posición del pin que esta asociado al segmento correspondiente.

Comentarios

Para dejar el comentario solo necesitamos tu correo que registraste en la pagina, pero si aun no te haz registrado se creara el usuario automaticamente.

Detalle contenido

Arduino display 7 segmentos ánodo común
Generic placeholder image
Oscar Fernandez Alzate

29, Octubre 2018

300
Categorías
ARDUINO