4
Universidad de Antioquia. Jaramillo Cesar, Quintero David. Manejo de Puertos Digitales con Display 7 Segmentos 1 ResumenCon el objetivo de tener un mayor dominio de los puertos digitales de la placa arduino, se propuso como practica el manejo de un display de 7 segmentos. Todo esto a razón de iniciar al estudiante en lo correspondiente a la práctica de matemática booleana aplicada, además de fortalecer su conocimiento experimental. Palabras ClaveARDUINO, INPUT, OUPUT, PUERTO DIGITAL, LED, ANODO, CATODO. I. LED nicialmenrte se expondrán las características de los led, con objeto de facilitar los parámetros de configuración aplicados al display. Ahora bien que es un led? Pues este es un tipo especial de diodo semiconductor. Como un diodo normal, este lleva en su interior un material semiconductor, impregnado o dopado con impurezas, para crear una estructura llamada unión p-n (Fig. 1). Fig. 1. Composición interna de un LED Como en todo tipo de diodo la corriente fluye fácilmente del lado “p” Ánodo hacia el lado ”n”cátodo,generando un flujo de electrones en la unión . Cada que pasa un electrón de un lado a otro, cae en un nivel de energía inferior, liberando esta en forma de fotón. Los led’s son componentes que, dependiendo de la combinación de los elementos químicos presentes en los materiales que lo componen, (ejempló: ALGalnP, GaAs, GalnN, GaP) pueden producir un amplio rango de longitudes de onda dentro de un espectro cromático, mostrando como resultado diferentes colores o resultados fuera del espectro de luz visible. Antes de empezar a hablar del display, realicemos el cálculo de la resistencia limitadora. Esta es la encargada de evitar que el paso de corriente queme el led, además de regular su luminosidad. Para ello se tiene la siguiente ecuación: = ( ) Donde Rles la resistencia limitadora, Vcc es el voltaje que incide sobre el led y (Vled, Iled), son respectivamente voltaje y corriente de activación del led (Fig. 2). Fig. 2. Esquemático Calculo Resistencia Limitadora De tal manera que tomando los valores de la (Fig. 2) y un Vcc de 5Voltios, se tendría que: = (5 1,7) 20 × 10 3 = 165De forma análoga se usara en los display de 7 segmentos como se verá a continuación, en donde se tendrán en consideración toda la información tratada en esta primera parte del informe. Manejo de Puertos Digitales con Display 7 Segmentos (Practica 2) Jaramillo Gutiérrez Cesar Augusto, Quintero Montoya Alexis David, Arias Londoño Alexander. {cesarjaramilloude [1] ,adqm007 [2] ,profeitm [3] }@gmail.com [1, 2,3] Universidad de Antioquia I

Practica 2 - Display 7 segmentos

Embed Size (px)

DESCRIPTION

El profesor Alexander Arias explica a los estudiantes en las tutorias paso por paso como realizar laRealización de Diseños con Mapas de Karnaugh.También, les explica cuidadosamente a los estudiantes como realizar el articulo para que muestre de forma clara el funcionamiento de la practica.En este documento se expone una aplicación de control de un display de 7 segmentos, el cual desplegará los números del 0 al 9 gracias al control de estados en sus segmentos realizado desde la tarjeta de Arduino y un montaje electrónico. Se exponen las instrucciones del microcontrolador para alcanzar el objetivo descrito desde dos puntos de vista distintos, en aras a verificar el funcionamientos desde la lógica condicional y el algebra Booleana. El profesor Alexander Arias tiene en su página el articulo y los videos que muestran el procedimiento de la práctica.http://alex-arias.tk

