Arduino display 7 segmentos 2 dígitos

Video del circuito

A continuación se deja en video 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 2 Visualizaremos los digitos del 0 al 9
Arduino uno 1 Controlador para el display
Resistencias de 1k 9 Las usaremos para proteger las entradas y los leds de display
Cables macho a macho 9 Los usaremos para la conexión

Código

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

    //Declaramos los numeros para el ánodo común
    const byte numbersDisplayAnode[10] = {0b1000000,     //0
                              0b1111001,          //1
                              0b0100100,          //2
                              0b0110000,          //3
                              0b0011001,          //4
                              0b0010010,          //5
                              0b0000010,          //6
                              0b1111000,          //7
                              0b0000000,          //8
                              0b0010000};         //9
    
    const int nbrDigits = 2;
    //                         digits 1   2
    const int digitPins[nbrDigits] = {10,11};
    
    void setup() {
      for(int i = 0; i &tl 8; i++) {
        pinMode(pins[i], OUTPUT);
      }
    
      for(int i = 0; i &tl nbrDigits; i++) {
        pinMode(digitPins[i], OUTPUT);
      }
    }
    
    void loop() {
    
      int randomInt = random(0, 99);
    
      for(int i = 0; i &tl  100; i++ ){
        showNumber(randomInt);  
        delay(1);
      }
      
    }
    
    void showNumber(int number) {
      if(number == 0) {
        showDigit(0, nbrDigits-1);
      } else {
        for(int digit = nbrDigits-1; digit >= 0; digit--) {
          if(number > 0) {
            showDigit(number % 10, digit);
            number = number / 10;
          }
        }
      }
    }
    
    void showDigit(int number, int digit) {
      digitalWrite(digitPins[digit], HIGH);
     byte numberBit = numbersDisplayAnode[number];
      for (int i = 0; i &tl 7; i++)  {
        int bit = bitRead(numberBit, i);
        digitalWrite(pins[i], bit);
      }
      delay(5);
      digitalWrite(digitPins[digit], LOW);
    }

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 2 digitos
Generic placeholder image
Oscar Fernandez Alzate

03, Enero 2019

299
Categorías
ARDUINO