martes, 29 de noviembre de 2011

JAVA Y ARDUINO

PASO 1: Ejecuta el programa arduino.
Paso 2: ya con el arduino ejecutándose, ejecuta el programa Main.java
el resultado se imprime en la tela del programa java:



el Programa usado en arduino envia una frase y java lo lee y lo imprime.
java tambien le envia un caracter: 8, arduino lo recibe y se lo vuelve a enviar.
programa Arduino:
////////////////////////////////////////////////////////
///////////////////////////////////////////////////////


int incomingByte = 0;
void setup(){
  Serial.begin(9600);
}

void loop(){
  Serial.println("Is there anybody out there? \n");
  delay(1000);
  if (Serial.available() > 0)

   {
// read the incoming byte:
incomingByte = Serial.read();
     
// say what you got:
Serial.print("arduino recibe: ");
Serial.println(incomingByte, DEC);
}}


/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////

/*Programa en: */ JAVA usado para leer escribir en el arduino


package serialtalk;

import gnu.io.CommPortIdentifier;
import gnu.io.NoSuchPortException;
import gnu.io.SerialPort;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;




public class Main {
    static InputStream serialInt;
    static OutputStream serialOut;
 
 
 
    public static void main(String[] args) throws Exception{
     
 
    try {
CommPortIdentifier portId = null;
try {
portId = CommPortIdentifier.getPortIdentifier("COM3");
} catch (NoSuchPortException npe) {

}
SerialPort port = (SerialPort)portId.open("Título comunicação serial", 9600);
serialOut = port.getOutputStream();
serialInt = port.getInputStream();
port.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);


/*  */

while(true){
   serialOut.write(8);
           while(serialInt.available()>0) {
               System.out.print((char)(serialInt.read()));
           }
       }

/**/
   

} catch (Exception e) {
e.printStackTrace();
}
}

public void close(){
try {
serialOut.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

public void enviaDados(char opcao){
try {
serialOut.write(opcao);
} catch (IOException e) {
e.printStackTrace();
}
}

   
     
    }


2 comentarios: