Primero un poco de información básica:
Giroscopios medir el movimiento de rotación en grados por segundo. No directamente le dirán información sobre tilt, movimiento sólo alrededor de un eje. Aceleración medida de acelerómetros , fácilmente puede utilizar esta información para calcular la inclinación de un objeto por sustracción de los datos del acelerómetro actual de un valor que usted sepa que para ser cero inclinación.
Para este proyecto usé 5 grados de libertad IDG500/ADXL335 board de Sparkfun. Me gusta este foro porque imprime los datos de acelerómetro y giroscopio como 5 tensiones analógicas que se pueden leer fácilmente con cinco pines de entrada analógicas de Arduino. Algunos acelerómetros y giroscopios de salida digitalmente datos mediante la codificación en un ancho de pulso había modulado señal (PWM). Si usted es corto en los pines de entrada analógicos en el Arduino, puede ser una buena idea usar uno de estos chips digitales, pero los chips analógicos son agradables porque requieren un esfuerzo mínimo para conseguir trabajo.
Lista de partes:
IMU analógico Combo Board - 5 grados de libertad IDG500/ADXL335 Sparkfun SEN-11072
Arduino Uno Sparkfun DEV-11021
Jefe masculino pernos Sparkfun PRT-00116
alambre calibre 22
protoboard
Pasos:
La soldadura de pernos de cabecera a la Junta de acelerómetro/giroscopio. En un protoboard Conecte Arduino 5V al pin de "RAW", Arduino a tierra, luego conectar la clavija con la etiqueta X-Acc a A0, Y-Acc a A1 y A2 Z-Acc
El código siguiente muestra la aceleración X, Y y Z para la placa en el serial monitor (ctrl o Comando + Mayús + M). He intentado centrar los valores alrededor de un punto cero introduciendo la variable "cero" en mi código y luego restando todos mis datos entrantes de este número. De esta manera cuando la Junta se celebra paralela a la tierra, la aceleración X y Y ambos Lee 0. Cuando la Junta se inclina x positivo mostrará un número positivo, y cuando se inclina para X negativo se mostrará un número negativo (lo mismo va para Y). Este código de acelerómetro le permite determinar la orientación de la placa en el espacio 3D.
//Analog Accerometer w Serial //by Amanda Ghassaei
A veces puede que desee utilizar un giroscopio para obtener información rotacional sobre su placa, que no puede calcularse con un acelerómetro. En un protoboard conectar la clavija etiquetada Vref a A0, yRate a1, xRate a2, y4.5 a A3 y x4.5 a A4.
Usted se estará preguntando sobre la diferencia entre el X / YRate y X Y4.5 salidas. Giroscopios miden grados por segundo, este giroscopio salidas una tensión basada en los grados de movimiento por segundo, así que podemos decir que es salida voltios por grados por segundo (V ° s). De la hoja de datos del giroscopio podemos ver que el X / YRate es salida de datos con 2.0mV/°/s sensibilidad y el X / Y4.5 es salida de datos con cerca de 4.5 veces la sensibilidad, o 9.1mV/°/s.
Añadir el siguiente código para mostrar la salida de cada uno de estos (fig 6).
//Analog Gyro w Serial //by Amanda Ghassaei
Quería a cero este código como lo hice con el anterior código de acelerómetro. Yo estaba esperando los resultados de x e y giro para igualar la salida de Vref mientras el dispositivo se mantiene inmóvil, pero como se aprecia en la figura 6, esto no es el caso (si alguien tiene una explicación para esto me encantaría oírla!). Puesto que Vref no era una referencia de Dios para mí a cero mi salida, usé algunos valores preestablecidos basados en los datos de la figura 6, puede encontrarlos en mi impresión declaraciones en el código siguiente. También quité el monitoreo de Vref, puesto que parecía ser estable sin importar cuánto me mudé el dispositivo, esto también me salvó un pin de entrada analógico en el Arduino.
//Analog Gyro w Serial //by Amanda Ghassaei
Los resultados de este código se muestran en la figura 7. Rotación alrededor del x y y hachas cambiará los valores de xRate, x4.5, yRate y y4.5.
Usé este acelerómetro/giroscopio en un controlador de MIDI basada en Arduino que he estado trabajando. A continuación es el código para las dos aplicaciones que hizo una demostración en el video en la parte superior de este instructable. Había conectado los tres ejes de acelerómetro y las salidas de dos 4.5gyro para este proyecto.
píxel se mueve, disparo MIDI (sólo utiliza x e y acelerómetro):
//accelerometer test- single pixel //by Amanda Ghassaei 2012
cuatro pixeles rebote (sólo utiliza x acelerómetro, aplicaciones x giro para borrar píxeles):
//accelerometer test- bounce //by Amanda Ghassaei 2012