문제

광전지 저항과 Arduino Decimila의 데이터를 읽은 다음 처리와 함께 실시간으로 그래프하려고합니다.

고통스럽게 단순해야합니다. 그러나 그것은 나에게 약간의 악몽으로 자랍니다.

코드 내 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

}

처리 중입니다.

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
}

나는 두 조각의 코드를 별도로 테스트했으며 그들이 작동한다는 것을 알고 있습니다. Arduino의 입력을 처리하려고 할 때만 문제가 시작되도록 처리 할 때만 가능합니다.

Arduino의 "Serial Monitor"에서 데이터를 볼 때 유효한 것처럼 보이는 데이터의 일정한 흐름을 얻습니다.

그러나 처리를 통해 동일한 데이터를 읽으면 반복적 인 무작위 값 패턴을 얻습니다.

HALP?

도움이 되었습니까?

해결책

해당 데이터를 Plotly Arduino API로 전송할 수 있으며 문서 및 설정과 함께 사용할 수 있습니다. 여기. 기본 아이디어 : Arduino에서 데이터를 지속적으로 스트리밍하거나 단일 청크를 전송할 수 있습니다.

그런 다음 사이트에 포함 시키려면 URL을 잡고이 스 니펫을 사용하려고합니다.

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

해당 스 니펫의 너비/높이 치수를 변경할 수 있습니다. 참고 : 스트리밍을 위해 자신의 URL을 교체해야합니다.

Arduino 데이터를 스트리밍하는 방법의 예는 다음과 같습니다.

enter image description here

전체 공개 : 나는 줄거리를 위해 일합니다.

다른 팁

당면한 자원을 면밀히 살펴본 후에, 나는 사람들이 이미 나를 위해 문제가 해결되었다는 것을 깨달았습니다. http://arduino.cc

http://arduino.cc/en/tutorial/graph

오, 내가 더 일찍 본 적이 있다면 얼마나 많은 시간을 절약 할 수 있었습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top