practica 2 - display 7 segmentos
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.tkTRANSCRIPT
-
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