Fórum témák

» Több friss téma
Cikkek » MMA7260QT gyorsulásmérő használata AVR-rel
MMA7260QT gyorsulásmérő használata AVR-rel
Szerző: Fizikus, idő: Szept 21, 2010, Olvasva: 25862, Oldal olvasási idő: kb. 1 perc
Lapozás: OK   6 / 9

A grafikus adatábrázoló program egy kicsit módosított változata már mindhárom mért adat grafikonját egyszerre ábrázolja és a mért értékeket a képernyő alján ki is írja:

(a videóhoz kattints a képre)

A módosított grafikus adatábrázoló Processing kódja:

  1. // Mindharom mert adat egyszerre torteno abrazolasa
  2. import processing.serial.*;
  3. Serial myPort;
  4. int[] serialInArray = new int[3];                    
  5. int i = 1;                  
  6. int xpos, ypos, zpos = 0;
  7. boolean firstContact = false;
  8.  
  9. void setup ()
  10. {
  11.   size(500, 900);      
  12.   println(Serial.list());
  13.   myPort = new Serial(this, Serial.list()[2], 9600);
  14.   myPort.bufferUntil('\n');
  15.   background(0);
  16.   myPort.write('m');  
  17. }
  18.  
  19. void draw ()
  20. {
  21.   if (firstContact == false)
  22.   {
  23.     delay(300);
  24.     myPort.write('m');
  25.   }
  26. }
  27.  
  28. void drawGraph () {
  29.   int valueToGraph0 = 0;
  30.   int valueToGraph1 = 0;
  31.   int valueToGraph2 = 0;
  32.   valueToGraph0 = xpos;
  33.   stroke(255,0,0,150);
  34.   line(i, height/3, i, height/3 - valueToGraph0);
  35.   valueToGraph1 = ypos;
  36.   stroke(0,255,0,150);
  37.   line(i, 2*height/3, i, 2*height/3 - valueToGraph1);
  38.   valueToGraph2 = zpos;
  39.   stroke(0,0,255,150);
  40.   line(i, height, i, height - valueToGraph2);
  41. <p style="text-align: left">  if (i >= width-2)
  42. {
  43.     i = 0;
  44.     background(0);
  45. }
  46.   else
  47.   {
  48.     i++;
  49.   }
  50. }
  51.  
  52. void serialEvent(Serial myPort)
  53.  {
  54.   firstContact = true;
  55.   String myString = myPort.readStringUntil('\n');
  56.   if (myString != null)
  57.    {
  58.     myString = trim(myString);
  59.     int sensors[] = int(split(myString, ','));
  60.     if (sensors.length >= 3)
  61.     {
  62.       xpos = (sensors[0]*3/8);
  63.       ypos = (sensors[1]*3/8);
  64.       zpos = (sensors[2]*3/8);        
  65.       drawGraph();
  66.       myPort.write('m');  
  67.       println(sensors[0] + "," + sensors[1] + "," + sensors[2] );
  68.       delay(100);
  69.     }
  70.   }
  71. }


A cikk még nem ért véget, lapozz!
Következő: »»   6 / 9
Értékeléshez bejelentkezés szükséges!
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem