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ón de la imagen aquí

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