Sie sind auf Seite 1von 18

CÓDIGO: SGC.DI.

505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

DEPARTAMENTO: Energía Y Mecánica CARRERA: Ingeniería Automotriz


PERIODO Octubre 2018 –
ASIGNATURA: Microcontroladores y NIVEL: VI
ELECTIVO: Febrero 2019
PLC
PRÁCTICA
DOCENTE: Ing. Sixto Reinoso NRC: 3136 1
N°:
FECHA DE
05-11-2018 FECHA DE 19-11-2018
REALIZACIÓN:
ENTREGA:
 Gallo Steven
INTEGRANTES  Revelo Héctor
 Sánchez Bryam
 Zapata Sebastián
LABORATORIO DONDE SE
Aula de Clase
DESARROLLARÁ LA
PRÁCTICA
TEMA DE LA
Manejo de Leds y Displays
PRÁCTICA:
INTRODUCCIÓN:

EL DISPLAY
Según (Torres, 2013)Una de las aplicaciones más populares de los LED’s es la de señalización. Quizás la
más utilizada sea la de 7 LED’s colocadas en forma de ocho tal y como se indica en la figura 9. Aunque
externamente su forma difiere considerablemente de un diodo LED típico, internamente están constituidos
por una serie de diodos LED con unas determinadas conexiones internas. En la figura 9 se indica el esquema
eléctrico de las conexiones del interior de un indicador luminoso de 7 segmentos.

figura 1. Display de 7 segmentos. A la izquierda aparecen las dos posibles formas de construir el circuito

La figura 1 se muestra un indicador de siete segmentos. Contiene siete LED rectangulares (a - g), en el que
cada uno recibe el nombre de segmento porque forma parte del símbolo que esta mostrando. Con un indicador
de siete segmentos se pueden formar los dígitos del 0 al 9, también las letras a, c, e y f y las letras minúsculas
b y d. Los entrenadores de microprocesadores usan a menudo indicadores de siete segmentos para mostrar
todos los dígitos del 0 al 9 mas a, b, d, d, e y f .
Polarizando los diferentes diodos, se iluminaran los segmentos correspondientes. De esta manera podemos
señalizar todos los números en base 10. Por ejemplo, si queremos representar el número de 1 en el display
deberemos mandar seal a los diodos b y b, y los otros diodos deben de tener tensión cero. Esto lo podemos
escribir así 0110000(0). El primer digito representa al diodo a, el segundo al b, el tercero al c, y así
sucesivamente. Un cero representa que no polarizamos el diodo, es decir no le aplicamos tensión. Un uno
representa que el diodo esta polarizado, y por lo tanto, emite luz.
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

Según (Garcia, 2014) Actualmente es fácil encontrar en Internet códigos sobre pantallas LCD y cómo
adaptarlas a distintas aplicaciones. En cambio, son muy pocos los sitios donde se describe cómo utilizar un
display de siete segmentos y no digamos, cuando se trata de conjuntos de displays de 2, 3 o 4 dígitos
multiplexados. Sin embargo, este dispositivo es bastante común en un gran número de electrodomésticos que
podemos desguazar y reutilizar su display.

figura 2 estructura del display

En aquella ocasión se contemplaba el caso de aplicar el contador de dos dígitos, como contador en una
aplicación del propio Arduino que, como ejercicio es esclarecedor y consigue ayudar el interesado en realizar
un contador de esas características. En esta ocasión, si bien, puede utilizarse con unos pequeños ajustes, del
mismo modo, la diferencia radica en que se visualizará la cuenta obtenida reflejada en un pantalla o display
de dos, tres o cuatro dígitos de siete segmentos a LED, mediante la multiplexación de los dígitos utilizados.
Esta es la estructura del display múltiple.

La teoría, se puede ver en el mencionado artículo, así que sólo nos preocuparemos de los tipos de pantalla a
utilizar, para este caso usaremos un display múltiple (multiplexado). El display que vamos a utilizar aquí,
tiene la particularidad en su encapsulado, es decir, que en una pieza ( o encapsulado) nos presenta varios
dígitos. Tenemos que tener en cuenta que en algunos casos, las patillas que vienen en el encapsulado, parece
que no están bien, ya que hay menos de las que se supone debería tener, esto es debido a que se han dispuesto
de forma especial, lo que se llama multiplexado. (Garcia, 2014)

