Está en la página 1de 23

UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE

CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ

INFORME
PERIODO Septiembre 2019 –
ASIGNATURA: MICROCONTROLADORES Y PLC NIVEL: 6
LECTIVO: Febrero 2020
DOCENTE: Ing. Sixto Reinoso NRC: 2869 PRÁCTICA N°: 2
LABORATORIO DONDE SE DESARROLLARÁ LA
ELECTRÓNICA DIGITAL
PRÁCTICA:
TEMA DE LA
PRÁCTICA: MANEJO DE PULSADORES

INTEGRANTES: • Tercero Byron FECHA DE 25-11-2019


• Toapanta Erik ENTREGA:
INTRODUCCIÓN:

PULSADORES

Un interruptor es un dispositivo simple con dos posiciones, Encendido y Apagado Una clase de interruptor
que usted usa cada día es el interruptor de la luz. Cuando conecta, dentro del interruptor, dos cables son
unidos, lo que permite fluir a la corriente que enciende la luz o la tostadora se caliente. Cuando lo
desconecta, los dos cables son desunidos y corta el flujo de la corriente.

En definitiva, se trata de un mecanismo simple (los hay muy sofisticados), constituido por un par de
contactos eléctricos que se unen o separan por medios mecánicos. En electricidad, los falsos contactos
que se producen al ser utilizados normalmente, en algunos casos produce una chispa debido a la corriente
que atraviesa los contactos, provocando que quemen en parte y ennegreciendo los contactos eléctricos, lo
que a la larga acaba deteriorando dichos contactos. La chispa se produce siempre al separar los contactos
(desconectar), en ocasiones parece que también salta al conectarlos, eso es debido a los rebotes
mecánicos que se producen al cambiar de estado.

Esto que en electricidad se considera normal, en electrónica es un verdadero nido de problemas, debido a
dichos falsos contactos. Por su propia naturaleza, al cambiar de posición un interruptor, los contactos
chocan entre sí y esto significa una serie de falsos contactos que se reproducen de un modo sin control,
por lo que se generan los temidos rebotes (debounce en inglés), estos rebotes, se producen incluso cuando
unimos dos cables desnudos, simulando un interruptor o pulsador.

PULSADORES.
Estos pequeños pulsadores son un 1/4 ” por cada lado, son bastante económicos y se pueden ‘pinchar’
directamente en una placa de prototipado. Estos dispositivos mecánicos tienen 4 patillas, que pueden
hacernos pensar que hay 4 cables que son EN y AP, pero de hecho, dos de cada lado en realidad dentro
están unidos. Por tanto realmente, este pulsador es solamente un pulsador de 2 cables.
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ

En electrónica los rebotes suelen fastidiar a los intrépidos recién iniciados que creen en la teoría y sin embargo se
salta este punto en muchas ocasiones, lo que les lleva a recordar la importancia que tiene el antirrebote.

LECTURA DIGITAL.
Podemos usar el nuevo procedimiento digitalRead (), que solamente toma como entrada el pin a
examinar. El procedimiento digitalRead () devuelve un resultado cada vez que es leído. Dicho resultado
es 0 (BAJO) o 1 (ALTO) dependiendo de lo que vio cuando miró el voltaje del pin.

OBJETIVOS:

Objetivo General

Configurar el puerto como entrada para manejar pulsadores mediante la programación en Arduino para poder
ejecutar los programas.

Objetivos específicos

• Realizar circuitos de aplicación utilizando como valores de entrada los pulsadores.


• Simular los diferentes circuitos mediante el software Proteus para poder comprobar su funcionamiento.
• Implementar la programación Arduino en el Atmega 328 del circuito en el Protoboard para verificar el
funcionamiento de cada ejercicio del presente informe.

EQUIPOS Y MATERIALES:
HERRAMIENTAS MATERIALES Y EQUIPOS
NOMBRE CARACTERÍSTICA FIGURA

Arduino UNO • Microcontrolador ATmega328.


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

Protoboard El protoboard o tarjeta para prototipos


es un dispositivo muy utilizado para
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
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ


Resistencias

• 330R

LEDS • De distintos colores y funcionales

ISIS • Simulador instalado


• Versión mayor a la 8.0
• Instaladas las librerías

SOTFWARE • Entorno de desarrollo para


ARDUINO realizar la programación

FUENTE • DC regulada de 5v

PULSADORE • Normalmente Abiertos


S

DISPLAYS • 7 segmentos
• Ánodo común

INSTRUCCIONES:

1. Diseñe el programa y el circuito para emular las funciones lógicas: AND, OR, XOR. Debe haber dos
pulsadores como variables de entrada y un led como variable de salida.

