Professional Documents
Culture Documents
EVALUACIÓN FINAL
PRESENTADO POR:
FLOR MARINA CARILLO REYES
CÓDIGO 68302853
GRUPO: 203036A_34
PRESENTADO A:
JUAN MONROY
DIRECTOR DE CURSO
MÓDULO:
SOFTWARE INGENIERIA
CÓDIGO CURSO: 203036A_291
1
CONTENIDO
INTRODUCCIÓN ............................................................................................................... 3
CONCLUSIONES ............................................................................................................ 16
2
INTRODUCCIÓN
En ese sentido, el presente trabajo busca aplicar la teoría a la práctica los conocimientos
de fundamentos de software en el modelamiento matemático con Matlab desarrollando
una solución a un problema de ingeniería respecto al control y monitoreo de los tiempos
de duración de los procesos en curso en la sección de pinturas de una fábrica de
carrocerías.
3
PRODUCTO ACADÉMICO ACTIVIDAD INDIVIDUAL EVALUACIÓN FINAL
PROBLEMA A RESOLVER
4
Para llevar a cabo la solución el problema se selecciona en la matriz de 5x10 mediante
los siguientes comandos:
zeros=ones(5,10);
Matriz de ceros: A veces es útil crear una matriz de ceros. Cuando se usa la función
zeros con un solo argumento escalar de entrada, se genera una matriz cuadrada.1
1
MATLAB Para Ingenieros (Holly Moore).pdf
2
MATLAB.&.Simulink.Para.Ingenieria-Miguel.Ataurima.Arellano.pdf
5
2. DESCRIPCIÓN DE LA SOLUCIÓN A NIVEL DE ALGORITMO.
CONSICIONALES
SI
TIEMPO >= 3 0 ==3
INICIO DEL PROCESO N
GENERAR MATRIZ LED’S
SEGÚN EL PROCESO (P1,P2,P3,P4)
SINO
MUESTRE MENSAJE DE ALERTA AL USUARIO
ALERTA: NO ES UN PARAMETRO CORRECTO
PAUSAR
FIN
6
clc %Inicio el programa limpiando todo lo que hay en la ventana de comandos.
% Declaro las variables a utilizar en el programa.
N=180;
aviso=100;
tiempo_ini=1;
tiempo_fin=3;
zeros=ones(5,10);
led=zeros(5,10);
%Matriz de leds para cada uno de los procesos
P1=[1 1 1 0 1 1 0 1 1 1; 1 0 1 0 0 1 0 0 0 1; 1 1 1 0 0 1 0 0 1 1; 1 0 0 0 0 1
0 0 0 1; 1 0 0 0 0 1 0 1 1 1];
P2=[1 1 1 0 1 1 0 1 1 1; 1 0 1 0 0 1 0 0 0 1; 1 1 1 0 1 1 0 0 1 1; 1 0 0 0 1 0
0 0 0 1; 1 0 0 0 1 1 0 1 1 1];
P3=[1 1 1 0 1 1 0 1 1 1; 1 0 1 0 0 1 0 0 0 1; 1 1 1 0 1 1 0 1 1 1; 1 0 0 0 0 1
0 0 0 1; 1 0 0 0 1 1 0 1 1 1];
P4=[1 1 1 0 1 0 1 1 1 1; 1 0 1 0 1 0 1 0 0 1; 1 1 1 0 1 1 1 1 1 1; 1 0 0 0 0 0
1 0 0 1; 1 0 0 0 0 0 1 1 1 1];
%========================================================================
%Creo el Proceso 1
T1=input('Ingrese el rango de tiempo estimado para el inicio del PROCESO 1
(segundos) \n ')
%disp('T1');%Capturo el valor por teclado
if (T1==3 || T1>=3) %Aplico operadores logicos para evaluar que el tiempo
ingresado no sea menor que 3
disp('MATRIZ DE LED ENCENDIDA - PROCESO1');%Muestra en pantalla el incio
del P1
MATRIZ=P1;
disp(MATRIZ);
%Genero Numero en codigos binarios para el proceso 1
res= input('se genera el codigos binario de 11 bits por medio de la conversion
2 Decimal a Binario: ');
if (res==T1);
disp('error, el tiempo en P1 es demasiado corto')
input('');
else
nudec = T1;
nubin = dec2bin(nudec,11);
fprintf('codigo_1 %d en binario es %s \n',nudec,nubin);
end
7
pause(1.00); %Genero una pausa para mostrarle
clc
end
%========================================================================
%Inicio del Proceso 2
try
T2=input('Ingrese el rango de tiempo estimado para el inicio del PROCESO 2
(segundos) \n ')
if (T2==3 || T2>=3) %Aplico operadores logicos para evaluar que el tiempo
ingresado no sea menor que 3
disp('MATRIZ DE LED ENCENDIDA - PROCESO 2');%Muestra en pantalla el incio
del P1
MATRIZ=P2;
disp(MATRIZ);
%========================================================================
%Inicio del Proceso 3
try
8
T3=input('Ingrese el rango de tiempo estimado para el inicio del PROCESO 3
(segundos) \n ')
if (T3==3 || T3>=3) %Aplico operadores logicos para evaluar que el tiempo
ingresado no sea menor que 3
disp('MATRIZ DE LED ENCENDIDA - PROCESO 3');%Muestra en pantalla el incio
del P1
MATRIZ=P3;
disp(MATRIZ);
%========================================================================
%Inicio del Proceso 4
try
T4=input('Ingrese el rango de tiempo estimado para el inicio del PROCESO 4
(segundos) \n ')
if (T4==3 || T4>=3) %Aplico operadores logicos para evaluar que el tiempo
ingresado no sea menor que 3
disp('MATRIZ DE LED ENCENDIDA - PROCESO 4');%Muestra en pantalla el incio
del P1
MATRIZ=P4;
disp(MATRIZ);
9
res= input('se genera el codigos binario de 11 bits por medio de la conversion
2 Decimal a Binario: ');
if (res==T4);
disp('error, el tiempo en P3 es demasiado corto')
input('');
else
nudec = T4;
nubin = dec2bin(nudec,11);
fprintf('codigo_1 %d en binario es %s \n',nudec,nubin);
end
end
end
%Fin del proceso 4
%=======================================================================%
Iniciamos a ejecutar el proceso uno (1) ingresando por teclado el tiempo de 3 segundos
como se muestra en la ventana de comandos:
10
La matriz de led se representaría encendía con los números uno (1) y ceros (0) leds
apagados.
Se genera la siguiente matriz:P1=[1 1 1 0 1 1 0 1 1 1; 1 0 1 0 0 1 0 0 0 1; 1 1 1 0 0 1 0 0
1 1; 1 0 0 0 0 1 0 0 0 1; 1 0 0 0 0 1 0 1 1 1];
1110110111
1010010001
1110010011
1000010001
1000010111
La matriz de led se representaría encendía con los números uno (1) y ceros (0) leds
apagados.
11
Se genera la siguiente matriz: P2=[1 1 1 0 1 1 0 1 1 1; 1 0 1 0 0 1 0 0 0 1; 1 1 1 0 1 1 0
0 1 1; 1 0 0 0 1 0 0 0 0 1; 1 0 0 0 1 1 0 1 1 1];
1 1 1 0 1 1 0 1 1 1;
1 0 1 0 0 1 0 0 0 1;
1 1 1 0 1 1 0 0 1 1;
1 0 0 0 1 0 0 0 0 1;
1 0 0 0 1 1 0 1 1 1;
1 1 1 0 1 1 0 1 1 1;
1 0 1 0 0 1 0 0 0 1;
1 1 1 0 1 1 0 0 1 1;
1 0 0 0 0 1 0 0 0 1;
1 0 0 0 1 1 0 1 1 1;
12
Se genera la siguiente matriz: P4=[1 1 1 0 1 0 1 1 1 1; 1 0 1 0 1 0 1 0 0 1; 1 1 1 0 1 1 1
1 1 1; 1 0 0 0 0 0 1 0 0 1; 1 0 0 0 0 0 1 1 1 1];
1 1 1 0 1 0 1 1 1 1;
1 0 1 0 1 0 1 0 0 1;
1 1 1 0 1 1 1 0 1 1;
1 0 0 0 0 0 1 0 0 1;
1 0 0 0 0 0 1 1 1 1;
4. RECOMENDACIONES Y SUGERENCIAS.
En MATLAB, una matriz se puede definir al escribir una lista de números n cerrada
entre corchetes. Los números se pueden separar mediante espacios o comas, a
discreción del usuario. (Incluso puede combinar las dos técnicas en la misma definición
de matriz.) Las nuevas filas se indican con punto y coma. Por ejemplo:
También se puede definir una matriz al hacer una lista de cada fila en una línea separada,
como en el siguiente conjunto de comandos MATLAB:
13
Incluso no necesita ingresar el punto y coma para indicar una nueva fila. MATLAB
interpreta
Matlab nos permite la programación con diferentes entornos en la cual propongo que las
posibilidades de aplicación a otros espacios serian con ARDUINO.
Nos permitirá programar leds, generar pantallas con mensajes mediante leds, Arduino es
una plataforma de hardware libre, basada en una placa con un microcontrolador y un
entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos
14
multidisciplinares. Su lenguaje de programación es Processing/Wiring. Pero se pueden
utilizar otros C, C#, Matlab, etc.3
% MATLAB
a=arduino('COM5');
a.pinMode(4,'input');
a.digitalRead(4);
% Leer varias veces, moviendo PushButton
delete(a);
Hacer un script, que leyendo un push button, mande encender/apagar un LED. Use
ciclo while.
Fuente(https://robologs.wordpress.com/2014/02/16/arduino-y-matlab-iii-lectura-de-
pines/)
3
http://extropynow.weebly.com/uploads/1/6/4/1/16411724/mi_dm2_u3.1.pdf
15
CONCLUSIONES
16
REFERENCIAS BIBLIOGRÁFICAS
17
Corcuera P. (27 de septiembre de 2016).Creación de interfaces de usuario con
Matlab. Recuperado de la URL
http://www.utm.mx/~vero0304/HCPM/GUI_Matlab.pdf
Videos:
18