OBJETIVOS:
 Objetivo General
Establecer los puertos del Microcontrolador como salida mediante programación para poder poner en
funcionamiento los display.
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

 Objetivos específicos
Realizar circuitos de aplicación utilizando LEDS y displays de 7 segmentos controlados mediante el
Microcontrolador para entender mejor su funcionamiento.

MATERIALES:
HERRAMIENTAS MATERIALES Y EQUIPOS

NOMBRE CARACTERÍSTICA FIGURA

 Microcontrolador ATmega328.
 Voltaje de entrada 7-12V.
 14 pines digitales de I/O (6
salidas PWM).
Arduino UNO
 6 entradas análogas.
 32k de memoria Flash.
 Reloj de 16MHz de velocidad.

El protoboard o tarjeta para prototipos es


un dispositivo muy utilizado para
Protoboard ensamblar y probar circuitos
electrónicos. Tiene la ventaja de que
permite armar con facilidad un circuito,
sin la necesidad de realizar soldaduras

Cables Especiales para conexiones en


protoboard

Resistencias  10K
 330R

Displays  7 segmentos
 Ánodo común
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

INSTRUCCIONES
TRABAJO PREVIO
1. Escriba un programa para controlar 6 LEDS, según las secuencias indicadas en la tabla, según
se indica:
a) Se prenden y se apagan todos LEDS 10 veces cada 0,2s. (bloque amarillo)

b) Sigue la secuencia de encendido y apagado de LED x LED (bloque azul).

c) Van prendiéndose uno a uno todos los LEDS (bloque verde).

d) Continua la secuencia al punto a.

int x=0; //declaracion de variables