Citation preview

  • Universidad de Antioquia. Jaramillo Cesar, Quintero David. Manejo de Puertos Digitales con Display 7 Segmentos 1

    ResumenCon el objetivo de tener un mayor dominio de los puertos digitales de la placa arduino, se propuso como

    practica el manejo de un display de 7 segmentos. Todo esto

    a razn de iniciar al estudiante en lo correspondiente a la

    prctica de matemtica booleana aplicada, adems de

    fortalecer su conocimiento experimental.

    Palabras ClaveARDUINO, INPUT, OUPUT, PUERTO

    DIGITAL, LED, ANODO, CATODO.

    I. LED

    nicialmenrte se expondrn las caractersticas de los

    led, con objeto de facilitar los parmetros de

    configuracin aplicados al display. Ahora bien que es un led?

    Pues este es un tipo especial de diodo semiconductor. Como

    un diodo normal, este lleva en su interior un material

    semiconductor, impregnado o dopado con impurezas, para

    crear una estructura llamada unin p-n (Fig. 1).

    Fig. 1. Composicin interna de un LED

    Como en todo tipo de diodo la corriente fluye fcilmente del

    lado p nodo hacia el lado nctodo,generando un flujo de electrones en la unin . Cada que pasa un electrn de un lado a

    otro, cae en un nivel de energa inferior, liberando esta en

    forma de fotn.

    Los leds son componentes que, dependiendo de la combinacin de los elementos qumicos presentes en los materiales que lo componen, (ejempl: ALGalnP, GaAs,

    GalnN, GaP) pueden producir un amplio rango de longitudes

    de onda dentro de un espectro cromtico, mostrando como

    resultado diferentes colores o resultados fuera del espectro de

    luz visible.

    Antes de empezar a hablar del display, realicemos el clculo

    de la resistencia limitadora. Esta es la encargada de evitar que

    el paso de corriente queme el led, adems de regular su

    luminosidad. Para ello se tiene la siguiente ecuacin:

    =( )

    Donde Rles la resistencia limitadora, Vcc es el voltaje que

    incide sobre el led y (Vled, Iled), son respectivamente voltaje y

    corriente de activacin del led (Fig. 2).

    Fig. 2. Esquemtico Calculo Resistencia Limitadora

    De tal manera que tomando los valores de la (Fig. 2) y un Vcc

    de 5Voltios, se tendra que:

    =(5 1,7)

    20 103= 165

    De forma anloga se usara en los display de 7 segmentos

    como se ver a continuacin, en donde se tendrn en

    consideracin toda la informacin tratada en esta primera

    parte del informe.

    Manejo de Puertos Digitales con Display 7

    Segmentos (Practica 2)

    Jaramillo Gutirrez Cesar Augusto, Quintero Montoya Alexis David, Arias Londoo Alexander. {cesarjaramilloude[1],adqm007[2],profeitm[3]}@gmail.com[1, 2,3]

    Universidad de Antioquia

    I

  • Universidad de Antioquia. Jaramillo Cesar, Quintero David. Manejo de Puertos Digitales con Display 7 Segmentos 2

    II. DISPLAY DE 7 SEGMENTOS

    Un display 7 segmentos no es ms que una matriz d 7 diodos led, dispuestos de forma que encendindolos apropiadamente

    se pueden formar los nmero del 0 al 9 y algunas letras del

    alfabeto.

    Cada led del display est identificado por una letra entre a y g.

    Algunos displays cuentan con un led adicional en la parte inferior llamado dp (decimal point), pensado en la

    representacin de un punto decimal. A continuacin se

    muestran los dos encapsulados que existen de este tipo de

    display (Fig. 3).

    Fig. 3. Encapsulados display 7 Segmentos

    Despus de ver su encapsulado se preguntaran como 8 leds

    estn dentro de este dispositivo y donde estn los 6 pines

    restantes, ya que el diodo tiene cada uno su nodo y ctodo.

    Sin envergo esta es la cantidad adecuada, ya que internamente

    este interconecta una de las terminales de los led, para ofrecer

    asi mayor comodidad al trabajar con estos.

    Al existir dos terminales nodo y ctodo existen dos tipos de

    display 7 segmentos, nodo comn y ctodo comn, como se

    visualiza en la figura 3.

    III. PRCTICAS DE APRENDIZAJE

    A. Nmeros del 0 al 9 Display 7 Segmentos

    El objetivo fundamental de la prctica es continuar

    adquiriendo experiencia en el manejo de puertos digitales,

    trabajando con las placas de entrenamiento de arduino. Para

    ello se expuso el siguiente problema.

    Se busca que en un display de 7 segmentos se muestren los

    nmeros del 0 al 9. Estos valores sern ingresados al

    microcontrolador a travs de 4 switches. En vista de que

    existen 16 posibles combinaciones de entrada para el sistema,

    se especifica que para valores de entrada del 10 al 15 se muestre en el display una letra E que significara error en el cdigo de entrada. Las combinaciones de cada una de las 4

    entradas equivale a un bit, por lo que al tener todos los

    switches apagados en el display aparecera el numero 0.

    Para ello se desarroll el siguiente cdigo:

    int sw_1 = 10;

    int sw_2 = 11;

    int sw_3 = 12;

    int sw_4 = 13;

    intSeg_a =3;

    intSeg_b =4;

    intSeg_c =5;

    intSeg_d =6;

    intSeg_e =7;

    intSeg_f =8;

    intSeg_g =9;

    voidsetup() {

    // INDICAR QUE EL PIN 13 FUNCIONA COMO SALIDA

    DIGITAL

    pinMode(sw_1, INPUT);

    pinMode(sw_2, INPUT);

    pinMode(sw_3, INPUT);

    pinMode(sw_4, INPUT);

    pinMode(Seg_a, OUTPUT);

    pinMode(Seg_b, OUTPUT);

    pinMode(Seg_c, OUTPUT);

    pinMode(Seg_d, OUTPUT);

    pinMode(Seg_e, OUTPUT);

    pinMode(Seg_f, OUTPUT);

    pinMode(Seg_g, OUTPUT);

    }

    // LA RUTINA QUE SE EJECUTA INFINITAMENTE:

    voidloop() {

    ///PARA CERO

    if (digitalRead(sw_4)==0 &&digitalRead(sw_3)==0

    &&digitalRead(sw_2)==0 &&digitalRead(sw_1)==0)

    {

    digitalWrite(Seg_a, LOW);

    digitalWrite(Seg_b, LOW);

    digitalWrite(Seg_c, LOW);

    digitalWrite(Seg_d, LOW);

    digitalWrite(Seg_e, LOW);

    digitalWrite(Seg_f, LOW);

    digitalWrite(Seg_g, HIGH);

    }

    // PARA EL UNO

    if (digitalRead(sw_4)==0 &&digitalRead(sw_3)==0

    &&digitalRead(sw_2)==0 &&digitalRead(sw_1)==1)

    {

    digitalWrite(Seg_a, HIGH);

    digitalWrite(Seg_b, LOW);

    digitalWrite(Seg_c, LOW);

    digitalWrite(Seg_d, HIGH);

    digitalWrite(Seg_e, HIGH);

    digitalWrite(Seg_f, HIGH);

    digitalWrite(Seg_g, HIGH);

    }

    //PARA EL DOS

    if (digitalRead(sw_4)==0 &&digitalRead(sw_3)==0

    &&digitalRead(sw_2)==1 &&digitalRead(sw_1)==0)

    {

    digitalWrite(Seg_a, LOW);

    digitalWrite(Seg_b, LOW);

    digitalWrite(Seg_c, HIGH);

    digitalWrite(Seg_d, LOW);

    digitalWrite(Seg_e, LOW);

    digitalWrite(Seg_f, HIGH);

    digitalWrite(Seg_g, LOW);

    }

  • Universidad de Antioquia. Jaramillo Cesar, Quintero David. Manejo de Puertos Digitales con Display 7 Segmentos 3

    El cual tuvo como base, la tabla de verdad (Tabla. 1)

    correspondiente al tipo de display que se utiliz. En nuestro

    caso se us un display de nodo comn, lo cual indica que

    desde el microcontrolador se enviara un cero para encender y

    un uno para apagar el led correspondiente en cada uno de los 7

    puertos.

    Tabla de Verdad 7 Segmentos

    nodo Comn

    #/in a b c d e f g

    0 0 0 0 0 0 0 1

    1 1 0 0 1 1 1 1

    2 0 0 1 0 0 1 0

    3 0 0 0 0 1 1 0

    4 1 0 0 1 1 0 0

    5 0 1 0 0 1 0 0

    6 0 1 0 0 0 0 0

    7 0 0 0 1 1 1 1

    8 0 0 0 0 0 0 0

    9 0 0 0 0 1 0 0

    10 0 1 1 0 0 0 0

    11 0 1 1 0 0 0 0

    12 0 1 1 0 0 0 0

    13 0 1 1 0 0 0 0

    14 0 1 1 0 0 0 0

    15 0 1 1 0 0 0 0

    Tabla. 1. Tabla de Verdad Display 7 Segmentos nodo

    Comn.

    //PARA EL NUEVE

    if (digitalRead(sw_4)==1 &&digitalRead(sw_3)==0

    &&digitalRead(sw_2)==0 &&digitalRead(sw_1)==1)

    {

    digitalWrite(Seg_a, LOW);

    digitalWrite(Seg_b, LOW);

    digitalWrite(Seg_c, LOW);

    digitalWrite(Seg_d, LOW);

    digitalWrite(Seg_e, HIGH);

    digitalWrite(Seg_f, LOW);

    digitalWrite(Seg_g, LOW);

    }

    //PARA EL ERROR

    if (digitalRead(sw_4)==1)

    {

    if (digitalRead(sw_3)!=0 || digitalRead(sw_2)!=0)

    {

    digitalWrite(Seg_a, LOW);

    digitalWrite(Seg_b, HIGH);

    digitalWrite(Seg_c, HIGH);

    digitalWrite(Seg_d, LOW);

    digitalWrite(Seg_e, LOW);

    digitalWrite(Seg_f, LOW);

    digitalWrite(Seg_g, LOW);

    }

    }

    }

    //PARA EL TRES

    if (digitalRead(sw_4)==0 &&digitalRead(sw_3)==0

    &&digitalRead(sw_2)==1 &&digitalRead(sw_1)==1)

    {

    digitalWrite(Seg_a, LOW);

    digitalWrite(Seg_b, LOW);

    digitalWrite(Seg_c, LOW);

    digitalWrite(Seg_d, LOW);

    digitalWrite(Seg_e, HIGH);

    digitalWrite(Seg_f, HIGH);

    digitalWrite(Seg_g, LOW);

    }

    //PARA EL CUATRO

    if (digitalRead(sw_4)==0 &&digitalRead(sw_3)==1

    &&digitalRead(sw_2)==0 &&digitalRead(sw_1)==0)

    {

    digitalWrite(Seg_a, HIGH);

    digitalWrite(Seg_b, LOW);

    digitalWrite(Seg_c, LOW);

    digitalWrite(Seg_d, HIGH);

    digitalWrite(Seg_e, HIGH);

    digitalWrite(Seg_f, LOW);

    digitalWrite(Seg_g, LOW);

    }

    //PARA EL CINCO

    if (digitalRead(sw_4)==0 &&digitalRead(sw_3)==1

    &&digitalRead(sw_2)==0 &&digitalRead(sw_1)==1)

    {

    digitalWrite(Seg_a, LOW);

    digitalWrite(Seg_b, HIGH);

    digitalWrite(Seg_c, LOW);

    digitalWrite(Seg_d, LOW);

    digitalWrite(Seg_e, HIGH);

    digitalWrite(Seg_f, LOW);

    digitalWrite(Seg_g, LOW);

    }

    //PARA EL SEIS

    if (digitalRead(sw_4)==0 &&digitalRead(sw_3)==1

    &&digitalRead(sw_2)==1 &&digitalRead(sw_1)==0)

    {

    digitalWrite(Seg_a, LOW);

    digitalWrite(Seg_b, HIGH);

    digitalWrite(Seg_c, LOW);

    digitalWrite(Seg_d, LOW);

    digitalWrite(Seg_e, LOW);

    digitalWrite(Seg_f, LOW);

    digitalWrite(Seg_g, LOW);

    }

    //PARA EL SIETE

    if (digitalRead(sw_4)==0 &&digitalRead(sw_3)==1

    &&digitalRead(sw_2)==1 &&digitalRead(sw_1)==1)

    {

    digitalWrite(Seg_a, LOW);

    digitalWrite(Seg_b, LOW);

    digitalWrite(Seg_c, LOW);

    digitalWrite(Seg_d, HIGH);

    digitalWrite(Seg_e, HIGH);

    digitalWrite(Seg_f, HIGH);

    digitalWrite(Seg_g, HIGH);

    }

    //PARA EL OCHO

    if (digitalRead(sw_4)==1 &&digitalRead(sw_3)==0

    &&digitalRead(sw_2)==0 &&digitalRead(sw_1)==0)

    {

    digitalWrite(Seg_a, LOW);

    digitalWrite(Seg_b, LOW);

    digitalWrite(Seg_c, LOW);

    digitalWrite(Seg_d, LOW);

    digitalWrite(Seg_e, LOW);

    digitalWrite(Seg_f, LOW);

    digitalWrite(Seg_g, LOW);

    }

  • Universidad de Antioquia. Jaramillo Cesar, Quintero David. Manejo de Puertos Digitales con Display 7 Segmentos 4

    Despus de Compilar el cdigo (Verificar), pasamos a realizar

    el montaje de funcionamiento. Para definir los componentes,

    nos remitimos a la ecuacin extrada de la figura 2. En esta

    ocasin vamos a suponer que los leds dentro del encapsulado nodo comn, tienen las mismas condiciones que las ya expuestas. Pero como no hay existencia de una resistencia de

    165, aproximaremos su valor a una comercial de 150.

    Puesto que se definieron los resistores a usar tenemos que los

    materiales que necesitamos son:

    7 resistores de 150

    4 resistores de 10k

    1 display 7 segmentos (nodo comn)

    4 switches

    Placa Arduino

    A continuacin se muestra esquemtico correspondiente a esta prctica (Fig. 4).

    Fig. 4. Esquemtico Display 7 Segmentos.

    IV. CONCLUSIONES

    Es de suma importancia conocer lo que contiene un

    encapsulado, para asimilar su funcionamiento y

    requerimientos de configuracin.

    Los puertos digitales de la placa son muy amigables a

    la hora de ser configurados.

    Trabajar con nodo comn implica no peticionar

    corriente al microcontrolador, asegurando la

    estabilidad y seguridad de este.

    Realizar una prctica de aprendizaje con arduino

    ahorra tiempo y costos, ya que este tiene de fbrica

    los requerimientos mnimos de funcionamiento

    montados en su placa.

    V. WEBGRAFIA

    [1] [Online]. Available:

    http://energia.guanajuato.gob.mx/siegconcyteg/event

    osieg/archivos/AI_Led.pdf

    [2] [Online]. Available:

    http://www.ledsinternational.com/es/que-son-los-

    leds/

    [3] [Online]. Available:

    http://www.pablin.com.ar/electron/info/rled/

    [4] [Online]. Available:

    http://tecnoface.com/tutoriales/12-practicando-con-

    displays-de-7-segmentos/19-conceptos-basicos-de-

    un-display-de-7-segmentos