You are on page 1of 11

TRABAJO FINAL ACTIVIDAD 15

MARTIN EDUARDO VERJEL COLMENARES GRUPO 208008_34

TUTOR NGEL ALEJANDRO RODRGUEZ CAD AVANZADO PARA ELECTRNICA

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD CAED VALLEDUPAR 2013

INTRODUCCIN

Utilizando las herramientas vistas en el programa de CAD avanzado para electrnica, se desarrollara la solucin al problema planteado, lo cual para el diseo e implementacin del proyecto las especificaciones y condicin de diseo las siguientes tareas: 1. En Matlab o Scilab realice un programa que capture el valor de una resistencia a graficar y la base a la cual desea convertir dicho valor (base 2, 3, 4, 8, 16 el que desea el usuario) . 2. El valor de la resistencia debe convertirse a la base que el usuario defini y exportar dicho dato a un archivo de Excel 3. Disear un instrumento virtual en Labview que recupere los datos de la resistencia en la base que el usuario defini. 4. El VI debe convertir el nmero a base 10. 5. Graficar los colores de la resistencia resultante e imprimir el valor. 6. Finalmente el VI debe mostrar dos valores comerciales cercanos al valor calculado.

ALGORITMO DE DESARROLLADO EN MATLAB

Inicio

CLC

Leer Resistencia Leer Base

Div = Resistencia/base modulo = mod(Resistencia ,base)

Div>=Base?

SI

SI
Div /= 0?

X= mod(Fix(Div) ,base) modulo = [X modulo] Div = Resistencia/base

modulo = [modulo Div]

modulo

Guardar en Excel

Fin

CDIGO DE MATLAB
%% Programa de CAD Avanzado %% este algoritmo es para cambiar de un numero base 10 a cualquier base que el usuario elija. Clc %Borrar espacio de trabajo Resistencia = input('Digite el valor de la resistencia: '); %Guarda el valor de la resistencia escrito por teclado Base = input('Digite la base a convertir: '); %Guarda el valor de la base escrito por teclado

Div=Resistencia/Base; %Primera divisin modulo=mod(Resistencia,Base) ; %Se guarda el residuo de la divisin %el siguiente while realiza divisiones sucesivas guardando el residuo en la variable modulo como vector hasta que el cociente de la divisin sea menor que la base. while(Div>=Base) modulo = [modulo mod(fix(Div),Base)]; %Se guarda el residuo de la divisin en un vector Div= fix(Div/Base); %Se divide nuevamente end %si la ultima divisin el cociente es diferente de cero es el ultimo numero que se debe de guardar como residuo. if(Div ~= 0) modulo=[ modulo Div]; end %como se guardo el numero convertido en l base pero al revs, se debe realizar una traspuesta del numero reordenndolo. modulo2 = zeros(size(modulo)); %Se crea la variable modulo2 para guardar el numero ordenado. y=length(modulo); %la variable y contienes el tamao del vector modulo para utilzarlo en el for %Iteracion para realizar el cambio de posiciones y hacer como un espejo del vector. Ordenarlos, la respuesta esta al revs. for x=0:(y-1) modulo2(y - x) = modulo(x+1); %Se realiza el guardado del numero end

datos2 = {Base, y}; %Variable que se crea para contener los datos a guardar el archivo en excel.

%la siguientes lneas se realiza la impresin en pantalla del numero convertido y la ordenacin de los datos para guardarlos en el archivo excel. fprintf('El numero %.0f convertido en base %.0f es ',Resistencia,Base); for x=1:y fprintf('%.0f',modulo2(x)); %imprime en pantalla del workspace residuo a residuo datos2 = [datos2 modulo(x)]; %Se guarda los datos para excel end fprintf('. \n'); %fin de la impresin de datos y guardado. xlswrite('test.xls', datos2, 1, 'A1') % lnea que guarda los datos en excel

INTERFAZ DEL VI

DIAGRAMA DE BLOQUES

BLOQUE 1:

Bloques que abren el archivo Excel

Bloques que buscan en el archivo Excel y leen los datos del rango especificado

Boque que cirralos procesos de Excel

Bloque que convierte los datos ledos en Excel a un arreglo de datos de 2 dimensiones Directorio donde se encuentra el archivo en Excel Rango donde se encuentra los datos en Excel y conversin de las coordenadas

Bloque 2:

Bloque que extrae de un arreglo 2D para convertir en 1D vector

Bloque que convierte de arreglo a claustre y extraccin de los dos primeros datos La Base y el nmero de posiciones a leer

Bloque que extrae el valor de un elemento x del vector

Multiplicacin de dato y la potencia y acumulacin de las sumas de los resultados


For que extrae elemento por elemento el dato convertido para realizar la multiplicacin por su potencia (B^N) y la suma de cada resultado para obtener el valor en potencia 10 Diagrama que realiza la potencia acorde a la posicin de extraccin de dato

BLOQUE 3:

Comparador para detener el bucle hasta que la potencia sea mayor que el nmero

Switch que contiene el cdigo de extraer los dos ltimos dgitos de la resistencia adems de la potencia que contiene

Diagrama que realiza los potencias de 10 para saber el rango de escala del dato

BLOQUE 4:

Switch que contiene los colores del 0 al 9 para la respectiva visualizacin de la banda

bloque que cambia la propiedad del color del LED

LED para visualizacin de los colores de las bandas

Switch que contiene los colores del 0 al 9 para la respectiva visualizacin de la banda

Switch que contiene los colores del 0 al 9 para la respectiva visualizacin de la banda

CONCLUSIONES

La experiencia fue excelente al realizar el desarrollo del proceso del proyecto, se reforz la enseanza de Matlab al crear el cdigo de la captura de la resistencia y el guardado en un formato y programa comnmente usado para la portabilidad de los archivos. Tambin las interacciones y comunicacin con otros programas como Excel para recuperar los datos guardados y realizar las especificaciones en LABVIEW. Al final se realiz el producto con xito, con dificultades en el proceso de obtencin de datos y adems de la creacin del algoritmo de generar las potencias y recuperar el dato en potencia 10.

REFERENCIAS BIBLIOGRFICAS

HELP DE LABVIEW. www.ni.com. MODULO CAD AVANZADO PARA ELECTRNICA UNAD. http://forums.ni.com/t5/Discusiones-sobre-Productos-NI/como-importardatos-de-excel-a-labview/td-p/914208

You might also like