Paso 3: Software
El código de procesamiento:
Import processing.serial.*;
Import cc.arduino.*;
Arduino arduino;
int ledPin = 13;
Float valor = 0;
int first_try = 1;
Stf de cadena = "";
void setup()
{
Size(400,400);
println(Arduino.List());
Arduino = nuevo Arduino (esto, Arduino.list()[1]);
arduino.pinMode (ledPin, Arduino.OUTPUT);
frameRate(60);
Delay(500);
}
flotador de sens = 0.512;
desplazamiento del flotador = 316;
flotador cuenta = 0;
valor de flotador = 0;
flotador de aux1 = 0, aux2 = 0;
int [] contador = {}
0,0,0};
flotador first_time, tiempo;
flotador de teta = 0;
void draw() {}
Background(150);
Fill(250,250,250);
Arc(200,200,100,100,0,TWO_PI);
{if(first_try==1)}
demora para la inicialización de arduino
Delay(2000);
first_try = 0;
}
Si (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);
}
//####################################################################//
// //
Giro / /
Escala Factor de 2.5mV / / s = 0,512 puntos / / s / /
Compensar 316 cuenta = 1562mV = 1.562V / /
ADC 4.88 mV/cuenta / / 0.2048 cuenta/mV / /
// //
//####################################################################//
cuenta = 0;
para (int i = 0; i < 20; i ++) {}
cuenta = cuenta + arduino.analogRead(0);
}
Count = count 20;
valor = (cuenta - offset) / sens;
tiempo = millis ()-first_time;
first_time=Millis();
Teta teta = valor * tiempo/1000;
Si (teta > -1 & & teta < 1) teta = 0; evitar el error de deriva
PFont fuente;
Font = loadFont("EngraversMT-48.vlw");
STF = str(teta);
textFont(font);
Text(STF,150,270,200,200);
println ("teta:"+ teta +"count:"+ count +"tiempo:"+ hora +"valor:" + valor);
line(200,200,50*cos(radians(Teta+270))+200,50*sin(radians(Teta+270))+200);
}