Paso 6: Calcular la inclinación y mostrar
Ángulo de inclinación se calcula en base a las mediciones de aceleración a lo largo de X y Z ejes.
De la figura anterior, podemos ver ese ángulo se calcula como tan inversa de (-Ax Az).
Hay una función en python llamado atan2 que toma dos argumentos y da ángulo entre - pi y radianes pi basados en el signo y la relación de los argumentos. A continuación es un fragmento de código muestra la implementación de cálculo del ángulo.
Tenga en cuenta que el signo de Ax y Az se invierte desde el que se muestra en la
figura. Esto es intencional. Es necesario porque cuando el acelerómetro está montado sobre tablero de Edison como se describió anteriormente, la delantera de la Junta de acelerómetro que tiene el chip adxl335, hacia abajo en la figura, he hecho los cálculos suponiendo que esté orientada hacia arriba. No me daba cuenta esto hasta que había montado todo y luego probándolo. Pido disculpas si esto crea cierta confusión a raíz de mi supervisión.
Pantalla
Para visualización en vivo de ángulo de inclinación, vamos a usar PyQtGraph módulo. Aquí está una descripción de alto nivel del funcionamiento de la pieza de la exhibición:
1) se inicializan área de terreno, ejes etc.
2) una función update() llama es llama de forma recursiva cada 50 milisegundos que comienza un socket de cliente, obtiene datos de acelerómetro de servidor, procesa para calcular ángulo, muestra en el gráfico y se cierra el socket. Esto sucede periódicamente cada 50ms usando un contador de tiempo (llamado QTimer).
Para información más detallada sobre el software, consulte la plena aplicación de los programas cliente y servidor que he subido en el paso siguiente.