Stap 7: Computerprogramma: codering van de seriële aansluiting.
Daartoe moeten we de bibliotheek voor RXTX downloaden: http://rxtx.qbang.org/wiki/index.php/Downloadde rxtxSerial.dll en de RXTXcomm.jar in de projectmap plaatsen en toevoegen aan het bouwpad in Project > Eigenschappen > Java bouwen pad.
Daarna maken we een aparte thread die we aan de onderkant van de functie createAndShowGUI() zetten:
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");
De sendData() functie is als volgt:
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(); } }
Download de volledige klasse file hier: https://dl.dropboxusercontent.com/u/63127140/GUI.j...