Sei sulla pagina 1di 8

UNIVERSIDAD DEL ATLÁNTICO

FACULTAD DE INGENIERÍA
INGENIERÍA QUÍMICA

LABORATORIO DE CONTROL Y SIMULACIÓN DE PROCESOS


USANDO ARDUINO-MATLAB
JESÚS MIZGER - CRISTIAN LLANOS
FELIX ESCORCIA - MAURICIO ROJANO

PRÁCTICA Nº 3: LECTURA SERIAL DE UNA ENTRADA ANÁLOGA Y


ENCENDIDO DE LED POR PWM

1. INTRODUCCIÓN
La señal analógica es aquella que presenta una variación continua con el tiempo,
es decir, que a una variación suficientemente significativa del tiempo le
corresponderá una variación igualmente significativa del valor de la señal (la señal
es continua).
Toda señal variable en el tiempo, por complicada que ésta sea, se representa en
el ámbito de sus valores (espectro) de frecuencia. De este modo, cualquier señal
es susceptible de ser representada descompuesta en su frecuencia fundamental y
sus armónicos. El proceso matemático que permite esta descomposición se
denomina análisis de Fourier.
La modulación por ancho de pulsos (también conocida como PWM, siglas en
inglés de pulse-width modulation) de una señal o fuente de energía es una técnica
en la que se modifica el ciclo de trabajo de una señal periódica (una senoidal o
una cuadrada, por ejemplo), ya sea para transmitir información a través de un
canal de comunicaciones o para controlar la cantidad de energía que se envía a
una carga.
Un potenciómetro es un componente electrónico similar a los resistores pero cuyo
valor de resistencia en vez de ser fijo es variable, permitiendo controlar la
intensidad de corriente a lo largo de un circuito conectándolo en paralelo ó la caída
de tensión al conectarlo en serie. Un potenciómetro es un elemento muy similar a
un reóstato, la diferencia es que este último disipa más potencia y es utilizado para
circuitos de mayor corriente, debido a esta característica, por lo general los
potenciómetros son generalmente usados para variar el voltaje en un circuito
colocados en paralelo, mientras que los reóstatos se utilizan en serie para variar la
corriente.
2. OBJETIVOS

 Aprender a identificar una señal análoga.


 Identificar un sistema PWM.
 Aprender a medir señales análogas usando la tarjeta de adquisición de
datos.
 Medir de manera cualitativa la intensidad de un potenciómetro usando un
LED.

3. MATERIALES

- Tarjeta ARDUINO UNO R3.


- Cable USB.
- 3 LED.
- 3 resistencias de 1KΩ.
- Potenciómetro.
- Conectores rápidos MM.
- Protoboard.
- Computador.

4. ESQUEMA DE MONTAJE

Figura 1. Montaje del Potenciómetro. Tomado de Guía básica de Arduino.

2
Figura 2. Montaje del LED-PWM. Tomado de Guía básica de Arduino.

Figura 3. Montaje del Potenciómetro-LED-PWM. Tomado de Guía básica de Arduino.

3
5. PROCEDIMIENTO

5.1. Potenciómetro

5.1.1. Conecte la Tarjeta ARDUINO UNO R3 a su computadora personal por


medio del cable USB y verifique la conexión en la ventana del programa
ARDUINO, según lo dicho en la guía INSTALACION DE ARDUINO Y
ENLACE ARDUINO MATLAB.

5.1.2. Arme el respectivo circuito eléctrico tal y como se muestra en la Fig.1


mostrada anteriormente, respetando los puertos donde se hacen las
respectivas conexiones.

5.1.3. Abra el programa MATLAB y diríjase a la ventana del editor.

5.1.4. Escriba el código que se le suministra en esta guía en la parte CODIGO


1.

5.1.5. Presione el botón Run, localizado en el menú EDITOR (Parte superior


de la ventana de MATLAB).

5.1.6. Se deberá desplegar un gráfico donde se registrar la medida de la señal


dada por el potenciómetro. Esta va de 0 a 5V.

5.1.7. Mueva el regulador del potenciómetro para variar la lectura y verificar


que el montaje está bien armado.

5.2. LED-PWM

5.2.1. Conecte la Tarjeta ARDUINO UNO R3 a su computadora personal por


medio del cable USB y verifique la conexión en la ventana del programa
ARDUINO, según lo dicho en la guía INSTALACION DE ARDUINO Y
ENLACE ARDUINO MATLAB.

5.2.2. Arme el respectivo circuito eléctrico tal y como se muestra en la Fig.2


mostrada anteriormente, respetando los puertos donde se hacen las
respectivas conexiones.

5.2.3. Abra el programa MATLAB y diríjase a la ventana del editor.

5.2.4. Escriba el código que se le suministra en esta guía en la parte CODIGO


2.

4
5.2.5. Presione el botón Run, localizado en el menú EDITOR (Parte superior
de la ventana de MATLAB).

5.2.6. Se deberá ir encendiendo y apagando el LED de manera paulatina con


el transcurrir del tiempo.

5.3. Potenciómetro-LED-PWM

5.3.1. Conecte la Tarjeta ARDUINO UNO R3 a su computadora personal por


medio del cable USB y verifique la conexión en la ventana del programa
ARDUINO, según lo dicho en la guía INSTALACION DE ARDUINO Y
ENLACE ARDUINO MATLAB.

5.3.2. Arme el respectivo circuito eléctrico tal y como se muestra en la Fig.3


mostrada anteriormente, respetando los puertos donde se hacen las
respectivas conexiones.

5.3.3. Abra el programa MATLAB y diríjase a la ventana del editor.

5.3.4. Escriba el código que se le suministra en esta guía en la parte CODIGO


