Pregunta

Estoy intentando leer los datos de una resistencia de fotocélula y mi Arduino Decimila y luego graficarlos en tiempo real con Processing.

Debe ser dolorosamente simple; pero se está convirtiendo en una 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 Procesamiento:

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 que la entrada del Arduino vaya a Procesar comienzan los problemas.

Cuando veo los datos en " Serial Monitor & 'de Arduino, obtengo un 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?

¿Fue útil?

Solución

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

Luego, si desea incrustarlo en un sitio, querrá capturar la URL y usar este fragmento de código:

<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: debe intercambiar su propia URL allí para que se transmita.

Este es un ejemplo de cómo se ve la transmisión de datos Arduino

ingrese la descripci&oacute;n de la imagen aqu&iacute;

Revelación completa: trabajo para Plotly.

Otros consejos

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

  

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

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top