void setup() {
pinMode (1,OUTPUT); //declaracion de pines de salida
pinMode (2,OUTPUT);
pinMode (3,OUTPUT);
pinMode (4,OUTPUT);
pinMode (5,OUTPUT);
pinMode (6,OUTPUT);
}
void loop() {
for (x=1;x<=10;x++){//instruccion para el encendido y apagado de leds 10 veces con bucle for
digitalWrite (1,HIGH);//encendido de leds 10 veces
digitalWrite (2,HIGH);
digitalWrite (3,HIGH);
digitalWrite (4,HIGH);
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

digitalWrite (5,HIGH);
digitalWrite (6,HIGH);
delay(200);//retraso de 0,2s
digitalWrite (1,LOW);//apagado de leds 10 veces
digitalWrite (2,LOW);
digitalWrite (3,LOW);
digitalWrite (4,LOW);
digitalWrite (5,LOW);
digitalWrite (6,LOW);
delay(200);//retraso de 0,2s
}
for (x=0;x<=6;x++){//instruccion para el encendido y apagado de leds uno por uno con bucle for
digitalWrite (x,HIGH);
if(x==5){
digitalWrite (1,HIGH);
}
if(x==6){
digitalWrite (2,HIGH);
}
delay(200);
digitalWrite (x,LOW);
if(x==5){//condicion para encendido de led 1
digitalWrite (1,LOW);
}
if(x==6){//condicion para encendido de led 2
digitalWrite (2,LOW);
}
delay(200);
}
for(x=5;x>=0;x--){//instruccion para el encendido y apagado de leds (regreso) uno por uno con bucle for
digitalWrite (x,HIGH);
delay(200);
digitalWrite (x,LOW);
delay(200);
}
for(x=1;x<=6;x++){//instruccion para el encendido de leds en secuencia con bucle for
digitalWrite (x,HIGH);
delay(200);
}
for(x=6;x>=0;x--){//instruccion para el apagado de leds en secuencia con bucle for
digitalWrite (x,LOW);
delay(200);
}
delay(100);
x=0; //valor de regreso a cero para su reinicio
}
2. Diseñe el programa y circuito para controlar tres displays de 7 segmentos multiplexados sin
decodificador que funcione de la siguiente forma:
a) Contador de 000 a 559 ascendentes.
// Se declara un vector constante tipo entero
const int decoder []={63,6,91,79,102,109,124,7,127,103};//64,121,36,48,25,18,3,120,0,24
int unidad=0; //Se declara una variable de tipo Entero con el valor de 0
int decena=0; //Se declara una variable de tipo Entero con el valor de 0
int centena=0; //Se declara una variable de tipo Entero con el valor de 0
void setup() {
int pin; // Se declara una variable de tipo Entero
for(pin=1; pin<=10; pin++){ // Se establece todas las salidas que se van a utilizar
pinMode(pin, OUTPUT); // las cuales van desde el pin 1 hasta 10
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

}
}
void conmutar(){
digitalWrite(9, HIGH);// Asigan el valor de apagado al pin 9
digitalWrite(8, HIGH);// Asigan el valor de apagado al pin 9
display7(decoder[centena]); // Llama a la función display7() y manda un valor del vector decoder dependiendo de
decena
digitalWrite(10, LOW);// Asigan el valor de encendido al pin 8
delay(10);
digitalWrite(8, HIGH);
digitalWrite(10, HIGH);
display7(decoder[decena]);// Asigan el valor de apagado al pin 8
digitalWrite(9, LOW);// Asigan el valor de encendido al pin 9
delay(10);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
display7(decoder[unidad]);// Llama a la función display7() y manda un valor del vector decoder dependiendo de
unidad
digitalWrite(8, LOW);// Asigan el valor de apagado al pin 9
delay(2);
return;
}
void display7 (int valor){
digitalWrite(1, bitRead(valor,0)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(2, bitRead(valor,1)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(3, bitRead(valor,2)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(4, bitRead(valor,3)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(5, bitRead(valor,4)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(6, bitRead(valor,5)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(7, bitRead(valor,6)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
}
void loop() {
for(centena=0; centena<=5; centena++){
for (decena=0; decena<=9;decena++){ // genera numeros progeresivos desde el 0 hasta el 9
for (unidad=0; unidad<=9;unidad++){ // genera numeros progeresivos desde el 0 hasta el 9
conmutar();
if(centena==5 && decena==6){
centena=0;
decena=0;
unidad=0;
}// Llama a la funcion conmutar()
}
}
}
}
b) Contador de 559 a 000 descendente.
// Se declara un vector constante tipo entero
const int decoder []={63,6,91,79,102,109,124,7,127,103};//64,121,36,48,25,18,3,120,0,24
int unidad=0; //Se declara una variable de tipo Entero con el valor de 0
int decena=0; //Se declara una variable de tipo Entero con el valor de 0
int centena=0; //Se declara una variable de tipo Entero con el valor de 0
void setup() {
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

int pin,aux=0; // Se declara una variable de tipo Entero


for(pin=1; pin<=10; pin++){ // Se establece todas las salidas que se van a utilizar
pinMode(pin, OUTPUT); // las cuales van desde el pin 1 hasta 10
}
}
void conmutar(){
digitalWrite(9, HIGH);// Asigan el valor de apagado al pin 9
digitalWrite(8, HIGH);// Asigan el valor de apagado al pin 9
display7(decoder[centena]); // Llama a la función display7() y manda un valor del vector decoder dependiendo de
decena
digitalWrite(10, LOW);// Asigan el valor de encendido al pin 8
delay(10);
digitalWrite(8, HIGH);
digitalWrite(10, HIGH);
display7(decoder[decena]);// Asigan el valor de apagado al pin 8
digitalWrite(9, LOW);// Asigan el valor de encendido al pin 9
delay(10);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
display7(decoder[unidad]);// Llama a la función display7() y manda un valor del vector decoder dependiendo de
unidad
digitalWrite(8, LOW);// Asigan el valor de apagado al pin 9
delay(2);
return;
}
void display7 (int valor){
digitalWrite(1, bitRead(valor,0)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(2, bitRead(valor,1)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(3, bitRead(valor,2)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(4, bitRead(valor,3)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(5, bitRead(valor,4)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(6, bitRead(valor,5)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(7, bitRead(valor,6)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
}
void loop() {
int aux;
for(centena=5; centena>=0; centena--){
if (centena==5 && decena==0){
aux=5;
}
else{
aux=9;
}
for (decena= aux; decena>=0;decena--){
// genera numeros progeresivos desde el 0 hasta el 9
for (unidad=9; unidad>=0;unidad--){ // genera numeros progeresivos desde el 0 hasta el 9
conmutar();
if(centena==0 && decena==0 && unidad==0){
centena=5;
decena=5;
unidad=9;
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

}// Llama a la funcion conmutar()


}
}
}
}
ACTIVIDADES POR DESARROLLAR:
1. Arme en el protoboard el circuito del punto 1 del trabajo previo. Cargue el programa compilado en el
Microcontrolador y verifique el funcionamiento.

2. Arme en el protoboard el circuito del punto 2 del trabajo previo. Cargue el programa compilado en
el Microcontrolador y verifique el funcionamiento.
a) Contador de 559 a 000 ascendente.
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

b) Contador de 559 a 000 descendente.

RESULTADOS OBTENIDOS:
1. diagramas de flujo para cada uno de los programas de la práctica.
 Circuito de Leds
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

 Circuito de 3 displays
a) Contador de 0 a 559 ascendente
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

b) Contador de 559 a 0 descendente


CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

2. Explique el funcionamiento de los programas realizados.


 Circuito de Leds
int x=0; //declaracion de variables
pinMode (1,OUTPUT); //declaracion de pines de salida
for (x=1;x<=10;x++){//instruccion para el encendido y apagado de leds 10 veces con bucle for
digitalWrite (1,HIGH);//encendido de leds 10 veces
delay(200);//retraso de 0,2s
digitalWrite (1,LOW);//apagado de leds 10 veces
delay(200);//retraso de 0,2s
for (x=0;x<=6;x++){//instruccion para el encendido y apagado de leds uno por uno con bucle for
for(x=5;x>=0;x--){//instruccion para el encendido y apagado de leds (regreso) uno por uno con bucle for
for(x=1;x<=6;x++){//instruccion para el encendido de leds en secuencia con bucle for
for(x=6;x>=0;x--){//instruccion para el apagado de leds en secuencia con bucle for
x=0; //valor de regreso a cero para su reinicio

 Circuito de 3 displays
a) Contador de 0 a 559 ascendente
// Se declara un vector constante tipo entero
const int decoder []={63,6,91,79,102,109,124,7,127,103};//64,121,36,48,25,18,3,120,0,24
int unidad=0; //Se declara una variable de tipo Entero con el valor de 0
int decena=0; //Se declara una variable de tipo Entero con el valor de 0
int centena=0; //Se declara una variable de tipo Entero con el valor de 0
void setup() {
int pin; // Se declara una variable de tipo Entero
for(pin=1; pin<=10; pin++){ // Se establece todas las salidas que se van a utilizar
pinMode(pin, OUTPUT); // las cuales van desde el pin 1 hasta 10
}
}
void conmutar(){
digitalWrite(9, HIGH);// Asigan el valor de apagado al pin 9
digitalWrite(8, HIGH);// Asigan el valor de apagado al pin 9
display7(decoder[centena]); // Llama a la función display7() y manda un valor del vector decoder dependiendo
de decena
digitalWrite(10, LOW);// Asigan el valor de encendido al pin 8
delay(10);
digitalWrite(8, HIGH);
digitalWrite(10, HIGH);
display7(decoder[decena]);// Asigan el valor de apagado al pin 8
digitalWrite(9, LOW);// Asigan el valor de encendido al pin 9
delay(10);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
display7(decoder[unidad]);// Llama a la función display7() y manda un valor del vector decoder dependiendo
de unidad
digitalWrite(8, LOW);// Asigan el valor de apagado al pin 9
delay(2);
return;
}
void display7 (int valor){
digitalWrite(1, bitRead(valor,0)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(2, bitRead(valor,1)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(3, bitRead(valor,2)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

digitalWrite(4, bitRead(valor,3)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción


bitRead
digitalWrite(5, bitRead(valor,4)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(6, bitRead(valor,5)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(7, bitRead(valor,6)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
}
void loop() {
for(centena=0; centena<=5; centena++){ // genera numeros progeresivos desde el 0 hasta el 5
for (decena=0; decena<=9;decena++){ // genera numeros progeresivos desde el 0 hasta el 9
for (unidad=0; unidad<=9;unidad++){ // genera numeros progeresivos desde el 0 hasta el 9
conmutar();
if(centena==5 && decena==6){
centena=0; // Limita valores de centena
decena=0; // Limita valores de decena
unidad=0; // Limita valores de unidad
}// Llama a la funcion conmutar()
}
}
}
}
b) Contador de 559 a 0 descendente

// Se declara un vector constante tipo entero


const int decoder []={63,6,91,79,102,109,124,7,127,103};//64,121,36,48,25,18,3,120,0,24
int unidad=0; //Se declara una variable de tipo Entero con el valor de 0
int decena=0; //Se declara una variable de tipo Entero con el valor de 0
int centena=0; //Se declara una variable de tipo Entero con el valor de 0
void setup() {
int pin,aux=0; // Se declara una variable de tipo Entero
for(pin=1; pin<=10; pin++){ // Se establece todas las salidas que se van a utilizar
pinMode(pin, OUTPUT); // las cuales van desde el pin 1 hasta 10
}
}
void conmutar(){
digitalWrite(9, HIGH);// Asigan el valor de apagado al pin 9
digitalWrite(8, HIGH);// Asigan el valor de apagado al pin 9
display7(decoder[centena]); // Llama a la función display7() y manda un valor del vector decoder dependiendo
de decena
digitalWrite(10, LOW);// Asigan el valor de encendido al pin 8
delay(10);
digitalWrite(8, HIGH);
digitalWrite(10, HIGH);
display7(decoder[decena]);// Asigan el valor de apagado al pin 8
digitalWrite(9, LOW);// Asigan el valor de encendido al pin 9
delay(10);
digitalWrite(10, HIGH);
digitalWrite(9, HIGH);
display7(decoder[unidad]);// Llama a la función display7() y manda un valor del vector decoder dependiendo
de unidad
digitalWrite(8, LOW);// Asigan el valor de apagado al pin 9
delay(2);
return;
}
void display7 (int valor){
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

digitalWrite(1, bitRead(valor,0)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción


bitRead
digitalWrite(2, bitRead(valor,1)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(3, bitRead(valor,2)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(4, bitRead(valor,3)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(5, bitRead(valor,4)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(6, bitRead(valor,5)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
digitalWrite(7, bitRead(valor,6)); // Asigna el valor de 1 o 0, dependiendo de lo que se obtenga en el Instrucción
bitRead
}
void loop() {
int aux;
for(centena=5; centena>=0; centena--){
if (centena==5 && decena==0){
aux=5;
}
else{
aux=9;
}
for (decena= aux; decena>=0;decena--){
// genera numeros progeresivos desde el 0 hasta el 9
for (unidad=9; unidad>=0;unidad--){ // genera numeros progeresivos desde el 0 hasta el 9
conmutar();
if(centena==0 && decena==0 && unidad==0){
centena=5;// Limita valores de centena
decena=5; ;// Limita valores de unidad
unidad=9; ;// Limita valores de unidad
}// Llama a la funcion conmutar()
}
}
}
}
CONCLUSIONES:
 Cuando se establecen los puertos de salida es necesario verificar cual es el indicado para obtener un
correcto funcionamiento
 Al realizar la configuración de los programas podremos entender de forma didáctica el uso de LEDS
y displays de 7 segmentos

RECOMENDACIONES:
 Para poder ejecutar la simulación de los programas debemos verificar bien el lugar de donde se guarda
el programa para no tener errores en su ejecución.
 Es recomendable conocer cuales son las partes de los display para que su funcionamiento sea el
óptimo.
BIBLIOGRAFÍA:

Diaz, J. A. (17 de Enero de 2016). iescamp. Obtenido de


http://www.iescamp.es/miarduino/2016/01/21/placa-arduino-uno/
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

Garcia, V. (26 de febrero de 2014). EPA. Obtenido de https://www.diarioelectronicohoy.com/blog/display-


multiple-de-7-segmentos
Torres, R. (29 de mayo de 2013). DiarioElectrico. Obtenido de
https://www.diarioelectronicohoy.com/blog/display-multiple-de-7-segmentos

ANEXOS:

Anexo1. Circuito contador de


0 a 559
CÓDIGO: SGC.DI.505
INFORME DE PRÁCTICAS DE VERSIÓN: 2.0
FECHA ULTIMA
LABORATORIO, TALLER O CAMPO. REVISIÓN: 12/04/2017

Anexo2. EPA

Anexo3.
ETOOLS
Anexo4. Electrómica Unicrom

Das könnte Ihnen auch gefallen