Paso 4: Control de inclinación de Arduino
1. inclina el acelerómetro Arduino envía los datos a Python en el PC
2. Python mueve el ratón de
3. Google Earth funciona el simulador de vuelo según la posición del ratón
Empezaremos por conseguir el Arduino para detectar la inclinación del acelerómetro y enviar los datos por el puerto serie (por USB) al PC.
El código completo se muestra en el Siguiente paso. Por ahora vamos a ver las principales ideas que hacen que el código de trabajo.
1.
Al comienzo del código tenemos que establecer lo que las lecturas del acelerómetro corresponden al nivel. Tenemos que hacer esto así que lo sabremos cuando el aparato ha sido inclinado a nivel.
Escribimos una función llamada average() usando un bucle for para medir los datos relevantes de la espiga y promedio como sigue:
Obtener el promedio de 8 lecturas de 'pin'
int media (int pin) {}
int Ave = 0;
para (int i = 0; i < 8; i ++) {}
Ave Ave = analogRead(pin);
}
volver Ave/8;
}
Que llamamos average() para x, y y z medidas de eje durante la sección setup() se ejecuta una vez, al principio del programa.
2.
Establecemos que el aparato está inclinado por una simple sustracción como sigue:
xTilt = analogRead (xpin)-xAve;
3.
Tenemos que comunicar el estado del interruptor pulsador a Python lo que puede el control del ratón adquisición cuando presiona y renunciar a él cuando vuelva a presionar.
Para hacer esto que tenemos que activar un Pullup en swpin en la sección setup() :
digitalWrite (swpin, HIGH); Activar subida en Pin Switch
y leer el pin en la sección loop():
swState = digitalRead(swpin); swState = 0 cuando presiona
4.
Nos comunicamos con Python en el PC mediante la conexión USB Serial escribiendo un formato determinado de la cadena:
"Datos, xTilt, yTilt, zTilt, swState\n"
que es una cadena a partir de "Datos", los valores de inclinación separados por comas, el interruptor de estado y un carácter de nueva línea.
Así que si la xTilt yTilt, zTilt y swState donde 2, 5, -1 y 0 respectivamente la cadena enviada sería:
"Datos, 2, 5, -1, 0\n"
Como todos los datos sale por el puerto Serial puede utilizar al Serial Monitor < Ctrl + Mayús + M > para verlo.
5.
Vaya al Paso siguiente, copie el código en un boceto en blanco y subir a Arduino.