varios serial recibir puerto por octopus error enviar datos com6 com3 busy abriendo serial-port processing arduino

serial-port - serial - port busy octopus



Se envían datos aleatorios extraños de Arduino a Processing (2)

Después de examinar más de cerca los recursos disponibles, me di cuenta de que el problema ya había sido resuelto por la gente de http://arduino.cc

http://arduino.cc/en/Tutorial/Graph

Oh, cuánto tiempo podría haber ahorrado si hubiera visto eso antes.

Intento leer datos de una resistencia de fotocélula y mi Arduino Decimila y luego graficarlo en tiempo real con Processing.

Debería ser dolorosamente simple; pero se está convirtiendo en una pequeña pesadilla para mí.

código que estoy ejecutando en mi Arduino:

int photoPin; void setup(){ photoPin = 0; Serial.begin( 9600 ); } void loop(){ int val = int( map( analogRead( photoPin ), 0, 1023, 0, 254 ) ); Serial.println( val ); //sending data over Serial }

código que estoy ejecutando en Processing:

import processing.serial.*; Serial photocell; int[] yvals; void setup(){ size( 300, 150 ); photocell = new Serial( this, Serial.list()[0], 9600 ); photocell.bufferUntil( 10 ); yvals = new int[width]; } void draw(){ background( 0 ); for( int i = 1; i < width; i++ ){ yvals[i - 1] = yvals[i]; } if( photocell.available() > 0 ){ yvals[width - 1] = photocell.read(); } for( int i = 1; i < width; i++ ){ stroke( #ff0000 ); line( i, yvals[i], i, height ); } println( photocell.read() ); // for debugging }

He probado ambos bits de código por separado y sé que funcionan. Solo cuando trato de hacer que la entrada del Arduino vaya a Procesar, comienzan los problemas.

Cuando veo los datos en "Serial Monitor" de Arduino, obtengo un buen flujo constante de datos que parece ser válido.

Pero cuando leo esos mismos datos a través de Processing, obtengo un patrón repetitivo de valores aleatorios.

Halp?


Puede transmitir esos datos con la API Plotly Arduino, que junto con la documentación y la configuración están disponibles aquí . Idea básica: puede transmitir continuamente datos de su Arduino o transmitir un solo fragmento.

Luego, si desea insertarlo en un sitio, querrá tomar la URL y usar este fragmento:

<iframe id="igraph" src="https://plot.ly/~abhishek.mitra.963/1/400/250/" width="400" height="250" seamless="seamless" scrolling="no"></iframe>

Puede cambiar las dimensiones de ancho / alto en ese fragmento. Nota: necesita intercambiar su propia URL allí para que se transmita.

Aquí hay un ejemplo de cómo parece transmitir datos de Arduino

Divulgación completa: trabajo para Plotly.