Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

comunicación entre arduino y labview por puerto serie

Saludos a toda la comunidad.

Escribo para ver si alguien puede ayudarme a resolver un problema entre la comunicación de arduino y labview. 

El programa que se adjunta a continuación pretende escribir una variable en el puerto serie para enviarla a arduino y, posteriormente, se busca leer esa misma variable desde arduino para mostrarla en labview. Este programa forma parte de uno mucho más complejo y, se ha realizado para comprobar que la comunicación entre arduino y labview es correcta. El problema es que el dato que yo envío a través de labview a arduino no es el mismo que arduino envía a labview. No sé cuál es el problema. Adjunto los dos códigos por si alguien pudiera ayudarme.

Muchas gracias de antemano.

Descargar todos
0 kudos
Mensaje 1 de 3
3.703 Vistas

Hola Luis, 

 

        Revisa la codificación que se puede utilizar en el Arduino, tal vez te lo esté mandando como una cadena de bits y tal vez lo quieres recibir como una variable String legible en, por ejemplo, UTF-8. Una explicación sencilla se da en Cast explanation, aquí te dejo el enlace a un foro que comenta al respecto Cast byte array to char. También revisa que a la tasa de bits que está escribiendo y recibiendo el Arduino sea aceptable con la de lectura en LAbVIEW, ya que puedes estar teniendo aliasing. Si pudieras adjuntar la consola y lo que estas recibiendo y enviando, sería de gran ayuda.

 

       Luego, trata de utilizar el 'Open' de VISA en vez del 'Clear' para que haya un mejor control de datos en el programa. Por otro lado, puedes utilizar el CLEAR antes del CLOSE para que en el buffer no quede ningún archivo viejo que pueda influir en la salida del String.

 

        Por último, te recomiendo la interfaz linx, dentro de la misma hay VIs que están optimizados para la comunicación con estos microcontroladores como Arduino, raspberry, entre otros. Tal vez por medio de esta interfaz, sea más facil la utilización del Arduino y puedas pasarte a LabVIEW sin necesidad de utilizar el IDE de Arduino y/o su lenguaje en script.

 

Espero que te sirva la info.

0 kudos
Mensaje 2 de 3
3.603 Vistas

Hola

 

    Es importante que valides los tipo de datos. No es lo mismo un numero en formato integer que en formato char. Puedes googlear ascii table para que veas como se hace dicha conversión y posiblemente entiendas mejor lo que esta pasando y lo identifiques en lo que estas viendo.

 

Saludos,

Luis A. Mata C.
Ing. Electrónico
Whatsapp: +58-414-1985579
BBM Pin: 2B83E99A
Thanks: Kudos
0 kudos
Mensaje 3 de 3
3.564 Vistas