Stap 3: Software
De verwerking code:
importeren van processing.serial.*;
importeren van cc.arduino.*;
Arduino arduino;
int ledPin = 13;
zweven waarde = 0;
int first_try = 1;
Stf string = "";
VOID Setup
{
size(400,400);
println(Arduino.List());
Arduino = nieuwe Arduino (dit, Arduino.list()[1]);
arduino.pinMode (ledPin, Arduino.OUTPUT);
frameRate(60);
delay(500);
}
zweven sens = 0.512;
float offset = 316;
zweven graaf = 0;
float valor = 0;
zweven aux1 = 0, aux2 = 0;
int [] contador = {}
0,0,0};
first_time, zweven tijd;
zweven teta = 0;
VOID draw() {}
Background(150);
Fill(250,250,250);
Arc(200,200,100,100,0,TWO_PI);
if(first_try==1) {}
vertraging voor arduino initialisatie
delay(2000);
first_try = 0;
}
Als (mousePressed == true) {}
Fill(255,0,0);
AUX1 = 0;
AUX2 = 0;
Contador [0] = 0;
Contador [1] = 0;
Contador [2] = 0;
TETA = 0;
arduino.digitalWrite (ledPin, Arduino.HIGH);
}
else {}
Fill(0,0,0);
arduino.digitalWrite (ledPin, Arduino.LOW);
}
//####################################################################//
// //
Gyro / /
Schaal Factor 2.5mV / / s = 0.512 graven / /s / /
Compenseren van 316 graven = 1562mV = 1.562V / /
ADC 4.88 mV/graaf / / 0.2048 graaf/mV / /
// //
//####################################################################//
Graaf = 0;
for (int i = 0; ik < 20; i ++) {}
count = count + arduino.analogRead(0);
}
Count = aantal /20;
Valor = (rekenen - gecompenseerd) / sens;
tijd = millis ()-first_time;
first_time=Millis();
TETA = teta + valor * tijd/1000;
Als (teta > -1 & & teta < 1) teta = 0; drift fout voorkomen
PFont lettertype;
lettertype = loadFont("EngraversMT-48.vlw");
stf = str(teta);
textFont(font);
Text(STF,150,270,200,200);
println ("teta:"+ teta +"count:"+ graaf +"tijd:"+"tijd + valor:" + valor);
line(200,200,50*cos(radians(TETA+270))+200,50*Sin(radians(TETA+270))+200);
}