Paso 7: Programa de computadora: codificación de la conexión en serie.
Para ello tenemos que descargar la biblioteca RXTX de: http://rxtx.qbang.org/wiki/index.php/DownloadColoque el rxtxSerial.dll y el RXTXcomm.jar en la carpeta del proyecto y añadir a la ruta de construcción en proyecto > Propiedades > Java Build Path.
A continuación vamos a crear un subproceso independiente que pondremos en la parte inferior de la función createAndShowGUI():
Thread t=new Thread() { public void run() { //Attempt to initialize the serial connection while(!gui.initialize()) { System.out.print("Waiting one second..."); try {Thread.sleep(1000);} catch (InterruptedException ie) {} } //Send data every 100ms while(true) { gui.sendData(); try {Thread.sleep(100);} catch (InterruptedException ie) {} } } }; t.start(); System.out.println("Started");
La función sendData() es como sigue:
public void sendData(){ try { //If forward key is pressed send forward etc... if(frontKeyPressed){ output.write(FORWARD); } else if(backKeyPressed){ output.write(BACKWARD); } else { output.write(STOP); } if(leftKeyPressed){ //If both left and right are pressed the car will go straight if(rightKeyPressed) output.write(STRAIGHT); else output.write(LEFT); } else if (rightKeyPressed){ output.write(RIGHT); } else { output.write(STRAIGHT); } } catch(Exception e) { e.printStackTrace(); } }
Descargar el archivo de clase completa aquí: https://dl.dropboxusercontent.com/u/63127140/GUI.j...