Paso 5: Programación en Java
Para recibir los datos en serie de un Arduino en Java, necesita la biblioteca RXTX, que está disponible aquí: http://fizzed.com/oss/rxtx-for-java - instrucciones de instalación están en el archivo comprimido zip.
Normalmente, sin controlador, tendría que utilizar el teclado y el mouse para jugar. En Java existe una clase llamada "Robot" que se hace para imitar las pulsaciones de teclado y ratón.
API Java para clase de Robot: https://docs.oracle.com/javase/7/docs/api/java/awt...
He añadido el código fuente de Java con los comentarios, pero voy a escribir sobre ella aquí también.
En primer lugar, abrimos el puerto serie con el nombre (si no es COM3, cambiarlo al puerto de arduino) y los datos (9600 baudios, paridad, datos y stop bits..). Puede descargar el esqueleto desde aquí: http://playground.arduino.cc/Interfacing/Java
En la función SerialEvent puede acceder a la entrada del búfer (la línea creada en el bucle de arduino) con la entrada. Llamada a la función ReadLine().
Entonces, pasará la cadena a la función de la guitarra, en el que voy a hacer los pasos para crear las pulsaciones de teclado.
La cadena se divide en una matriz de enteros, porque es más fácil de comprobar los valores en. La indexación de direcciones es la misma que en el Arduino.
Si el primer elemento de la matriz es uno, eso significa que se presiona el primer botón de traste, y tenemos imitar a alguien presiona la tecla '1' en el teclado. Es por eso que tenemos la llamada de robot.keyPress(KeyEvent.VK_1); .
Si se presionó, pero es lanzado ahora, tenemos que soltar la tecla, así como con la llamada de función: robot.keyRelease(KeyEvent.VK_1);
Si se pulsa el segundo botón de traste, llamaremos a la robot.keyPress de la tecla '2' y así sucesivamente y así sucesivamente.
Tuve que hacerlo para cada botón de traste, escape, y poder y el rasgueo para arriba y abajo. Para los trastes, se presionan las teclas '1' a '5' correspondiente al índice del traste en el cuello. Para el rasgueo se presionan las flechas arriba y abajo, para el escape, presiona escape y de estrella, la clave del poder '.
Cuando se activa el whammy, llama a la función de golpe, que crea un nuevo hilo moviendo el ratón en el eje X, porque se puede establecer en el juego para activar el golpe con el ratón. Cuando se mueve, oscila, por lo que es no sólo binario 1 o 0 para el trémolo. Con un nuevo hilo iniciado, usted puede ir por presionando otras teclas y a la guitarra, no habrá ningún problema. Y también si lanzáis el golpe varias veces, se inician varios subprocesos y el ratón va hacia adelante y hacia atrás. Creo que es una buena solución para el problema.
La comunicación se inicia después de enviar un '1' para Arduino en la función principal en la parte inferior.
Si probarlo, al presionar los botones de traste, es la misma que cuando pulse las teclas correspondientes del teclado.
Vamos a ponerlo en el juego!