Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

projektews2013:wwsr:start:wlangraph
wlangraph.pde
import processing.serial.*;
Serial myPort;
int posX=0;  //Die X-Koordinate des gezeichneten Graphen.
int varY=400;//Von diesem Wert werde ich die Y-Koordinate abziehen, um
             //das Koordinatensystem "umzudrehen".
boolean nachRechts=true;
boolean starten=false;
int start=99;
float winkel=0;
int wertezaehler=0;
float xPunkt=0;
float yPunkt=0;
 
void setup () {
 
  String[] portNames=Serial.list();
  println(portNames);
  myPort = new Serial(this, portNames[portNames.length-1], 115200);
 
  size(600, 600);    //X-Achse auf 180 begrenzt, da der Servo auch nur
                     //bis 180° begrenzt ist.
  background(0);
  stroke(255);
  line(300, 300, 600, 300);
 
  frameRate(2000);
 
  for(int i=299;i<301;i++){
    point(299,i);
    point(i,299);
  }
  for(int i=299;i<302;i++){
    point(i,301);
    point(301,i);
  }
  for(int i=299;i<303;i++){
    point(i,302);
    point(302,i);
  }
 
 
}
 
void draw () {
  float[] data=readLineFromSerial(myPort);
 
  if (data.length>0) {
    println( "\ngot fresh data!");
    }
 
    for(int i=0;i<data.length;i++){
 
      if(starten==true){
        if(xPunkt!=0 && yPunkt!=0){
          line(xPunkt, yPunkt, ((cos(radians(winkel))*((100+data[i])-35))*10)+300, ((sin(radians(winkel))*((100+data[i])-35))*10)+300);
        }
        print(data[i]);
        print("\t");
        point(((cos(radians(winkel))*((100+data[i])-35))*10)+300,((sin(radians(winkel))*((100+data[i])-35))*10)+300);
        xPunkt=((cos(radians(winkel))*((100+data[i])-35))*10)+300;
        yPunkt=((sin(radians(winkel))*((100+data[i])-35))*10)+300;
 
 
        if(nachRechts==true && wertezaehler%4==0){
          winkel=winkel+0.9;
        }
        else if(nachRechts==false && wertezaehler%4==0){
          winkel=winkel-0.9;
        }
        if(winkel==360){
          nachRechts=false;
        }
        if(winkel==0){
          nachRechts=true;
        }
      }
      wertezaehler++;
    if(data[i]==start){
      starten=true;
    }
    }
  }
 
 
float[] readLineFromSerial(Serial  port) {
  byte temp[] = port.readBytesUntil('\n');
 
  if (temp == null) {
    return new float[0];
  }   
  else {
    String inBuffer= new String(temp);
    inBuffer=trim(inBuffer);
    println(inBuffer);
    float[] numbers=float(split(inBuffer, "\t"));
    return  numbers;
  }
}
projektews2013/wwsr/start/wlangraph.txt · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)