by errieyz » Thu Jun 14, 2012 10:53 am
1 of the way I used milis() to sample time..this my code
const int analogInPin = A8;
int gout;
float ang_rate;
float gzero = 280;
float sensativity = 0.002;
long abs_ang = 0;
float prev_time = 0.0;
float timer;
float delta_time;
void setup()
{
Serial.begin(9600);
analogReference(EXTERNAL);
//gzero = ((1023/5)*1.36);
}
void loop()
{
timer = millis();
gout = analogRead(analogInPin);
ang_rate = ((gout-gzero)/sensativity);
delta_time = (timer-prev_time)/1000;
abs_ang = ((long)(abs_ang + (ang_rate*delta_time)));
Serial.println(abs_ang);
prev_time = timer;
}