You are on page 1of 25

Practica 3 Control de Arduino mediante una Guía de Interfaz de Usuario

Matlab.

Objetivos:

 Interactuar la tarjeta de hardware Arduino con el software Matlab a través


de una GUI.
 Entender los principios de comunicación serial de la tarjeta de hardware
Arduino.
 Usar las técnicas de control a través de la modulación por ancho de pulso
(PWM).

Introducción.

Creación de Interfaces Graficas de Usuario.

Una Interfaz Gráfica de Usuario (GUI) es una pantalla gráfica en una o más
ventanas que contienen controles llamados objetos, disponibles para realizar
tareas interactivas. Una GUI incluye: menus, botones, agrupaciones de botones,
cajas de texto y barras de deslizamiento. Todas la GUI pueden utilizar estas
herramientas para realizar algún tipo de computación, leer y escribir en archivos,
comunicarse con otras GUI´s y mostrar datos en tablas o gráficas.

En esta parte de Introducción se permite realizar una pequeña interfaz, dónde se


comunicará Arduino y Matlab es más una guía acerca de cómo empezar la
comunicación. A través de un sistema de adquisición de datos. Antes de empezar,
el software Matlab ya debe estar instalado

Abrimos Matlab. En la línea de comandos escribimos el comando guide. Este


comando permite abrir la ventana de herramientas para crear interfaces. La
ventana que aparecerá es la siguiente.
Figura 1. Pasos para comenzar a crear un Interfaz Gráfica de Usuario.

La imagen anterior muestra la ventana para crear una Guía de Interfaz de Usuario
en Matlab. Primero seleccionamos la pestaña Create New GUI, en esta pestaña
se tiene todos los parámetros necesarios para crear un proyecto nuevo. Elegimos
la opción por default que es Blank GUI (Default). Una vez que se han elegido los
parámetros seleccionamos la ubicación para guardar la Interfaz con un nombre de
la interfaz (arbitrariamente se genera el nombre untitled.fig pero puede ser
modificado). Como sugerencia, en nuestro caso guardaremos la interfaz en Mis
documentos y le nombraremos datos.fig. Damos click en OK y aparecerá la
siguiente ventana.

Se generarán dos archivos uno con nombre datos.fig y datos.m

En archivos datos.fig Se genera un pantalla en forma de figura, en esta pantalla


se tienen todos los controles como botones, graficas, cajas de texto, barras de
deslizamiento. En esta parte se presenta el diseño visual de cómo quedará
físicamente la interfaz. Cada uno de estos controles tienes características propias
tal como posición, largo, ancho, color, tipo de fuente, color de fuente, tamaño de
fuente, nombre del objeto entre otras.

En la imagen siguiente se muestra la ventana del archivo.fig en el que se trabaja


las tareas visuales de la interfaz.
Figura 2. Pantalla de diseño visual de la Interfaz Gráfica de Usuario y algunas
herramientas de la misma.

El archivo.m (datos.m) es una ventana donde se introduce el código que se quiere


realizar en la Interfaz. Por default Matlab genera el código necesario para generar
la pantalla de editor. Este código NO SE TIENE QUE BORRAR. Las herramientas
que se ingresan a la pantalla de la interfaz realizan diferentes tareas con base a lo
que queremos que realice nuestra interfaz. Por ejemplo si queremos que con un
botón se grafique la función sin(x), colocaremos en la interfaz un botón y un eje
para gráficas, al presionarse el botón se tiene que hacer la gráfica. Entonces el
código que realizará el graficado es la responsabilidad del botón y no de la gráfica,
por lo que el código sólo ira en la herramienta del botón. Así cada objeto tendrá un
código propio que se ejecutará al efectuarse un evento generado por el usuario.
Los eventos pueden ser: un click con el mouse o un enter con el teclado.

Entonces es en el archivo.m dónde se escriben todas las instrucciones que se


realizaran en la interfaz de Matlab. Así mismo se dice que la programación es
similar a la programación orientada a objetos. Si tenemos más objetos en una
interfaz y cada uno tiene su propio código de instrucciones, estos se efectuarán
sus propias instrucciones en el instante en que el usuario efectúa los eventos. Si
dos eventos se efectúan al mismo tiempo, ninguno afectará al otro, debido a que
son independientes. Lo anterior es el estilo de programación paralela o
concurrente en la que se pueden ejecutar dos o más programas al mismo tiempo
sin que uno afecte al otro.

