يتم إرسال بيانات عشوائية غريبة من 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 تذهب إلى المعالجة تبدأ المشاكل.

عندما أعرض البيانات في "Serial Monitor" في 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