Paso 3: programación
Usted también necesitará agregar la biblioteca de acelerómetro. Si no se ha añadido una biblioteca antes de crear una carpeta llamada "bibliotecas" en su carpeta de sketch de Arduino y luego colocar la carpeta acelerómetro dentro de la carpeta de bibliotecas adjunto en la nueva carpeta "libraries".
total_points - controla el número de puntos de datos grabados
const unsigned loop_time largo - controles cuánto datos registran ej. 5 corresponde a 5ms.
En orden para el programa trabajar correctamente la AcceleroMMA7361 biblioteca debe agregarse a la carpeta de Arduino la biblioteca y el programa reiniciadas.
El número máximo de puntos de datos que pueden recopilarse en el Arduino SRAM es de 700. Puntos de datos adicionales se pueden recoger con una tarjeta SD o un almacenamiento adicional.
El factor de escala para los valores encontrados "x" es: ((x/100)-1) / aceleración debido a la gravedad). Aceleración de gravedad es igual a aproximadamente 9,8. Los valores de escalados están en unidades de m/s ^ 2.
Para cambiar la frecuencia con puntos se recogen los datos abren el archivo de programa y cambian el loop_time entero constante el tiempo que desee. Este número está en milisegundos.
Los LEDs correspondan a cada uno de los botones y la siguiente acción. El botón más alejado el acelerómetro enciende el LED verde y los valores de registros. El LED se apagará al pulsar otra vez y valores dejarán de ser recogidos. El LED rojo se corresponde con el botón más cercano al acelerómetro y se enciende cuando los valores están siendo transmitidos en el monitor serie.
El LED rojo parpadeará dos veces al principio para indicar que ha completado la puesta en marcha lazo y calibración y datos ahora ahora pueden ser recopilados.
El código más básico para esto para asegurarse de que todo funciona es:
Cuando descansaban sobre algo del eje Z debe leer aproximadamente 1 y el eje X y Y 0 cada uno.
AcceleroMMA7361 accelero;
int x;
int y;
int z;
void setup()
{
Serial.Begin(9600);
Accelero.Begin (13, 11, 12, 10, A0, A1, A2);
accelero.setARefVoltage(5); establece la tensión AREF a 3.3V
accelero.setSensitivity(LOW); fija la sensibilidad de +/-6G
Accelero.Calibrate();
}
void loop()
{
x = accelero.getXAccel();
y = accelero.getYAccel();
z = accelero.getZAccel();
Serial.Print ("\nx:");
Serial.Print(x);
Serial.Print ("\ty:");
Serial.Print(y);
Serial.Print ("\tz:");
Serial.Print(z);
Serial.Print("\tG*10^-2");
Delay(500); que sea legible
}