Go Down

Topic: Supernovato: Serial.print en un lugar fijo en la pantalla del pc (Read 932 times) previous topic - next topic

esdaba

Mar 30, 2013, 12:44 am Last Edit: Mar 30, 2013, 12:55 am by esdaba Reason: 1
Hola. Como veréis por mi pregunta, soy muy novato con arduino. Llevo todo el dia buscando y no encuentro solución a mi problema.
Vereis:
Necesito controlar varios voltajes, amperajes y tiempos y presentarlos en la pantalla del pc via Serial.print o similar, pero que dichos datos aparezcan siempre
en la misma posición en la pantalla, sin saltos de línea, tal y como se vería en un panel de instrumentos.
Es decir, algo como lcd.setCursor(x, y) de las librerías LiquidCristal pero aplicado a Serial.print.

Podríais decirme como hacerlo o donde encontrar información al respecto? (Si es posible en castellano.)

Gracias.

Edito: El problema es solo en la presentación, lo de las mediciones lo tengo resuelto. Utilizo el Monitor serial y el Hyperterminal.

maxid

Serial.print no imprime, sino que envia datos por serial, a un cliente. Este cliente es quien debe acomodar lo su tu le dices.
Te sugiero que hagas un sólo envió con todos los.valores separados por el carácter tab #9. Para algo simple. Sino una estructura de datos y un programa en pc que interprete y ponga los datos donde quieres
El que pregunta aprende, el que responde aprende a responder.

esdaba

Ante todo,gracias maxid por responder. Por lo que entiendo, no hay una orden directa para conseguir lo que pretendo, con lo que debo solucionarlo en propio programa que reciba los datos. Mientras encuentro uno que me permita hacerlo, he solucionado provisionalmente el tema de un modo muy "casero" rellenando mediante bucles for y Serial.print("\n"); los espacios sobre, entre, y por debajo de las líneas de datos. Se producen pequeños saltos al recibir los datos pero en el Hyperterminal y con una lectura cada 5 segundos,no son demasiado molestos.
Me voy a desempolvar los manuales de VisualBasic, pues algo me dice que los voy a necesitar.

Gracias de nuevo.

maxid

Si usas el hyperterminal haz una sola salida, separada por titulados.
Serial.print(dato1,#9,dato2,#9,dato3,........);
El que pregunta aprende, el que responde aprende a responder.


esdaba

maxid: no me acepta el carácter "#". Lo he probado de distintos modos, y nada. El programa es el mismo pero substituyendo todos los Serial.print por un solo
Serial.print(dato1,#9,dato2,#9,dato3,........); Me tira un monton de errores. Tal vez no lo hago bien.

Heke: Se ve interesante tu aporte. Bajando información sobre procesing.

Gracias a los dos.

maxid

Disculpa no estoy con el ide ahora, ponlo entre comillas, o usa una función chr(9), no recuerdo si esta en arduino, pero ea un Standard c
El que pregunta aprende, el que responde aprende a responder.

Go Up