a) AND
int estadoBoton1=0;//Declaracion de variables globales
int estadoBoton2=0;
int led=8;
int boton1=1;
int boton2=2;
void setup() {//Funcion que define el modo de trabajo de los pines
pinMode (led,OUTPUT);
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ


pinMode (boton1,INPUT_PULLUP);
pinMode (boton2,INPUT_PULLUP);
}
void loop() {//funcion repettiva de programa
estadoBoton1=digitalRead(1);//Instrucción que lee si el pulsador es presionado o no
estadoBoton2=digitalRead(2);
if(estadoBoton1 == LOW && estadoBoton2== LOW){//condición que realiza el encendido del led solo si los botones 1 y 2
son presionados presionado caso contrario se apagan
digitalWrite(led,HIGH);
}
else{
digitalWrite(led,LOW);
}
}
b) OR
int estadoBoton1=0;//Declaracion de variables globales
int estadoBoton2=0;
int led=8;
int boton1=1;
int boton2=2;
void setup() {//Funcion que define el modo de trabajo de los pines
pinMode (led,OUTPUT);
pinMode (boton1,INPUT_PULLUP);
pinMode (boton2,INPUT_PULLUP);
}
void loop() {//funcion repettiva de programa
estadoBoton1=digitalRead(1);//Instruccion que lee si el pulsador es presionado o no
estadoBoton2=digitalRead(2);
if(estadoBoton1 == LOW || estadoBoton2== LOW){//condicion que realiza el encendido del led solo si los botones 1 o 2
son presionados caso contrario se apagan
digitalWrite(led,HIGH);
}
else{
digitalWrite(led,LOW);
}
}

c) XOR

int estadoBoton1=0;//Declaracion de variables globales


int estadoBoton2=0;
int led=8;
int boton1=2;
int boton2=1;
void setup() //Funcion que define el modo de trabajo de los pines
{
pinMode (led, OUTPUT);
pinMode (boton1,INPUT_PULLUP);
pinMode (boton2,INPUT_PULLUP);
}
void loop()//funcion repettiva de programa
{
estadoBoton1=digitalRead(boton1);//Instruccion que lee si el pulsador es presionado o no
estadoBoton2=digitalRead(boton2);
if((estadoBoton1==HIGH && estadoBoton2==HIGH)||(estadoBoton1==LOW && estadoBoton2==LOW)){// //condicion que
realiza el apagado del led solo si ambos pulsadores estan en el mismo estado, caso contrario se encienden
digitalWrite(led,LOW);
}
else{
digitalWrite(led,HIGH);
}
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ


}
2. Escriba un programa para prender secuencialmente tres leds mediante un pulsador P1. Al pulsar P1, se prende
el led1, al pulsar una segunda vez se prende el led2 y al volver a pulsar P1 se prende el led3. Al pulsar P2 se
pagan los tres leds. Se pueden apagar los leds si todos están funcionando.

int led1= 13; //Declaracion de la variable "led1" inicializada en el pin 13


int led2= 12; //Declaracion de la variable "led2" inicializada en el pin 12
int led3= 11; //Declaracion de la variable "led3" inicializada en el pin 11
int P1= digitalRead(0); //Lee el estado del pin 0 para inicializar la variable "P1"
int P2= digitalRead(1); //Lee el estado del pin 1 para inicializar la variable "P2"
//Permite que al pulsar el "P1" y el "P2" no exista el rebote en la señal y permanezca estable
void antirrebote1()
{
while(P1==0)
{
P1 = digitalRead(0);
}
while(P2==0)
{
P2 = digitalRead(1);
}
}

void setup() {
// Configura los pines de entrada
pinMode(0,INPUT_PULLUP);
pinMode(1,INPUT_PULLUP);
//Configura los pines de salida
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
P1 = digitalRead(0);
P2 = digitalRead(1);
int a= digitalRead(led1); //Variable "a" que permite leer el estado en el que se encuentra el "led1"
int b= digitalRead(led2); //Variable "b" que permite leer el estado en el que se encuentra el "led2"
int c= digitalRead(led3); //Variable "c" que permite leer el estado en el que se encuentra el "led3"
//Condicion para la cual "P1" esta siendo pulsado y el "led1" esta apagado
if(P1==0 && a== 0 )
{
antirrebote1(); //llamado a la funcion antirrebote1
digitalWrite(led1,HIGH); //led1=1
}
//Condicion para la cual "P1" esta siendo pulsado y el estado del "led1" es 1
if(P1==0 && a== 1 )
{
//Condicion para la cual el estado del "led2" es igual a 0
if(b==0)
{
antirrebote1(); //llamado a la funcion antirrebote1
digitalWrite(led2,HIGH); //led2=1
}
}
//Condicion para la cual "P1" esta siendo pulsado y el estado del "led2" es 1
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ


if(P1==0 && b== 1 )
{
//Condicion para la cual el estado del "led3" es igual a 0
if(c==0)
{
antirrebote1(); //llamado a la funcion antirrebote1
digitalWrite(led3,HIGH); //led3=1
}
}
//Condicion para la cual "P2" esta siendo pulsado y el estado del "led1" es igual a 1
if(P2==0 && a== 1)
{
//Condicion para la cual el estado del "led2" es 1 y el estado del "led3" es igual a 1
if(b==1 && c== 1)
{
antirrebote1(); //llamado a la funcion antirrebote1
digitalWrite(led1,LOW); //led1=0
digitalWrite(led2,LOW); //led2=0
digitalWrite(led3,LOW); //led3=0
}
}
}
3. Se conectan 5 pulsadores y un display de 7 segmentos sin decodificador a un microcontrolador, que al accionar
los pulsadores en el display se indican los números y caracteres como se indica en la tabla. Cualquier otra
secuencia el display indica 0.
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ


UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ


UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ

4. Compile los programas y compruebe el funcionamiento en el simulador ISIS


ACTIVIDADES POR DESARROLLAR:
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ

1. Arme en el protoboard el circuito del punto 1 del trabajo previo. Cargue el programa compilado en el
Microcontrolador y verifique el funcionamiento.

• AND

• OR

• XOR
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ

2. Arme en el protoboard el circuito del punto 2 del trabajo previo. Cargue el programa compilado en el
Microcontrolador y verifique el funcionamiento.

3. Arme en el protoboard el circuito del punto 3 del trabajo previo. Cargue el programa compilado en el
Microcontrolador y verifique el funcionamiento.
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ

RESULTADOS OBTENIDOS:

1. Realice los diagramas de flujo para cada uno de los programas de la practica

Primer ejercicio
AND

OR
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ

X-OR
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ

Segundo ejercicio
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ


UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ


Tercer ejercicio
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ


UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ


UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ


UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ


UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ

2. Explique el funcionamiento de cada programa realizado.

Primer ejercicio

AND.- Una vez este el circuito diseñado este solo funcionara el led siempre y cuando se mantengan aplastados
los dos pulsadores caso contrario el led permanecerá apagado.

OR.- Una vez diseñado el circuito el led establecido funcionara cuando cualquiera de los dos pulsadores este
presionado o a su vez los dos estén presionados.

XOR.- Una vez diseñado el circuito el funcionamiento del led solo se realizara cuando exclusivamente un
pulsador cualquiera este activado, si los dos están activados o desactivados no se encenderá el led.

Segundo ejercicio

Al presionar un pulsador P1 se encenderá el primer led, al volver a presionar el mismo pulsador se


encenderá el segundo led, al presionar por tercera vez el mismo pulsador se encenderá el tercer led
y existirá un pulsador P2 el cual apagara los leds, los leds no pueden ser apagados mientras que
todos estén encendidos.
Tercer ejercicio
En el circuito existen 5 pulsadores los cuales al pulsar P1 cumple la función de contador de 0-9
Al pulsar P2 cumple la función de contador de 9-0
Al pulsar P3 existe un reset que lo pondrá en 0
Al pulsar P4 existirá un preset que se lo evidencia con un 9
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ


Al pulsar P1 y P2 a la ves en el display aparecerá la letra E
Al pulsar P1 y P3 a la ves en el display aparecerá la letra S
Al pulsar P2 y P3 a la ves en el display aparecerá la letra P
Al pulsar P2 y P4 a la ves en el display aparecerá la letra E
Al pulsar P2 y P5 a la ves en el display aparecerá la letra L

CONCLUSIONES:

• Si se tiene una programación adecuada se puede optimizar el espacio y tiempo de diseño y desarrollo
de cada uno de los programas a demás que se los puede comprender de manera adecuada y
organizada.
• La función que cumplen cada una de las compuertas lógicas AND, OR, y XOR, se lo representa a
través de la programación mediante un análisis correcto.
• Es importante ubicar la función correcta y adecuada para cada uno de los puertos de conexión de la
tarjeta Arduino con el fin de que cada uno desempeñe la acción correcta.

RECOMENDACIONES:

• Ubicar la simbología correcta al momento de realizar los diagramas de flujo de los programas
realizados, con el fin de representar la programación de manera comprensible.
• Reconocer la función que cumple cada uno de los pines y conexiones de la tarjeta Arduino de cada
uno de los programas con el fin de analizar de mejor manera el funcionamiento de los circuitos.

REFERENCIAS BIBLIOGRÁFICAS Y DE LA WEB:

- Angulo, J. (2003). Microcontroladores PIC: diseño práctico de aplicaciones. Madrid; España: McGraw-
Hill
- Garcìa, E. (2009). Compilador C CSS y simulador Proteus para microcontroladores PIC. Barcelona;
España: Marcombo.
- Valdes, F; Pallàs, R. (2007). Microcontroladores: fundamentos y aplicaciones con PIC. Barcelona;
España: Marcombo

ANEXOS
UNIVERSIDAD DE LAS FUERZAS ARMADAS – ESPE
CÓDIGO: SGC.DI.505
VERSIÓN: 1.0
DEPARTAMENTO: FECHA ULTIMA
REVISIÓN: 26/10/16

CARRERA: INGENIERÍA AUTOMOTRIZ

También podría gustarte