3.

5.3.5. Presione el botón Run, localizado en el menú EDITOR (Parte superior


de la ventana de MATLAB).

5.3.6. Se deberá ir encendiendo o apagando el LED paulatinamente a medida


que se mueva el regulador del potenciómetro.

CODIGO 1
clc
close all
clear all
%% Experiencia de adquisición de datos inmediata de un potenciómetro
% Se especifica el nombre de la tarjeta que identificará el Matlab
ar=arduino('COM3');
% Se crea una línea vacía de color rojo y ancho 2
l1=line(nan,nan,'Color','r','LineWidth',2);
%se definen los límites de la ordenada
ylim([-0.1 5.1])
grid
Fs=50;%Frecuencia de muestreo
N=1000; %Tamaño del vector
y=zeros(N,1);%Vector de entrada
%Se crea un vecto t de N valores linealmente espaciados desde 0 (N-1)/Fs
t=linspace(0,((N-1)/Fs),N);
%Variable arbitraria para iniciar el bucle

5
stop=1;
% Se definen los límites de la abscisa
xlim([0 ((N-1)/Fs)])
%Se define un pushbutton con un valor de variable stop=0
uicontrol('Style','Pushbutton','String','Parar','Callback','stop=0;')
%Función tic
tic
while stop
if toc>1/Fs
tic
%Los valores de y+1 se convierten en los valores de y
y(1:end-1)=y(2:end);
%Se calcula el valor de y mediante el analogread de la tarjeta
y(end)=ar.analogRead(0)*5/1023;
%Colocamos los valores de la abscisa y la ordenada con los
valores
%de t y y
set(l1,'Xdata',t,'Ydata',y);
%Fuerza a Matlab a hacer la gráfica inmdiatamente
drawnow

end
end

CODIGO 2
clc
clear all
close all
%% Experiencia encendido de un LED por PWM
%Se específica el nombre de la tarjeta que identificará el Matlab
ar=arduino('COM3');
%Se estima la variable brillo como 0 al principio
brillo=0;
%Se selecciona el intervalo de variación (entero) de brillo del LED
variacion=5;
%Se denota la variable led con el pin 9 o un pin que posea PWM
led=9;
%Especificación de la variable led como salida
ar.pinMode(led,'output')
%Variable arbitraria para iniciar el bucle
stop=1;
%Se define un pushbutton con un valor de variable stop=0
uicontrol('Style','Pushbutton','String','Parar','Callback','stop=0;')
while stop
%Lectura de la señal digital por PWM donde la intensidad es = brillo
ar.analogWrite(led,brillo)
brillo=brillo+variacion;
%Condicional que determina el cambio cuando alcanza los respectivos
%límites de la señal PWM. Recuerde que la señal PWM tiene límites
%0-255 y los valores deben ser enteros.
if brillo==0 || brillo==255

6
variacion=-variacion;
end
pause(0.1)
end

CODIGO 3
clc
clear all
close all
%% Experiencia encendido de un LED por PWM utilizando un potenciómetro
%Se específica el nombre de la tarjeta que identificará el Matlab
ar=arduino('COM3');
%Se denota la variable led con el pin 9 o un pin que posea PWM
led=9;
%Especificación de la variable led como salida
ar.pinMode(led,'output')
%Variable arbitraria para iniciar el bucle
stop=1;
%Se estima la variable brillo como 0 al principio
brillo=0;
%Se define un pushbutton con un valor de variable stop=0
uicontrol('Style','Pushbutton','String','Parar','Callback','stop=0;')
while stop
brilloled=brillo;
%Lectura digital por PWM de 0-255 (entero)
ar.analogWrite(led,brilloled)
%Lectura análoga del potenciómetro expresada en números enteros
brillo=ceil(ar.analogRead(0)*255/1023);
end

6. CASO DE ESTUDIO

6.1. El dueño de DISCOLO quiere implementar un sistema novedoso de


luces para su discoteca, el cual consiste en que las luces de la discoteca
se enciendan y se apaguen pero paulatinamente, es decir que vayan
aumentando o disminuyendo su intensidad con respecto al tiempo, para
ello se requiere de sus servicios como programador. Cree un código que
le permita a 3 LED´s encenderse y apagarse tal como se quiere.

6.2. El dueño de DISCOLO quedo encantado con su sistema de luces, por


ello quiere que usted implemente un sistema similar de encendido y
apagado de las luces pero usando un potenciómetro que regule la
intensidad de los LED. Proponga un código que permita regular la
intensidad de los 3 LED´s simultáneamente con un potenciómetro.

7
6.3. Se requiere un sistema que permita identificar cualitativamente el
aumento o disminución de la intensidad del volumen de un equipo de
sonido, observando el cambio de luces. Para ello se propone que tres
luces se enciendan y se apaguen a medida que se aumenta o disminuya
la intensidad del sonido; un LED que se encienda para un rango bajo,
uno para un rango medio y otro para un rango alto; y que además al
encenderse uno de los LED´s se apaguen los otros 2. Cree un código
que permita encender cada LED en un rango específico, que cambien
con mover el regulador del potenciómetro.

NOTA: Las señales analógicas varían en un rango de 0 a 255 (divídalo


en tres partes iguales).

7. BIBLIOGRAFIA

 MONK, Simon. 30 proyectos con Arduino. Madrid, España. (2012). 1ra


edición. Editorial Estribor, S.L. ISBN: 978-84-940030-0-4.
 Guía básica de Arduino. [en línea]. [27/06/2015]. Disponible en
http://www.tiendaderobotica.com/download/Libro_kit_Basico.pdf

Potrebbero piacerti anche