Continuando con el diseña de la interfaz agregamos los siguientes objetos: 3


botones, 2 cuadros de texto estáticos, 3 cuadros de texto editables, y un eje para
graficar. Acomodaremos los objetos como se muestra en la Figura 3. Los objetos
se arrastran de la columna izquierda, una vez puestos sobre la pantalla de la
interfaz se puede modificar la posición y el tamaño con el mouse.

Figura 3. Objetos de la interfaz gráfica.

Sobre la interfaz se tienen varios objetos. Como se ve observa cada objeto tiene
un nombre visible en la interfaz y también debe tener un nombre dentro de la
programación de la misma. Elegimos el Push Button superior izquierdo y
accedemos a sus características de este objeto dándole doble click. Aparecerá
una ventana con todas las características de ese objeto como se muestra en la
siguiente figura.
Figura 4 Características del objeto Push Button.

Cada objeto tiene sus propias características sin importar que sean de la misma
clase de objeto. Estas características asignan un nombre propio a cada objeto.
Dentro de la ventana abierta nos enfocaremos a las características Tag y String.

Tag: Dentro de esta característica se le asigna un nombre en la programación y


String le da el nombre del botón y es visible en la pantalla de la interfaz.

Hasta el momento se tiene abierta la ventana con las características de un Push


Button. Este Push Button le asignaremos la tarea de conectarse con la placa
Arduino. En la característica Tag se tiene el nombre de pushbutton1, cambiamos
esta palabra por la palabra prende. En la característica String se tienen la palabra
Push Button la cambiamos por conectar. Como se muestra en la siguiente figura.

Figura 5 Cambiando el nombre de las características Tag y String del objeto


Push Button superior izquierdo.
Cerramos la ventana, vemos que ya hay un botón que ha cambiado con la palabra
conectar como se muestra en la siguiente figura.

Figura 6. Cambio de nombre al nombre Conectar.

Ahora cambiaremos las características Tag y String de todos los objetos de la


interfaz con base a los nombres de la siguiente Tabla 1 con relación a la Figura 7.

No. Objeto Tag String


1 Push Button apaga Desconecta
2 Push Button inicia Medir
3 Edit Text puerto COM
4 Edit Text tiempo 0
5 Edit Text muestreo 0
6 Static Text texto_tiempo Tiempo total
7 Static Text texto_muestreo Tiempo muestreo
8 Axes1 pantalla Este objeto no contiene esta
característica.
Tabla 1. Características a modificar de los objetos de la interfaz.
Recordemos que para hacer las modificaciones se debe hacer doble click para
acceder a las características del objeto que se desee modificar. La numeración de
los objetos de la tabla anterior es la siguiente:

Figura 7. Numeración de los objetos de la interfaz.

Una vez que se ha modificado las características Tag y String de la interfaz Se


tendrá la apariencia de la Figura 8. Esta ya es una apariencia muy básica de la
parte visual; aunque aún se pueden configurar otras características como posición,
tamaño, tipo y tamaño de letra, color de los objetos. Todas estas características
resultan de la creatividad del diseñador.
Figura 8. Apariencia final de la interfaz diseñada.

Una vez diseñada la apariencia es necesario generar el código del


comportamiento, haciéndonos la pregunta: ¿Qué es lo que queremos que haga
nuestra interfaz? Como primer paso, se diseñará una interfaz gráfica capaz de
adquirir datos de la tarjeta Arduino. Es necesario realizar la conexión entre Matlab
y Arduino a través del puerto serial, una vez hecha esta conexión abrir el puerto
solicitando datos a Arduino y que este entregue los datos a la interfaz. Con los
datos recibidos en la interfaz graficarlos en la pantalla. La interfaz será capaz de
leer el tiempo total de la adquisición de datos y el tiempo de muestreo de la
llegada de cada dato. Con base a los tiempos adquiridos se inicializará un
temporizador interno de Matlab que enviará in carácter ‘l’ de lectura, recopilando
datos con múltiplos del tiempo de muestreo.

Los únicos objetos que harán todo el trabajo son los tres botones, los demás
objetos son objetos esclavos, necesarios para recopilar y visualizar datos. Las
tareas asignadas para los tres botones son las siguientes:

 Botón Conectar: Lee el puerto serial de la caja de texto editable COM, una
