Anuncio

Colapsar
No hay ningún anuncio todavía.

Traducción Matlab a Octave

Colapsar
X
 
  • Filtro
  • Hora
  • Mostrar
Borrar todo
nuevos mensajes

  • Octave Traducción Matlab a Octave

    Hola, estaba mirando como graficar las entradas del microcontrolador con octave. He visto este enlace que hace lo mismo pero con Matlab, he intentado copiarlo directamente a Octave a ver que pasaba. 1) Octave no trae de serie las funciones y por tanto hay que descargarse el paquete por separado, 2) no lo acaba de traducir bien.
    El texto que quiero traducir es:
    PD: la segunda linea la he añadido yo
    No me funciona la función scanf: valor_potenciometro=fscanf(puerto_serial,'%d')

    Código:
    function Arduino_octave(numero_muestras)
    pkg load instrument-control
    
    
    close all;
    clc;
    y=zeros(1,1000); %Vector donde se guardarán los datos
    
    %Inicializo el puerto serial que utilizaré
    puerto_serial=serial('/dev/ttyACM0',9600);
    
    %Abro el puerto serial
    fopen(puerto_serial); 
    
    %Declaro un contador del número de muestras ya tomadas
    contador_muestras=1;
    
    %Creo una ventana para la gráfica
    figure('Name','Serial communication: Matlab + Arduino. Mario Pérez Esteso')
    title('SERIAL COMMUNICATION MATLAB+ARDUINO');
    xlabel('Número de muestra');
    ylabel('Voltaje (V)');
    grid on;
    hold on;
    
    %Bucle while para que tome y dibuje las muestras que queremos
    while contador_muestras<=numero_muestras
            ylim([0 5.1]); 
            xlim([contador_muestras-20 contador_muestras+5])
            valor_potenciometro=fscanf(puerto_serial,'%d')
            y(contador_muestras)=(valor_potenciometro(1))*5/1024
            plot(contador_muestras,y(contador_muestras),'X-r')       
            drawnow
            contador_muestras=contador_muestras+1
    end
    
    %Cierro la conexión con el puerto serial y elimino las variables
    fclose(puerto_serial); 
    delete(puerto_serial);
    clear all;
    
    end
    En concreto la función scanf, deduzco que está en el paquete especializado en la lectura de datos... pero no sé como cambiarlo. El link de la descripción de las funciones es: http://octave.sourceforge.net/instru.../overview.html

    Estoy pensando que quizá tengo que escribir, para evitar posibles confusiones entre esta función y otra fopen que pueda traer por defecto octave.
    @octave_serial/fopen en vez de open, etc.

    Investigaré. Si alguno tiene alguna sugerencia y me pueda ayudar, queda agradecido.

    Muchas gracias por adelantado, Saludos.

    - - - Actualizado - - -

    Hola, no lo he podido solucionar lo que proponía en el hilo. Pero ya que he visto que las nuevas versiones del Arduino IDE (que por cierto, no vienen en el centro de software de Ubuntu) crean su propia gráfica, ya no me hace falta verlo en un programa externo.

    Gracias.
    [TEX=null] \vdash_T G \leftrightarrow Consis \; \ulcorner T \urcorner [/TEX]

Contenido relacionado

Colapsar

Trabajando...
X