Paso 9: Enviar toque eventos el teléfono a través de Bluetooth
Cómo dar un nombre descriptivo para el módulo de Bluetooth:
- Sube imágenes de sketch de "Bluetooth_cmd" en el micro de Arduino.
- Abra a Serial Monitor de Arduino (cmd-maj-M o herramientas -> SerialMonitor).
- Verificar que los parámetros del Monitor Serial son:
- Nueva línea
- velocidad en baudios: 115200
- entrar en "D" y pulse Enviar Tecla para conseguir los "ajustes básicos" de su módulo bluetooth. El resultado debería ser como en la captura de pantalla "1 - cmd D".
- Escriba "SN, el nuevo nombre del dispositivo" y pulsa el botón de enviar para establecer el nombre de su módulo. En la imagen "2 - SN cmd" cambié nombre del módulo de mi bluetooth como "Toque de gravedad".
- Escriba el comando "D" nuevamente para ver que el pf de nombre el módulo cambiado.
Se puede jugar con el comando aparece en el Apéndice B de la hoja de datos del módulo. Cuando estés listo para ir con tu módulo, enviar el comando de reinicio del sistema: "R 1".
Vamos a probar la comunicación bluetooth entre tu teléfono Android y el guante.
- Descargar el archivo "Gravity_Touch_Bluetooth.zip" en su computadora, descomprimirlo y subir el código de tu Arduino.
- Instalar el archivo "GravityTouchTest.apk" en tu teléfono Android o descargándolo directamente desde la web en su teléfono o bien descargando en su PC y luego subirla en tu teléfono Android.
Activar el bluetooth en su teléfono y lanzar la aplicación de la "Prueba de toque de gravedad" (Asegúrese de que el Arduino es alimentado antes de lanzar la aplicación). El LED verde del módulo Bluetooth debe girar verde que significa que la conexión entre el teléfono y el guante es de. Si todo funcionaba bien debe ver los cubos de giro verde en la pantalla al pulsar sobre el correspondiente dedo de guante.
Os adjunto el código de java que escribí para el la comunicación bluetooth de lado de Android. Este código está compuesto por tres archivos: MainActivity.java, GloveTouchThread.java y BluetoothNoSupportedDialod.java. No examinar aquí este código, debe ser bastante autoexplicativo si eres un desarrollador de Android. Nota: En este proyecto utilicé Bluetooth estándar que es más difícil de jugar con respecto a la nueva LE de Bluetooth (bajo consumo). Ver aquí para el nuevo gasoducto simplificado manejar la comunicación entre Android y Bluetooth LE.
En este punto, el guante envía toques y captura información de orientación y el teléfono. Como dije en la introducción, el objetivo del guante táctil de gravedad debe ser un dispositivo de entrada para los juegos de VR o AR. Así que lo que tenemos que hacer luego es adelante ésos información del motor Unity3D. ¿Por qué Unity3D? Bueno, porque es la herramienta de elección cuando se trata de desarrollo de juegos 3D en el móvil.