vez leído el puerto crear el objeto puerto serial con velocidad de 9600.
Finalmente deja el puerto abierto con el fin de comunicar Arduino con
Matlab.
 Botón Desconectar. Únicamente cierra y elimina el puerto serial con el fin
de que otras aplicaciones puedan utilizarlo.
 Botón medir: Lee los valores tiempo total y tiempo de muestreo con el fin
de realizar la recopilación de los datos. Una vez leídos los datos inicializa
un temporizador que funciona como guía para recopilar datos con base a
los múltiplos de muestreo. El número total de datos a leer depende de la
división entre el tiempo total y el tiempo de muestreo.

Conforme avanza el tiempo se genera dos vectores, uno en el que se


guardan las divisiones de tiempo y otro donde se guardan los valores leídos
en esas divisiones de tiempo. Únicamente graficamos estos dos vectores
para visualizar los datos en la pantalla.

Regresando al diseño de la interfaz y como se mencionaba anteriormente: cada


objeto tiene su propio código que se ejecuta cuando presionamos con un click del
mouse o cuando presionamos enter en él. Dentro de la interfaz en Matlab se le
conoce como código ejecutable en el Callback.

Vayamos a la ventana donde se han colocado los objetos visibles de la interfaz y


seleccionamos el botón Conectar. Damos click derecho elegimos el menú View
Callback, se abre otra pestaña, en ella elegimos la opción Callback. Como se
muestra en la siguiente figura.
Figura 9. Callback del botón conectar.

Inmediatamente nos dirigirá al archivo.m (en nuestro caso datos.m), en la línea


dónde escribiremos el código que se ejecutará cuando sea presionado el botón
Conectar. Escribimos las siguientes sentencias:

% --- Executes on button press in prende.


