Arduino - Arduino Matlab sensor de temperatura y servo

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 28 puestos en Arduino (en relación al último mes)
Gráfica de Arduino

Arduino Matlab sensor de temperatura y servo

Publicado por Alejandro (2 intervenciones) el 10/06/2017 06:09:46
Tengo un problema

Tengo que mover un servo desde un GUID de matlab y ver la temperatura de un sensor DS18B20.

Lo que tengo para el control del servo es lo siguiente
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
a=arduino('COM5');
arduino.servoAttach(3);
 
contents=get(handles.control,'String');
Control=contents{get(handles.control,'Value')};
 
switch Control
    case 'Nivel Bajo'
        X=(180/5);
    case 'Nivel Medio a Bajo'
        X=(180/5)*2;
    case 'Nivel Medio'
        X=(180/5)*3;
    case 'Nivel Media a Alto'
        X=(180/5)*4;
    case 'Nivel Alto'
        X=180;
end
 
arduino.servoWrite(3, X)

Y para lo del sensor requeriria lectura del sensor DS18B20 para ponerlo en una grafica normal X vs Y, igual tomando datos de 2 rangos de temperatura y dar un comentario para cambiar al servo, esto con tema de desicion.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
a=arduino('COM5');
%grafica de temperatura vs tiempo tomando lectura del sensor
while time<100;
    time=time+1;
    Tmax=str2num(get(handles.tmax,'string')); %toma de datos de Temperatura maxima del proceso
    Tmin=str2num(get(handles.tmin,'string')); %toma de datos de temperatura minima del proceso
    temp=a.analogRead(0); %En el pin 0 se toma la lectura
    T=temp*181/1023; %El sensor es de -55 °C a 125 °C dando 181 datos
    plot(time,T,'b',time,Tmax,'r',time,Tmin,'g'); %grafia Temperatura con rangos minimo y maximo
    xlabel('Temperatura (°C)');
    grid on;
    %Desicion para la controlar el servo y subir o bajar el flujo de la
    %bomba, esto en base a un comentario para el usuario
    if (Tmax>T & Tmin<T)
        Comentario='Dentro del rango';
    elseif (Tmax>=T & Tmin<T)
        Comentario='Sobre el Rango \n Aumente el Flujo de la bomba';
    elseif (Tmax<T & Tmin>=T)
        Comentario='Debajo del rango \n Baje el Flujo de la bomba';
    end
    set(handles.,'String',Comentario);
    set(handles.treal,'String',T);
end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder