Domanda

Sto provando a leggere i dati da un resistore di fotocellule e il mio Arduino Decimila e poi li grafo in tempo reale con Processing.

Dovrebbe essere dolorosamente semplice; ma sta diventando un po 'un incubo per me.

codice in esecuzione sul mio 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

}

codice in esecuzione in elaborazione:

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
}

Ho testato entrambi i bit di codice separatamente e so che funzionano. È solo quando provo a ricevere l'input da Arduino su Elaborazione che iniziano i problemi.

Quando visualizzo i dati in "Monitor seriale" di Arduino, ottengo un flusso costante di dati che sembra essere valido.

Ma quando leggo gli stessi dati tramite Elaborazione, ottengo un modello ripetitivo di valori casuali.

Halp?

È stato utile?

Soluzione

Potresti trasmettere quei dati con l'API Plotly Arduino, che insieme alla documentazione e all'installazione sono disponibili qui . Idea di base: puoi trasmettere in continuo dati dal tuo Arduino o trasmettere un singolo blocco.

Quindi, se desideri incorporarlo in un sito, ti consigliamo di prendere l'URL e utilizzare questo frammento:

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

Puoi modificare le dimensioni di larghezza / altezza in quello snippet. Nota: devi scambiare il tuo URL lì per farlo scorrere.

Ecco un esempio di come appare lo streaming dei dati Arduino

inserisci qui la descrizione dell'immagine

Informativa completa: lavoro per Plotly.

Altri suggerimenti

Dopo aver esaminato più da vicino le risorse a portata di mano, mi sono reso conto che il problema era già stato risolto per me dalla gente su http : //arduino.cc

  

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

Oh, quanto tempo avrei potuto risparmiare se l'avessi visto prima.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top