Paso 4: Prueba del acelerómetro
Ahora, la parte más difícil, prueba del acelerómetro. Esta fue la primera vez que trabajábamos con acelerómetros por lo tanto, que la enorme cantidad de tiempo pasado experimentando y tratando de entender los valores.Encontramos un sitio que nos proporciona una comprensión básica de acelerómetros, así como un gran código.
http://bildr.org/2011/04/Sensing-Orientation-with-the-adxl335-Arduino/
Este es el código que proporcionaban y que estamos acostumbrados.
=================================================
//////////////////////////////////////////////////////////////////
© 2011 bildr
Publicado bajo la licencia MIT - por favor cambio de reutilizar y compartir
Simple código para ADXL335, imprime orientación calculada vía serie
//////////////////////////////////////////////////////////////////
Análogo Lee pins
const int xPin = 0;
const int yPin = 1;
const int zPin = 2;
Los valores mínimos y máximos de
el acelerómetro mientras parado
Muy bien puede que necesite cambiar estas
minVal int = 265;
int maxVal = 402;
para mantener los valores caculated
x doble;
y doble;
z doble;
void setup() {}
Serial.Begin(9600);
}
void loop() {}
leer los valores analógicos en el acelerómetro
int xRead = analogRead(xPin);
yRead int = analogRead(yPin);
int zRead = analogRead(zPin);
convertir Lee valores a grados -90 90 - para atan2
xAng int = mapa (xRead, minVal, maxVal, -90, 90);
int yAng = mapa (yRead, minVal, maxVal, -90, 90);
zAng int = mapa (zRead, minVal, maxVal, -90, 90);
Caculate 360deg valores así: atan2 (-yAng, - zAng)
ATAN2 salidas el valor de - π a π (radianes)
Nosotros estamos entonces convertir los radianes a grados
x = RAD_TO_DEG * (atan2 (-yAng, - zAng) + PI);
y = RAD_TO_DEG * (atan2 (-xAng, - zAng) + PI);
z = RAD_TO_DEG * (atan2 (-yAng, - xAng) + PI);
Los cáculos de salida
Serial.Print ("x:");
Serial.Print(x);
Serial.Print("| y: ");
Serial.Print(y);
Serial.Print("| z: ");
Serial.println(z);
Delay (100); //just aquí a lenta la salida serial – más fácil de leer
=======================================================