function prende_Callback(hObject, eventdata, handles)
% hObject handle to prende (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global encendido
global puertoComunicacion
global s
%Obtenemos la cadena de caracteres que hay en el objeto puerto.
puertoComunicacion=get(handles.puerto, 'string')
%Eliminamos cualquier puerto de comunicación con el nombre deseado.
delete(instrfind({'Port'},{puertoComunicacion}));
%Declaramos al puerto serial con velocidad de 9600 baudios
s = serial(puertoComunicacion,'BaudRate', 9600,'Terminator','CR/LF');
%Enviamos un mensaje de error si no se encuentra el puerto
warning('off','MATLAB:serial:fscanf:unsuccessfulRead');
%Abrimos el puerto Serial
fopen(s)
%Actvamos una bandera que se ha abierto el puerto Serial
encendido=1
Para el botón desconectar hacemos lo mismo. Click derecho para acceder al
Callback como se muestra en la siguiente figura:

Figura 10. Callback del botón desconectar.

Igualmente nos aparecerá la ventana dónde escribiremos las instrucciones que se


ejecutarán cuando sea presionado el botón desconectar y escribimos lo siguiente.

% --- Executes on button press in apaga.


function apaga_Callback(hObject, eventdata, handles)
% hObject handle to apaga (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global encendido
global puertoComunicacion
global s
%Preguntamos si el botón de conectado se ha presionado
if(encendido==1)
%Cerramos el puerto Serial
fclose(s)
%Eliminamos cualquier puerto de comunicación con el nombre deseado.
delete(instrfind({'Port'},{puertoComunicacion}));
%Desactivamos la bandera encendido
encendido=0
end
Finalmente accedemos al Callback del botón medir como se muestra en la
siguiente figura, que es de igual manera que de los botones anteriores.

Figura 11. Callback del botón medir.

De igual manera nos aparece la pantalla dónde escribiremos las instrucciones que
se ejecutarán cuando se presiones con un click el botón de medir.

% --- Executes on button press in inicia.


function inicia_Callback(hObject, eventdata, handles)
% hObject handle to inicia (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global encendido
global s
%Preguntamos si el botón de conectado se ha presionado
if encendido==1
%Leemos el valor del tiempo total de la caja de texto de tiempo.
tiempoMaximo=str2double(get(handles.tiempo, 'string'));
%Leemos el valor del tiempo total de la caja de texto de muestreo.
tiempoMuestreo=str2double(get(handles.muestreo, 'string'));
%Inicializamos los multiplos del tiempo de Muestreo
multiplo=0
i=1
%Inicializamos el vector con las divisiones de tiempo
t=zeros(1, tiempoMaximo/tiempoMuestreo)
%Inicializamos el vector donde se guaradaran los datos,
%con base a las divisiones de tiempo.
senal=zeros(1, tiempoMaximo/tiempoMuestreo)
%Inicializamos el temporizador.
tic;
%Inicializamos el ciclo de recopilación de datos.
while toc<=tiempoMaximo
%Tiempo subindice i es igual al valor e tiempo en
%el justo instante del temporizador.
t(i)=toc;
%Verificamos los mutliplos de muestreo para realizar la lectura.
if multiplo<=t(i)
%Escribimos en el puerto seria un caracter 'l' de lectura.
fwrite(s, 'l');
%Leemos el dato entrante en el puerto Serial.
dato=fscanf(s, '%d');
%Ajustamos el dato entre un valor de 0 a 5.
senal(i)=dato*5/1023;
%Incrementamos el multiplo.
multiplo=multiplo+tiempoMuestreo;
%Nos auxiliamos de 2 vectores que graficarán los datos
%recopilados hasta el valor del subindice i.
for a=1:i
t_Auxilar(a)=t(a);
senal_Auxiliar(a)= senal(a);
end
%Accedemos a la pantalla.
axes(handles.pantalla);
%Graficamos la señal en la pantalla.
plot(t_Auxilar, senal_Auxiliar, 'Color','r','LineWidth',2);
%Ajustamos loes ejes de la pantalla.
set(handles.pantalla, 'XLim',[0 tiempoMaximo],'YLim',[0 6]);
%Dibujamos la cuadricula en la panatalla.
grid on
%Incrementamos el subíndice i.
i=i+1;
end

end
end

Como se muestra dentro del archivo datos.m hay más código generado sin
embargo NO DEBE SER BORRADO O ELIMINADO. En caso de hacerlo, es
posible que la interfaz tenga un error al momento de compilar. Hasta ahora ya
tememos diseñada la interfaz para la adquisición de datos con Arduino. Damos
click en el botón verde del datos.m o de datos.fig para correr la interfaz.
Automáticamente aparecerá una pantalla que es la aplicación de la interfaz
diseñada como se muestra en la siguiente imagen:
Figura 12 Interfaz diseñada para la adquisición de datos de Arduino.

¡¡URRA!! Hasta ahorita tenemos diseñada la interfaz, sin embargo, la otra parte es
conectar a Arduino. Empezaremos una aplicación básica que es registrar la señal
de un potenciómetro a través de la entrada A0 de Arduino. Armamos el circuito
mostrado en la siguiente figura.

Figura 13 Esquema de Arduino para realizar la adquisición de datos.


Conectamos nuestro Arduino a la computadora y cargamos el siguiente Sketch.
Nota. Antes de cargar el Sketch es necesario conocer la tarjeta Arduino y el puerto
Serial con el que estamos trabajando y hacer los cambios correspondientes
(Véase Práctica 1 Manipulación de leds y manipulación del Convertidor
Analógico Digital (CAD) de Arduino. Páginas 8 y 9. Figura 11 y 12).
Una vez cargado el Sketch cerramos el editor de Arduino. No olvidando el puerto
de comunicación Serial en el que está trabajando Arduino, lo utilizaremos en la
interfaz.

El primer paso que haremos en la interfaz (después de compilar y correr), será


escribir el puerto Serial donde se encuentra conectada la tarjeta Arduino. En
nuestro caso es el puerto COM15. En la interfaz hay una objeto que es una texto
editable que tiene la palabra COM, únicamente añadimos el número 15.

Figura 14. Escribiendo el puerto de comunicación en la interfaz para la


adquisición de datos.

Una vez que ingresamos el nombre del puerto damos click en el botón conectar
para crear y abrir el puerto Serial. Cuando la comunicación se hace correctamente
veremos una bandera de encendido con valor igual a 1 como se muestra en la
figura, lo que significa que el puerto serial se abrió correctamente.

Figura 15. Bandera que se debe ver en la línea de comandos en Matlab


después que se presionó el botón de Conectar.
*SI LA CONEXIÓN NO ES CORRECTA NO SE PUEDE CONTINUAR A LA
ADQUISICIÓN DE DATOS.

En caso de que no aparezca lo anterior en la línea de comandos, significa que hay


un problema en la comunicación y aparecerá lo siguiente en la línea de comandos.

Figura 16. Mensaje de error si la comunicación entre la interfaz y Arduino ha


sido incorrecta, después de presionar el botón desconectar.

Si estamos en la situación anterior debemos verificar algunas cosas para


resolverlo:

1. La tarjeta Arduino no está conectada a la computadora. La tarjeta debe


estar conectada a la computadora.
2. El puerto Serial que introdujimos es incorrecto. El puerto serial que se debe
introducir es el puerto en el que está conectada la tarjeta Arduino. Para
saber en qué puerto está conectada la tarjeta Arduino es necesario revisar
el administrador de dispositivos de la computadora. (Véase Práctica 1
Manipulación de leds y manipulación del Convertidor Analógico Digital
(CAD) de Arduino. Páginas 8 y 9. Figura 11 y 12).
3. El puerto Serial es el correcto, pero la comunicación no se realiza. Se debe
respetar las palabras con el que se introduce el puerto serial esto es
COMNúmero. La palabra COM debe ir forzosamente con mayúsculas, sin
espacio y el número del puerto. Debemos revisar si la palabra COM está
escrita con minúsculas, en caso de ser así cambiarlas por letras
mayúsculas.

Figura 17. Posición del botón conectar.

Una vez que la conexión se ha realizado correctamente, ingresamos el valor del


tiempo total de medición y el tiempo de muestreo. Introducimos los valores en las
cajas de texto editables. Las unidades en que se manejarán dentro de la interfaz
son en segundos. En la caja de tiempo total introducimos el valor de 30 y en la
caja de tiempo de muestreo introducimos 0.5. Significa que haremos una medición
de 30 segundos, recopilando muestras cada medio segundo.

El número de datos totales es igual a:

En la siguiente imagen se muestra los datos introducidos en la interfaz.


Figura 18. Parámetros de medición introducidos.

Una vez que se han introducidos los parámetros damos click en el botón medir.

Figura 19. Iniciar la medición en la Interfaz de adquisición de datos.


Automáticamente se ajustará la pantalla al rango de medición. Se empezará a
visualizar la señal y las variaciones del potenciómetro conectado a Arduino en un
tiempo real. La rapidez de la respuesta y el grafica depende del tiempo de
muestreo. Si el tiempo de muestreo es pequeño, la señala se visualiza de mejor
manera. Sin embargo como todo circuito electrónico tiene un límite ante la
velocidad de respuesta, habrá un tiempo de muestreo tan pequeño en el que la
tarjeta Arduino ya no pueda responder por lo que se sugiere que:

En la siguiente figura se muestra la gráfica con los parámetros sugeridos de un


tiempo total 30 segundos y un tiempo de muestreo igual 0.5 segundos.

Figura 20. Datos adquiridos a través de Arduino mediante una interfaz en


Matlab.
Podemos ir modificando el tiempo total y el tiempo de muestreo para ver la
sensibilidad de respuesta al recibir los datos. Para finalizar presionamos en el
botón desconectar para eliminar el puerto serial y otra aplicación pueda utilizarlo.

A partir de este momento el usuario ya se ha familiarizado con el desarrollo de


interfaces en Matlab, queda en su creatividad añadirle más tareas como añadirles
color a los botones, cambiar el tipo de letra, guardar los datos obtenidos o incluso
agregar más objetos que indiquen que Arduino está conectado.

Teoría.

Lo anterior fue una pequeña práctica teórica que queda a disponibilidad del
usuario si tiene las facilidades de desarrollarla o no, con el fin de dar una
introducción a la comunicación entre Arduino y Matlab. En esta práctica se sigue el
mismo objetivo: Controlar a Arduino desde un software de aplicación Matlab.

Referencias para Arduino.

Comunicación Serial.

Se puede utilizar la comunicación entre la placa Arduino hacia un ordenador u


otros dispositivos. Todas las placas Arduino tienen al menos un puerto serie y se
comunica a través de los pines digitales Rx, 0 y Tx, 1. Así que si se utilizamos
estas funciones, no se pueden utilizar los pines 0 y 1 como entradas o salidas
digitales. Las instrucciones más importantes para la comunicación serial son las
siguientes.

1.-Inicialización de la comunicación serial: Esta instrucción establece la


velocidad de datos en bits por segundo (baudios) para la transmisión de datos en
serie. Las velocidades necesarias para comunicarse con la PC son: 300, 1200,
2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 o 115200. Los valores
anteriores son el argumento de la instrucción, es muy común que siempre se
utiliza la velocidad de 9600.

Sintaxis:

Serial.begin(valorVelocidad);//Comunicación serial con velocidad baudios/segundos.

2.-Comunicación serial disponible: Se refiere a datos ya recibidos y disponibles


en el buffer de recepción del puerto serial (tiene una capacidad de 128 bits).
Cuando el puerto serial está disponible en el buffer hay un valor mayor o igual a
cero, cuando no está disponible en el buffer hay un valor de -1. Dentro de la
sintaxis, no se coloca ningún parámetro dentro del argumento.
Sintaxis:

Serial.available(); //Instrucción para confirmar si hay datos en el puerto serial.

3.-Escritura en el puerto serial: Imprime los datos al puerto serie como texto
ASCII seguido de un retorno de carro (tecla Intro). Dentro del argumento se
pueden colocar el valor que se desee transmitir en el puerto serial. Esta
instrucción facilita la salida de datos de Arduino hacia otros dispositivos.

Sintaxis:

Serial.println(valorTransmitido); //Escritura en el puerto serial.

4.-Lectura del puerto serial: Esta instrucción permite leer datos provenientes del
puerto serial. En la sintaxis no se coloca nada como parámetro. Esta instrucción
facilita la llegada de datos de un dispositivo externo hacia Arduino.

Sintaxis:

Serial.read(); //Lectura del puerto serial.

Referencias Matlab.

1.-Escribir en las características de un objeto.

Se puede ingresar a las carateristica de un objetos con la función set(). La sintasix


es la siguiente:

set(handles.NombreObjeto, ‘caracteristica’, valorAescribir)

2.-Obtener datos de las características de un objeto.

Se pueden obtener datos de las características de un objeto con la función get().


La sintaxis es la siguiente:

get(handles.NombreObjeto, ‘Caracteristica’)

3.- Crear un objeto de puerto serial.

Para crea un objeto de puerto serial es necesario asignar el nombre del puerto que
se desea abrir y la velocidad de transmisión de datos. La sintaxis en la siguiente.

PuertoserialObjeto=serial(‘NombrePuerto’, ‘BaudRate’, ‘Velocidad’, ‘Terminator’, ‘CR/LF’)

4.- Borra un puerto serial con el nombre a utilizar.


Antes de crear objeto puerto serial en Matlab es necesario eliminar los previos.
Para hacerlo, la sintaxis en la siguiente:

delete(instrfind({´Port´}, {´PuertoUtilizado´}))

5.- Abrir el puerto serial.

Una vez que se ha creado el puerto serial Objeto es necesario abrirlo para la
transmisión de datos. La manera en que se abre es la siguiente:

fopen(puertoSerialObjeto)

6.-Cerrar el puerto serial.

Cuando ya no se requieran flujo de datos en el puerto serial es necesario cerralo,


haciéndolo de la siguiente manera:

fclose(puertoSerialObjeto)

7.- Escribir en el puerto serial.

La escritura en Matlab al puerto serial se hace de la siguiente manera:

fwrite(puertoSerialObjeto, datoEscrito)
Desarrollo experimental.

Para comenzar se diseñará una interfaz en Matlab que pueda controlar la


velocidad de un motor. El material solicitado es el siguiente.

1. Material
 1 Tarjeta de hardware Arduino.
 1 Cable USB para Arduino.
 1 Motor de corriente continua de 5 volts.
 1 Pila de 9 volts.
 2 diodos 1N4001
 1 transistor con matricula IRF740.
 7 resistencias de 330 ohms a ¼ de watt.
 2 resistencias de 1Kohm a ¼ de watt.
 1 resistencias de 100 ohms a ¼ de watt.
 2 transistores PNP con matrícula BC547 o en su defecto
2N2222.
 2 display de cátodo común.
 Software Matlab.
 Lista de referencias de Arduino utilizados en la práctica dos.
 1 tablilla Protoboard.
 Alambre para protoboard
2. Esquema electrónico.

Armar sobre una tablilla protoboard el circuito de la figura 21. Es recomendable


tener un alambrado correcto y apropiado, tratando de distinguir con alambre de
color las conexiones importantes. ANTES DE INICIAR LA PRÁCTICA ES
NECESARIO LLEVAR EL CIRCUITO YA ARMADO.

Figura 21. Esquema de la práctica 3.

You might also like