Вы находитесь на странице: 1из 5

Control de nivel

Para el control de nivel se llevo acabo lo mismo que en el de temperatura solo que
ahora

Figura 8. Panel frontal de Nivel


Lo que se realiz en este programa fue un control mediante rangos en este caso de
nivel el cual se regula con un potencimetro acoplado a un flotador dentro de un
tanque.
El programa lo que hace es monitorear, y hacer el control de tres salidas digitales
las cuales se activan a determinado rango.
La primer condicin es cuando el tanque tiene de nivel >=0 y <=30 el nivel del
tanque es bajo, por lo tanto prendemos una bomba de agua para el llenado del
mismo. Cuando el nivel del tanque va de >=31 y <=65 el nivel del tanque es normal
y solo indicamos con una lmpara verde que el tanque est en su llenado estable.
Cuando el nivel del tanque va de >=66 y <=100 el tanque est en un nivel alto por lo
cual se activa una lmpara roja, esto se hace tanto en la interfaz de LabVIEW como
en fsico con el Arduino.

Objetivo Familiarizarse con el Software MATLAB conociendo el comando guide.


Lo que se realiz en esta prctica fue una calculadora cientfica y una suma de
vectores utilizando el comando Guide, esta herramienta sirve para disear GUIs
fcil y rpidamente para la presentacin de controles de la interfaz, reduciendo un
gran trabajo ya que puedes seleccionar, tirar, arrastrar y personalizar propiedades.

A continuacin mostramos el diseo final de nuestro GUIs.

Figura 9. Diseo de GUIs


Ya teniendo el diseo lo que se procede a hacer es ir al editor para programar la
funcin en cada callback de los botones como se muestra en la siguiente
programacin.
function uno_Callback(hObject, eventdata, handles)
% hObject
handle to uno (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles
structure with handles and user data (see GUIDATA)
textString=get(handles.text1,'String');
textString=strcat(textString,'1');
set(handles.text1,'String',textString)
Esta es la programacin del botn uno y as como se hace este botn,
tambin es en los siguientes botones como son del 0 al 9 el seno, coseno,
tangente, el botn salir, Ac etc., esto solo para la calculadora.
Para la programacin de la suma de vectores lo que se tiene que hacer es
declarar el eje xa y ya que mostrara las coordenadas de un vector as
como tambin se declaran xb y yb para el segundo vector. A continuacin
mostraremos la programacin de los vectores.
%%suma de vectores para Triangulo
f1 = str2double(get(handles.coordenada1,'String')); %% variables{
f2 = str2double(get(handles.coordenada2,'String'));
f3 = str2double(get(handles.coordenada3,'String'));
f4 = str2double(get(handles.coordenada4,'String'));
}
%%Coordenadas en X pariendo desde el origen

ax=[0 f1]; %% Vector 1{


ay=[0 f2];
}
bx=[ax(2) f3+ax(2)]; %% Vector 2{
by=[ay(2) f4+ay(2)];
}
cx=[0 bx(2)]; %%Resultante {
cy=[0 by(2)];
}
%%graficar
plot(ax,ay,bx,by,cx,cy);
hold on
ezplot(valor)
grid on
hold off
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

En la programacin declaramos 4
y f4, ests van de acuerdo a la
text editor. En realidad es una
para aprender a trabajar con la

variables que son f1, f2, f3


coordenada que se le de al
prctica muy sencilla, ideal
herramienta guide.

PROGRAMACION DEL CONTROL DE NIVEL EN MATLAB


Para el control de nivel se programa se usa la siguiente
lgica de programacin. El primer paso ser prender el led
rojo que indicara que el nivel de agua es demasiado bajo el
led rojo encender y mediante la entrada analgica A3 el
lmite que comprende este, es que cuando sea menor a 100 la

salida digital 13 prenda de lo contrario que se apague, para


el led verde (Salida Digital 12) es que si la entrada es
mayor a 1000 entonces encender el led de lo contrario que
se apague y por ltimo el led amarillo (Salida Digital 11)
en conjunto con una bomba para que suba el agua, la bomba
encender cuando la entrada sea menor a 100 y se apagara
cuando sea mayor a 1000.
% Programacin para activar o desactivar bomba

if a.analogRead(3) < 100


(led rojo)

%tanque vacio y prende bomba

a.digitalWrite(13,1);
else
a.digitalWrite(13,0);
end
if

a.analogRead(3) >1000

%led verde tanque lleno

a.digitalWrite(12,1);
else
a.digitalWrite(12,0);
end
%control bomba
if a.analogRead(3) < 100
bomba (led rojo)

%tanque vacio y prende

a.digitalWrite(11,1);
end
%%%%%%%%%%%%%%%%%
if a.analogRead(3) >1000
bomba (led rojo)

%tanque vacio y apaga

a.digitalWrite(11,0);

end
end

Вам также может понравиться