Paso 11: Software de Arduino Teensy
Ya he hablado de las especificaciones de gran hardware de la placa Teensy. Pero combinado con el entorno de software de Arduino, el Teensy también ofrece unas grandes posibilidades. Pero primero vamos a instalar el enchufe-en
Ahora debería ver una categoría "Teensy" cuando usted elige su Junta Directiva. Y si lo seleccione, tendrá acceso a varias opciones como el "USB Serial tipo" para transformar al instante tu tabla en un teclado USB o un ratón (algunas posibilidades se pueden encontrar en Arduino Leonardo). El tipo de comunicación USB es una "velocidad completa" que significa que puede comunicarse a 12Mb/s. También puede cambiar la velocidad de la Junta (en este proyecto utilicé el overclock en 92Mhz).
Por ahora, todos mis códigos de Arduino UNO se han construido con éxito en el Teensy que significa la adaptación entre el brazo Cortex M4 y el AVR Atmega328 se han hecho muy bien. He intentado escribir el código para que sea comprensible. Esta es la estructura del bucle principal:
- Para lazo de 0 al número de LED
-Encender un LED (como los LEDs están conectados con el ánodo en VCC y el cátodo en el PIN, tienes que dar un estado bajo para activar)
-ClearCCD(), el sensor tiene que ser limpiado una vez antes de leer el valor... No sé por qué. Si alguien tiene una idea de cómo podría acelerar esta parte, te lo agradeceria mucho.
-readCCD(), lee el sensor, si un valor está por encima de la calibración se almacena y la función devuelve 1. Si algo se han detectado, el flag_detect se establece en 1.
-Apagar el LED (alto estado de apagado en esta configuración)
- Si algo se ha detectado, luego el flag_detect se establece en 1 y entrar en la función si. Se puede escoger su calibración entre los siguientes:
-OPCIÓN 1; Envíe el monitor serie.
Depuración básica: esta opción le permite leer los 16 grupos directamente en el monitor serie.
-OPCIÓN 2; calcular la posición + enviar Serial monitor
Posición de depuración: Envíe las coordenadas X e Y en el monitor serial
-OPCIÓN 3; enviar procesamiento de interfaz
Depuración visual: ver los resultados del CCD en una GUI de procesamiento. La interfaz va a tener que adaptarse a la cantidad de LED (por defecto 16).
-OPCIÓN 4; calcular la posición + enviar a interfaz de Pi de Python
Enviar la posición a la interfaz de PyQT
-OPCIÓN 5; calcular la posición + enviar ratón (sólo en Teensy)
Enviar la posición como una interfaz de ratón USB. Para utilizar esta opción tendrás que ir a "Herramientas" -> "USB tipo" -> "Teclado + ratón + Joystick". (Véase la advertencia en la parte inferior de este paso)
-OPCIÓN 6; calcular la posición + enviar teclado (sólo en Teensy)
Enviar la posición como una interfaz de teclado USB. Para utilizar esta opción tendrás que ir a "Herramientas" -> "USB tipo" -> "Teclado + ratón + Joystick".
-OPCIÓN 7; Apuntar y hacer clic. Igual que el ratón haga clic pero en lugar de seguir la posición de
- Finalmente puede Agregar un retraso a finales del loop(). Dependiendo de la velocidad que necesita
ADVERTENCIA: OPCIÓN 5 utiliza el comando mouse.mouveTo (X, Y) que no funciona en una estación de Linux. Si quieres hacer la misma configuración que yo con un Pi de frambuesa Linux vas a tener que usar el Feo HACK hecho por Paul Stoffregen que parece ser uno de los desarrolladores del proyecto Teensy. Él es realmente bueno y ayuda mucho con depuración si usted tiene alguna pregunta. ¡ Gracias Pablo!
Para este hack, debe modificar una parte de la usb_desc.c de nombre de archivo debe instalarse en la carpeta de Arduino. La nueva configuración dada por Paul es algo diferente pero hace le el trabajo! Entonces, la función mouse.move() no funciona ya.