Странные случайные данные, отправляемые с Arduino на Обработку

StackOverflow https://stackoverflow.com/questions/256228

  •  05-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь считывать данные с резистора фотоэлемента и моего 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, я получаю приятный постоянный поток данных, который, кажется, выглядит достоверным.

Но когда я считываю те же самые данные с помощью обработки, я получаю повторяющийся набор случайных значений.

Халп?

Это было полезно?

Решение

Вы могли бы передать эти данные с помощью 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