Microcontroladoes
Microcontroladoes
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
UNIVERSIDAD TÉCNICA DE
AMBATO
Facultad de Tecnologías de la
Información, Telecomunicaciones e
Industrial
“Práctica N° 7”
Tema: Práctica N° 7 “Aplicaciones MENÚ”
Carrera: Ingeniería Electrónica y
Comunicaciones
Unidad de Organización Curricular: Profesional
Línea de Investigación: Nanotecnología
Ciclo Académico y Paralelo: 7A IE
Integrantes:
Guamán Jefferson
Hurtado Steph
Yanchatipán Erika
Módulo y Docente:
Microprocesadores
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
lenguaje más comprensible por la mayoría de nosotros, C/C++ (la referencia básica al
lenguaje la encontramos aquí y ejemplos en esta ruta).
Existen más desarrollos que vendrán en un futuro, fusionando la potencia de las placas
arduino con placas madres de ordenador. Ofreciéndonos la posibilidad de crear multitud
de proyectos, con potencia y escalabilidad sin límites. [ CITATION ele19 \l 12298 ]
Cables PROTEUS
Arduino Mega
Pantalla LCD
16*2
Teclado
matricial 4*4
LM35
Potenciómetro
Resistencias
Leds
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Pulsador
Metodología:
ARDUINO
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Razones Características
Arduino es libre y extensible Cualquiera que desee ampliar y mejorar el
diseño hardware de las placas como el entorno
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
ARDUINO IDE
Arduino IDE es un editor de texto y compilador para programar y transferir el contenido
de las instrucciones a la placa de Arduino en su lenguaje máquina. El lenguaje de
programación utilizado es Processing.[ CITATION Pér15 \l 12298 ]
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Tipos de datos
char, short, int, long Representan enteros de distintos tamaños (los caracteres
son enteros de 8 bits)
float, double, long Representan números reales (en coma flotante).
double
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Repetición (bucles): nos permiten repetir una serie de operaciones hasta que se verifique
una condición o hayamos dado un número concreto de vueltas. [ CITATION Tal95 \l
12298 ]
Bucles
do-while instrucción de iteración con condición final
while instrucción de iteración con condición inicial
for instrucción de iteración especial (similar a las de repetición con
contador)
La Mega 2560 es una placa electronica basada en el Atmega2560. Cuenta con 54 pines
digitales de entrada / salida (de los cuales 15 se pueden utilizar como salidas PWM), 16
entradas analógicas, 4 UARTs (puertos serie de hardware), un oscilador de 16MHz, una
conexión USB, un conector de alimentación, un conector ICSP, y un botón de reset.
Contiene todo lo necesario para apoyar el microcontrolador; basta con conectarlo a un
ordenador con un cable USB o a la corriente con un adaptador de CA a CC o una batería
para empezar. La placa Mega 2560 es compatible con la mayoría de los shield para el
Uno y las placas anteriores Duemilanove o Diecimila.[ CITATION Del17 \l 12298 ]
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Microcontrolador: ATmega2560
Voltaje Operativo: 5V
Tensión de Entrada: 7-12V
Voltaje de Entrada(límites): 6-20V
Pines digitales de Entrada/Salida: 54 (de los cuales 14 proveen salida PWM)
Pines análogos de entrada: 16
Corriente DC por cada Pin Entrada/Salida: 40 mA
Corriente DC entregada en el Pin 3.3V: 50 mA
Memoria Flash: 256 KB (8KB usados por el bootloader)
SRAM: 8KB
EEPROM: 4KB
Clock Speed: 16 MHz
PANTALLA LCD
El LCD o pantalla de cristal líquido es un dispositivo empleado para la visualización de
contenidos o información de una forma gráfica, mediante caracteres, símbolos o
pequeños dibujos dependiendo del modelo. Está gobernado por un microcontrolador el
cual dirige todo su funcionamiento..[ CITATION And19 \l 3082 ]
Las pantallas LCD (Liquid Cristal Display) sirven para representar letras,
números y caracteres presentes en código ASCII.
El compilador C, y en general cualquier compilador, incorpora un fichero
(driver) para manejar fácilmente una pantalla LCD.
El archivo es nuestro caso es LCD.c y debe llamarse con un #include:
#include:#include LCD.c
Este archivo tiene varias funciones ya definidas:
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
TECLADO MATRICIAL
Características:
Teclado de 16 botones: A B C D # * 0 1 2 3 4 5 6 7 8 9
Conector estándar de 8 pines hembra paso 2.54mm mediante cable plano
flexible (FFC).
Fácil de programar.
Cinta adhesiva en la parte trasera.
Compatible con Arduino, Raspberry Pi, etc
El compilador C posee el driver KBD.c para manejar un teclado 3x4. Las
funciones que incorporan son las siguientes:
LM35
Figura 9: LM35
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
///////////////////////////////////variables contraseña//////////////////////////
char clave[5]; //Variable tipo char para, en forma de matriz de longitud 5
char clave_maestra[5]="0000"; //Variable tipo char, matriz de longitud 5 con
datos 0000
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
byte indice = 0; //Variable tipo byte, para contar el numero de digitos para la
contraseña
////////////////////////////////// LECTURA VOLTAJE ///////////
int analogInput9 = A0; //Definimos el pin analógico A0 para la lectura del
voltaje
float vout9 = 0.0; //Definimos la variable Vout e igualamos a cero
int value9 = 0;//Definimos la variable value e igualamos a cero
/////////////////////LM35///////////
int lm35 = A1; //Definimos el pin analógico A1 para la lectura del voltaje
float tem; //varable tipo float, para almacenar el valor leído del lm35
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
while(key == '1'){ //Bucle while hasta que key sea diferente de '1'
a = 1; //variable a empieza en 1
if (digitalRead(31) == HIGH){ //condicion if, cuando el pin 31 esta en alto va
a entrar a la condicion
while (a == 1){ //Bucle while hasta que a sea diferente de 1
digitalWrite(32,HIGH); //escribe en la salida del pin 32 un 1 logico
delay(300); //Retardo en milisegundos
if (digitalRead(31) == HIGH){ //condicion if, cuando el pin 31 esta en alto
va a entrar a la condicion
digitalWrite(32,LOW); //escribe en la salida del pin 32 un 0 logico
a = 0; //variable a empieza en 0
delay(1000); //Retardo en milisegundos
}
if([Link]() == '#'){ //condicion if, entra a la sentrenci cuando se pulse en
el teclado #
key = ' '; //Limpia la variable key
delay(10); //Retardo en milisegundos
a = 0; //variable a empieza en 0
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
}
digitalWrite(amarillo, LOW); //Escribe en en la variable un 0 logico
}
///////////////////////////////////////////////////
///// MENU 2 ////////////////////////////
void menu2() {
[Link](); // Borra pantalla
[Link](0,0); // Inicio del cursor
[Link]("VOLTAJE > 3"); //Escribe en la lcd el texto entre comillas en la
posicion indicada en la linea anterior
[Link](0,1); // Siguiente renglón.
[Link]("TEM > 4"); //Escribe en la lcd el texto entre comillas en la posicion
indicada en la linea anterior
[Link](9,1); // Siguiente renglón.
[Link]("MENU >#"); //Escribe en la lcd el texto entre comillas en la posicion
indicada en la linea anterior
}
///////////////////////////////////////////////////
///// LECTURA VOLTAJE ////////////////
void voltaje() {
[Link](); // Borra pantalla
while(key == '3'){ //Bucle while hasta que key sea diferente de '3'
value9 = analogRead(analogInput9); //Leemos el pin analógico A0
vout9 = (value9 * 5.0) / 1023.0; // Cálculo para obtener el Vout
[Link](0,0); //Pone al cursor en la posición indicada
[Link]("VOL:"); //Escribe en la lcd el texto entre comillas en la posicion
indicada en la linea anterior
[Link](4,0); //Pone al cursor en la posición indicada
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
void loop(){
key = [Link](); //Lee el valor que se pulse en el teclado y almacena en la
variable key
if (key){
clave[indice]=key; //almacena los datos de la variable key en la matriz clave
indice++; //Incrementa la variable en 1
[Link]("*"); //Escribe en la lcd el texto entre comillas en la posicion
indicada en la linea anterior
if (indice == 4){ //Sentencia if, entra si indice es iguala a 4
if(!strcmp(clave,clave_maestra)){ //Compara los valores de la variable clave
con la variable clave_maestra si son iguales entra
[Link](); //Limpia la pantalla lcd
[Link](1,0); //Pone al cursor en la posición indicada
[Link]("CLAVE CORRECTA"); //Escribe en la lcd el texto entre
comillas en la posicion indicada en la linea anterior
[Link](2,1); //Pone al cursor en la posición indicada
[Link]("BIENVENIDOS"); //Escribe en la lcd el texto entre comillas en
la posicion indicada en la linea anterior
delay(1000); //Tiempo de restardo en milisegundos
menu1(); //Se dirige a la funcion menu1
key = ' '; //Limpia la variable key
//////////////////////////////////////////
/////////////////FUNCION PRINCIPAL////////////////////////////////
while(true){
key = [Link](); //Lee el valor que se pulse en el teclado y almacena en la
variable key
if (key){
if (key == '1'){ // Ver LED
LED(); //Se dirige a la funcion LED
}
if (key == '2'){ // Ver SEMAFORO
semaforo(); //Se dirige a la funcion LED
}
if (key == '*'){ // Ver MENU 2
menu2(); //Se dirige a la funcion LED
}
if (key == '3'){ // Ver LECTURA VOLTAJE
voltaje(); //Se dirige a la funcion LED
}
if (key == '4'){ // Ver TEMPERATURA
temperatura(); //Se dirige a la funcion LED
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
}
if (key == '#'){ // Ver MENU 1
menu1(); //Se dirige a la funcion LED
}
}
}
}
else{
[Link](); //Limpia la pantalla lcd
[Link](0,0); //Pone al cursor en la posición indicada
[Link]("CLAVE INCORRECTA"); //Escribe en la lcd el texto entre
comillas en la posicion indicada en la linea anterior
delay(2000); //Tiempo de restardo en milisegundos
clave1(); //Se dirige a la funcion clave1
indice=0; //Pone al la variable en 0
}
}
}
}//Cierra void loop
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
1.9 Recomendaciones
Siempre realizar las conexiones de manera ordena y utilizando las respectivas
herramientas.
Revisar los esquemas si están bien realizados o bien estructurados para así poder
tener un sistema que funcione de manera correcta y adecuada y realice sus
funciones.
En la programación incluir las librerías necesarias para que funcione
correctamente y revisar que esta no tenga errores.
Comprobar el correcto funcionamiento de los materiales que vamos a utilizar en
la implementación física de la práctica.
1.10 Referencias Bibliográficas
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
[6] S. Talens, «Curso de programación en C++,» 28 Julio 1995. [En línea]. Available:
[Link] [Último acceso: 03 Julio 2020].
Presupuesto
Presupuesto Práctica N° 7
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Mega
Resistencias 8 0,05 $0,40
LED 7 0,05 $0,35
Pulsador 1 0,05 $0,05
LCD 16*2 1 4,00 $4,00
Teclado
1 3,00
matricial 4*4 $3,00
LM35 1 2,50 $2,50
Potenciómetr
1 0,15
o variable $0,15
Total: $25,45
Tabla 1: Presupuesto para la elaboración del circuito
Diagramas de flujo
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 01
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 02
Anexo N° 03
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 04
Simulación en Proteus
Anexo N° 05
Anexo N° 06
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 07
Proceso y Funcionamiento
[Link] clave [Link] cuando se ingresa [Link] cuando se ingresa
clave incorrecta clave correcta
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 08
Anexo N° 09
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 10
Anexo N° 11
Implementación Física
Anexo N° 12
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 13
Anexo N° 14
Anexo N° 15
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 16
Anexo N° 17
Anexo N° 18
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 19
Anexo N° 20
Anexo N° 21
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 22
Anexo N° 23
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 24
Anexo N° 25
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 26
Anexo N° 27
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 28
Anexo N° 29
Anexo N° 30
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE INGENIERÍA EN SISTEMAS, ELECTRÓNICA E INDUSTRIAL
CARRERA DE
PERÍODO ACADÉMICO: ABRIL / SEPTIEMBRE 2020
Cdla. Universitaria (Predios Huachi) / Casilla 334 / Telefax: 03-2851894 – 2411537, Correo Electrónico: [Link]@[Link]
AMBATO-ECUADOR
Anexo N° 31